今天EBS R12.1.3的11gR2数据库正式迁移至Exadata X8m,数据库采用XTTS跨平台升级迁移EBS数据库,
同事在执行到aumsc1.dat导入杂项时,报:
ORA-39001 invalid argument value和ORA-39041 Filter "EXCLUDE" either identifies all object types or no object type
在查询metalink,找到有两个方向,一是未发布bug,二是无效对象.
因为前面的测试演练过种,同事确认此步未发生报错,所以很快将"未发布bug"引起的可能性给否了.
查询当前目标库无效对象,存在无效对象,但目标环境为新手动创建的空库,为什么是存在无效对象呢?
带着疑问,向上查找迁移文件,找着了,同事在得用aucrdb.sql创建空库后,急于备份空库,却忘记先执行catalog.sql和catproc.sql脚本了.
注:通过手工创建数据库,在创建数据库之后执行了脚本catalog.sql和catproc.sql,并utlrp.sql编译无效对象
现将这两个脚本的相关功能记录如下:
$ORACLE_HOME/rdbms/admin/catalog.sql
--Creates data dictionary views
catalog.sql 脚本,在基表和动态性能视图及其同义词上创建视图,它还启动其它脚本创建以下项目的对象
1. 基本 PL/SQL 环境包括 PL/SQL 声明
1) 数据类型
2)预定义异常
3)内置过程和函数
4)SQL 操作
2.审计
3 .导入/导出
4 .SQL*Loader
5 .已安装选项
$ORACLE_HOME/rdbms/admin/catproc.sql
--Run all sql scripts for the procedural option
catproc.sql 脚本建立 PL/SQL 功能的使用此外,它创建几个可用于扩展RDBMS 功能的 PL/SQL 程序包,catproc.sql 脚本还为以下项目创建其它程序包和视图
1 .警报
2 .管道
3 .Logminer
4 .大型对象
5 .对象
6 .高级排队
7 .复制选项
8 .其它内置项目和选项