首页 > 其他分享 >数据泵批量导出导入非系统用户数据

数据泵批量导出导入非系统用户数据

时间:2023-02-19 19:32:33浏览次数:38  
标签:DBMS 导出 RULE SYS 导入 VARCHAR2 OGG 数据 ORA

文档课题:数据泵批量导出导入非系统用户数据.
1、导出
1.1、字符集
SYS@orcl> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
1.2、建目录
[oracle@leo-11g-ogg ~]$ mkdir -p /home/oracle/dpbak/data/
[oracle@leo-11g-ogg ~]$ mkdir -p /home/oracle/dpbak/logs/
[oracle@leo-11g-ogg ~]$ mkdir scripts
SYS@orcl> create directory pump_dir as '/home/oracle/dpbak/data/';

Directory created.

SYS@orcl> create directory pump_log as '/home/oracle/dpbak/logs/';

Directory created.
1.3、编写parfile
[oracle@leo-11g-ogg scripts]$ pwd
/home/oracle/scripts
[oracle@leo-11g-ogg scripts]$ vi expdpfull.par
添加如下:
job_name=jszx_expdp_full_new2
parallel=16
full=y
filesize=20m
dumpfile=pump_dir:mydb_%U.dat
logfile=pump_log:expdp_11g_log.txt
cluster=N
COMPRESSION=ALL
REUSE_DUMPFILES=Y
exclude=statistics
exclude=schema:"in ('SYSTEM','SYSMAN','WMSYS','OUTLN','DIP','ORACLE_OCM','APPQOSSYS','EXFSYS','XDB','ORDSYS','CTXSYS','ORDDATA','ORDPLUGINS','SI_INFORMTN_SCHEMA','MDSYS','OLAPSYS','MDDATA','SPATIAL_WFS_ADMIN_USR','SPATIAL_CSW_ADMIN_USR','FLOWS_FILES','APEX_PUBLIC_USER','APEX_030200','OWBSYS','OWBSYS_AUDIT','ANONYMOUS','XS$NULL')"
注意:此处未排除ogg用户,导出日志未见ogg数据是因为ogg用户下没有数据,但ogg用户的相关定义会被导出,在导入时要特别注意.
[oracle@leo-11g-ogg scripts]$ vi expdpfull.sh
添加如下:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
cd /home/oracle/dpbak/data/
rm /home/oracle/dpbak/data/*
expdp \'/ as sysdba \' parfile=/home/oracle/scripts/expdpfull.par
1.4、导出作业
--执行expdp导出作业.
[oracle@leo-11g-ogg scripts]$ nohup ./expdpfull.sh &
[oracle@leo-11g-ogg scripts]$ tail -5000f nohup.out

Export: Release 11.2.0.4.0 - Production on Thu Dec 22 14:20:45 2022

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting "SYS"."JSZX_EXPDP_FULL_NEW2": "/******** AS SYSDBA" parfile=/home/oracle/scripts/expdpfull.par
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 21.25 MB
. . exported "SCOTT"."DEPT" 5.093 KB 5 rows
. . exported "SCOTT"."EMP" 5.625 KB 14 rows
. . exported "SCOTT"."SALGRADE" 4.882 KB 5 rows
. . exported "SCOTT"."TESTDDL" 5.382 KB 1000 rows
. . exported "SCOTT"."BONUS" 0 KB 0 rows
. . exported "LEO"."TEST" 2.062 MB 182306 rows
Processing object type DATABASE_EXPORT/TABLESPACE
Processing object type DATABASE_EXPORT/PROFILE
Processing object type DATABASE_EXPORT/SYS_USER/USER
Processing object type DATABASE_EXPORT/SCHEMA/USER
Processing object type DATABASE_EXPORT/ROLE
Processing object type DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
Processing object type DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
Processing object type DATABASE_EXPORT/RESOURCE_COST
Processing object type DATABASE_EXPORT/TRUSTED_DB_LINK
Processing object type DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE
Processing object type DATABASE_EXPORT/DIRECTORY/DIRECTORY
Processing object type DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type DATABASE_EXPORT/CONTEXT
Processing object type DATABASE_EXPORT/SCHEMA/SYNONYM
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM
Processing object type DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/PROCACT_INSTANCE
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE
Processing object type DATABASE_EXPORT/SCHEMA/PACKAGE/PACKAGE_SPEC
Processing object type DATABASE_EXPORT/SCHEMA/FUNCTION/FUNCTION
Processing object type DATABASE_EXPORT/SCHEMA/PROCEDURE/PROCEDURE
Processing object type DATABASE_EXPORT/SCHEMA/FUNCTION/ALTER_FUNCTION
Processing object type DATABASE_EXPORT/SCHEMA/PROCEDURE/ALTER_PROCEDURE
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT
Processing object type DATABASE_EXPORT/SCHEMA/PACKAGE_BODIES/PACKAGE/PACKAGE_BODY
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA
Processing object type DATABASE_EXPORT/AUDIT
Master table "SYS"."JSZX_EXPDP_FULL_NEW2" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.JSZX_EXPDP_FULL_NEW2 is:
/home/oracle/dpbak/data/mydb_01.dat
/home/oracle/dpbak/data/mydb_02.dat
/home/oracle/dpbak/data/mydb_03.dat
/home/oracle/dpbak/data/mydb_04.dat
Job "SYS"."JSZX_EXPDP_FULL_NEW2" successfully completed at Thu Dec 22 14:21:26 2022 elapsed 0 00:00:40
2、导入
2.1、目标端字符集
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8
2.2、dmp文件处理
sftp> lcd C:\Users\Administrator\Desktop\impdp
sftp> cd /home/oracle/dpbak/data
sftp> get *
2.3、执行导入
C:\Users\Administrator>impdp system/[email protected]:1521/orcl directory=impdp_dir dumpfile=mydb_01.dat,mydb_02.dat,mydb_03.dat,mydb_04.dat full=y logfile=impdp.log

特别说明:通过上述导出的dmp文件在导入时注意以下,否则会像如下所示告警.
a、导入前设置数据库字符集环境变量.
b、源端导出的用户在目标端要有对应的用户,并且有对应的表空间.

Import: Release 19.0.0.0.0 - Production on 星期四 12月 22 14:59:40 2022
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
已在 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集中完成导入
已在 AL32UTF8 字符集和 UTF8 NCHAR 字符集中完成导出
警告: 字符集转换过程中可能出现数据丢失情况
启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/********@192.168.11.1:1521/orcl directory=impdp_dir dumpfile=mydb_01.dat,mydb_02.dat,mydb_03.dat,mydb_04.dat full=y logfile=impdp.log
处理对象类型 DATABASE_EXPORT/TABLESPACE
ORA-31684: 对象类型 TABLESPACE:"UNDOTBS1" 已存在

ORA-31684: 对象类型 TABLESPACE:"TEMP" 已存在

ORA-31684: 对象类型 TABLESPACE:"USERS" 已存在

ORA-39083: 对象类型 TABLESPACE:"LEO_TS" 创建失败, 出现错误:
ORA-01119: 创建数据库文件 '/u01/app/oracle/oradata/orcl/leo_ts01.dbf' 时出错
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: ???????
O/S-Error: (OS 3) ?????????????????

失败的 sql 为:
CREATE TABLESPACE "LEO_TS" DATAFILE '/u01/app/oracle/oradata/orcl/leo_ts01.dbf' SIZE 104857600 AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO

处理对象类型 DATABASE_EXPORT/PROFILE
处理对象类型 DATABASE_EXPORT/SYS_USER/USER
ORA-31685: 由于权限不足, 对象类型 USER:"SYS" 失败.失败的 sql 为:
ALTER USER "SYS" IDENTIFIED BY VALUES 'S:2EBACCE54EE63069670B582E5EDC5C6A500897138AC895D11DD23BF42611;A586E74A0FA6A0BC' TEMPORARY TABLESPACE "TEMP"

处理对象类型 DATABASE_EXPORT/SCHEMA/USER
ORA-31684: 对象类型 USER:"MGMT_VIEW" 已存在

ORA-39083: 对象类型 USER:"OGG" 创建失败, 出现错误:
ORA-00959: 表空间 'OGG_TBS' 不存在

失败的 sql 为:
CREATE USER "OGG" IDENTIFIED BY VALUES 'S:86AD55F8D7B481B89A327EC59BF8F1F0DBD2158A776AB3DA93A89FA8F43C;9D40CEB03B40836B' DEFAULT TABLESPACE "OGG_TBS" TEMPORARY TABLESPACE "TEMP"

ORA-39083: 对象类型 USER:"LEO" 创建失败, 出现错误:
ORA-00959: 表空间 'LEO_TS' 不存在

失败的 sql 为:
CREATE USER "LEO" IDENTIFIED BY VALUES 'S:C5E059443A8718B6A0D350F9239C490C3336ED960D920BEF6CE3C1E3E27A;17343090FE6942BE' DEFAULT TABLESPACE "LEO_TS" TEMPORARY TABLESPACE "TEMP"

处理对象类型 DATABASE_EXPORT/ROLE
ORA-31684: 对象类型 ROLE:"SELECT_CATALOG_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"EXECUTE_CATALOG_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"DBFS_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"AQ_ADMINISTRATOR_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"AQ_USER_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"ADM_PARALLEL_EXECUTE_TASK" 已存在

ORA-31684: 对象类型 ROLE:"GATHER_SYSTEM_STATISTICS" 已存在

ORA-31684: 对象类型 ROLE:"RECOVERY_CATALOG_OWNER" 已存在

ORA-31684: 对象类型 ROLE:"SCHEDULER_ADMIN" 已存在

ORA-31684: 对象类型 ROLE:"HS_ADMIN_SELECT_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"HS_ADMIN_EXECUTE_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"HS_ADMIN_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"GLOBAL_AQ_USER_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"OEM_ADVISOR" 已存在

ORA-31684: 对象类型 ROLE:"OEM_MONITOR" 已存在

ORA-31684: 对象类型 ROLE:"WM_ADMIN_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"JAVAUSERPRIV" 已存在

ORA-31684: 对象类型 ROLE:"JAVAIDPRIV" 已存在

ORA-31684: 对象类型 ROLE:"JAVASYSPRIV" 已存在

ORA-31684: 对象类型 ROLE:"JAVADEBUGPRIV" 已存在

ORA-31684: 对象类型 ROLE:"EJBCLIENT" 已存在

ORA-31684: 对象类型 ROLE:"JMXSERVER" 已存在

ORA-31684: 对象类型 ROLE:"JAVA_ADMIN" 已存在

ORA-31684: 对象类型 ROLE:"JAVA_DEPLOY" 已存在

ORA-31684: 对象类型 ROLE:"CTXAPP" 已存在

ORA-31684: 对象类型 ROLE:"XDBADMIN" 已存在

ORA-31684: 对象类型 ROLE:"XDB_SET_INVOKER" 已存在

ORA-31684: 对象类型 ROLE:"AUTHENTICATEDUSER" 已存在

ORA-31684: 对象类型 ROLE:"XDB_WEBSERVICES" 已存在

ORA-31684: 对象类型 ROLE:"XDB_WEBSERVICES_WITH_PUBLIC" 已存在

ORA-31684: 对象类型 ROLE:"XDB_WEBSERVICES_OVER_HTTP" 已存在

ORA-31684: 对象类型 ROLE:"ORDADMIN" 已存在

ORA-31684: 对象类型 ROLE:"CWM_USER" 已存在

ORA-31684: 对象类型 ROLE:"SPATIAL_WFS_ADMIN" 已存在

ORA-31684: 对象类型 ROLE:"WFS_USR_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"SPATIAL_CSW_ADMIN" 已存在

ORA-31684: 对象类型 ROLE:"CSW_USR_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"MGMT_USER" 已存在

ORA-31684: 对象类型 ROLE:"APEX_ADMINISTRATOR_ROLE" 已存在

ORA-31684: 对象类型 ROLE:"OWB$CLIENT" 已存在

ORA-31684: 对象类型 ROLE:"OWB_DESIGNCENTER_VIEW" 已存在

ORA-31684: 对象类型 ROLE:"OWB_USER" 已存在

处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE('MANAGE_ANY','"OGG"',TRUE);COMMIT; END;

ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"ALINA"',TRUE);
COMMIT; END;

ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE, '"ALINA"',TRUE);
COMMIT; END;

ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE_SET, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE_SET, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET, '"ALINA"',TRUE);
COMMIT; END;

ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE('MANAGE_ANY','"OGG"',TRUE);COMMIT; END;

ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"ALINA"',TRUE);
COMMIT; END;

ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE, '"ALINA"',TRUE);
COMMIT; END;

ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE_SET, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE_SET, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET, '"ALINA"',TRUE);
COMMIT; END;

ORA-39126: 在 KUPW$WORKER.SEND_TRACE_MSG [KUPW: ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_SET_OBJ, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE_SET, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE_SET, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET, '"ALINA"',TRUE);
COMMIT; END;
] 中 Worker 发生意外致命错误
PROC_SYSTEM_GRANT
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 12620
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 34278

----- PL/SQL Call Stack -----
object line object
handle number name
00007FF97F7656C0 33476 package body SYS.KUPW$WORKER.WRITE_ERROR_INFORMATION
00007FF97F7656C0 12641 package body SYS.KUPW$WORKER.DETERMINE_FATAL_ERROR
00007FF97F7656C0 34341 package body SYS.KUPW$WORKER.SEND_TRACE_MSG
00007FF97F7656C0 28767 package body SYS.KUPW$WORKER.SEND_MSG
00007FF97F7656C0 5418 package body SYS.KUPW$WORKER.LOAD_METADATA
00007FF97F7656C0 13781 package body SYS.KUPW$WORKER.DISPATCH_WORK_ITEMS
00007FF97F7656C0 2429 package body SYS.KUPW$WORKER.MAIN
00007FF97F76B538 2 anonymous block

KUPW: In procedure UPDATE_TYPE_COMPLETION_ROW
KUPW: Old Seqno: 38 New Path: PO Num: -6 New Seqno: 0 error count: 1
KUPW: Primary row is: FALSE
KUPW: Working on old seqno with count of: 5
KUPW: In procedure SEND_MSG. Fatal=0
KUPW: Error count: 4
KUPW: ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE('MANAGE_ANY','"OGG"',TRUE);COMMIT; END;

KUPW: ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ, '"ALINA"',TRUE);
COMMIT; END;

KUPW: ORA-39083: 对象类型 PROC_SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"AQ_ADMINISTRATOR_ROLE"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_RULE_OBJ, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.CREATE_ANY_RULE, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.ALTER_ANY_RULE, '"ALINA"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE, '"OGG"',TRUE);

SYS.DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(SYS.DBMS_RULE_ADM.EXECUTE_ANY_RULE, '"ALINA"',TRUE);
COMMIT; END;

KUPW: In procedure DETERMINE_FATAL_ERROR with ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT SELECT ANY TRANSACTION TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT FLASHBACK ANY TABLE TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT SELECT ANY DICTIONARY TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT DROP ANY DIRECTORY TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT CREATE ANY DIRECTORY TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT CREATE SEQUENCE TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT SELECT ANY TABLE TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT ALTER ANY TABLE TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT CREATE TABLE TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT BECOME USER TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT UNLIMITED TABLESPACE TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT RESTRICTED SESSION TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT ALTER SESSION TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT CREATE SESSION TO "OGG"

ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'LEO' 不存在

失败的 sql 为:
GRANT UNLIMITED TABLESPACE TO "LEO"

处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT "CONNECT" TO "OGG"

ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT "RESOURCE" TO "OGG"

ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT "SELECT_CATALOG_ROLE" TO "OGG"

ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT "DBA" TO "OGG"

ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT "GGS_GGSUSER_ROLE" TO "OGG"

ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'LEO' 不存在

失败的 sql 为:
GRANT "CONNECT" TO "LEO"

ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'LEO' 不存在

失败的 sql 为:
GRANT "RESOURCE" TO "LEO"

处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
ORA-39083: 对象类型 DEFAULT_ROLE:"OGG" 创建失败, 出现错误:
ORA-01918: 用户 'OGG' 不存在

失败的 sql 为:
ALTER USER "OGG" DEFAULT ROLE ALL

ORA-39083: 对象类型 DEFAULT_ROLE:"LEO" 创建失败, 出现错误:
ORA-01918: 用户 'LEO' 不存在

失败的 sql 为:
ALTER USER "LEO" DEFAULT ROLE ALL

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
ORA-39083: 对象类型 TABLESPACE_QUOTA:"LEO" 创建失败, 出现错误:
ORA-01918: 用户 'LEO' 不存在

失败的 sql 为:
DECLARE TEMP_COUNT NUMBER; SQLSTR VARCHAR2(200); BEGIN SQLSTR := 'ALTER USER "LEO" QUOTA UNLIMITED ON "LEO_TS"'; EXECUTE IMMEDIATE SQLSTR;EXCEPTION WHEN OTHERS THEN IF SQLCODE = -30041 THEN SQLSTR := 'SELECT COUNT(*) FROM USER_TABLESPACES WHERE TABLESPACE_NAME = ''LEO_TS'' AND CONTENTS = ''TEMPORARY'''; EXECUTE IMMEDIATE SQLSTR INTO TEMP_COUNT; IF TEMP_COUNT = 1 THEN RETURN; ELSE RAISE; END IF; ELSE RAISE; END IF;END;

处理对象类型 DATABASE_EXPORT/RESOURCE_COST
处理对象类型 DATABASE_EXPORT/TRUSTED_DB_LINK
处理对象类型 DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE
ORA-39083: 对象类型 SEQUENCE:"OGG"."GGS_MARKER_SEQ" 创建失败, 出现错误:
ORA-01917: 用户或角色 '' 不存在

失败的 sql 为:
CREATE SEQUENCE "OGG"."GGS_MARKER_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 4501 CACHE 500 NOORDER CYCLE NOKEEP NOSCALE GLOBAL

ORA-39083: 对象类型 SEQUENCE:"OGG"."GGS_DDL_SEQ" 创建失败, 出现错误:
ORA-01917: 用户或角色 '' 不存在

失败的 sql 为:
CREATE SEQUENCE "OGG"."GGS_DDL_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 4001 CACHE 500 NOORDER CYCLE NOKEEP NOSCALE GLOBAL

处理对象类型 DATABASE_EXPORT/DIRECTORY/DIRECTORY
ORA-31684: 对象类型 DIRECTORY:"DATA_PUMP_DIR" 已存在

ORA-31684: 对象类型 DIRECTORY:"XMLDIR" 已存在

处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
ORA-39083: 对象类型 OBJECT_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT WRITE ON DIRECTORY "GGS_DDL_TRACE" TO "OGG" WITH GRANT OPTION

ORA-39083: 对象类型 OBJECT_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT READ ON DIRECTORY "GGS_DDL_TRACE" TO "OGG" WITH GRANT OPTION

ORA-39083: 对象类型 OBJECT_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
GRANT EXECUTE ON DIRECTORY "GGS_DDL_TRACE" TO "OGG" WITH GRANT OPTION

处理对象类型 DATABASE_EXPORT/CONTEXT
ORA-31684: 对象类型 CONTEXT:"GLOBAL_AQCLNTDB_CTX" 已存在

ORA-31684: 对象类型 CONTEXT:"DBFS_CONTEXT" 已存在

ORA-31684: 对象类型 CONTEXT:"REGISTRY$CTX" 已存在

ORA-31684: 对象类型 CONTEXT:"LT_CTX" 已存在

ORA-31684: 对象类型 CONTEXT:"DR$APPCTX" 已存在

ORA-31684: 对象类型 CONTEXT:"EM_USER_CONTEXT" 已存在

ORA-31684: 对象类型 CONTEXT:"STORAGE_CONTEXT" 已存在

处理对象类型 DATABASE_EXPORT/SCHEMA/SYNONYM
ORA-31684: 对象类型 SYNONYM:"APEX_030200"."OWA_UTIL" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."OWA_COOKIE" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."HTP" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."HTF" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."UTL_ENCODE" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."UTL_FILE" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."UTL_HTTP" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."UTL_RAW" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."UTL_SMTP" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."UTL_URL" 已存在

ORA-31684: 对象类型 SYNONYM:"APEX_030200"."DBA_ARGUMENTS" 已存在

处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM
ORA-39083: 对象类型 PROCACT_SYSTEM 创建失败, 出现错误:
ORA-20000: Incompatible version of Workspace Manager Installed

失败的 sql 为:
BEGIN
declare ver varchar2(100) ; cnt integer ; dummy integer; vdummy varchar2(30) ; compile_exception EXCEPTION; PRAGMA EXCEPTION_INIT(compile_exception, -06550); invalid_table EXCEPTION; PRAGMA EXCEPTION_INIT(invalid_table, -00942); procedure createErrorProc is begin execute immediate 'create or replace function system.wm$_check_install return boolean is begin return true ; end;' ; end ; begin select status into vdummy from dba_registry where comp_id = 'OWM' ; if (vdummy not in ('VALID', 'UPGRADED', 'LOADED')) then raise compile_exception ; end if ; select 1 into dummy from dual where exists (select 1 from all_users where username = 'WMSYS') ; execute immediate 'create or replace function wmsys.wm$_old_version return varchar2 is begin return ''11.2.0.4.0'' ; end;' ; select count(*) into cnt from dba_procedures where object_name='LT_EXPORT_PKG' and procedure_name='IMPORTEXPORTSUPPORT'; if (cnt=0) then raise_application_error(-20000, 'Incompatible version of Workspace Manager Installed'); end if ; execute immediate 'select value from wmsys.wm$env_vars where name=''OWM_VERSION''' into ver ; if (0>0 and ver != '11.2.0.4.0') then raise_application_error(-20000, 'Unable to import due to one or more versioned tables not having a ''VERSIONED'' status'); end if ; execute immediate 'declare cnt integer ; begin select count(*) into cnt from (select workspace from wmsys.wm$version_hierarchy_table where version!=0 union all select table_name from wmsys.wm$versioned_tables) ; if (cnt>0)

ORA-39083: 对象类型 PROCACT_SYSTEM 创建失败, 出现错误:
ORA-20000: Incompatible version of Workspace Manager Installed

失败的 sql 为:
BEGIN
declare ver varchar2(100) ; cnt integer ; dummy integer; vdummy varchar2(30) ; compile_exception EXCEPTION; PRAGMA EXCEPTION_INIT(compile_exception, -06550); invalid_table EXCEPTION; PRAGMA EXCEPTION_INIT(invalid_table, -00942); procedure createErrorProc is begin execute immediate 'create or replace function system.wm$_check_install return boolean is begin return true ; end;' ; end ; begin select status into vdummy from dba_registry where comp_id = 'OWM' ; if (vdummy not in ('VALID', 'UPGRADED', 'LOADED')) then raise compile_exception ; end if ; select 1 into dummy from dual where exists (select 1 from all_users where username = 'WMSYS') ; execute immediate 'create or replace function wmsys.wm$_old_version return varchar2 is begin return ''11.2.0.4.0'' ; end;' ; select count(*) into cnt from dba_procedures where object_name='LT_EXPORT_PKG' and procedure_name='IMPORTEXPORTSUPPORT'; if (cnt=0) then raise_application_error(-20000, 'Incompatible version of Workspace Manager Installed'); end if ; execute immediate 'select value from wmsys.wm$env_vars where name=''OWM_VERSION''' into ver ; if (0>0 and ver != '11.2.0.4.0') then raise_application_error(-20000, 'Unable to import due to one or more versioned tables not having a ''VERSIONED'' status'); end if ; execute immediate 'declare cnt integer ; begin select count(*) into cnt from (select workspace from wmsys.wm$version_hierarchy_table where version!=0 union all select table_name from wmsys.wm$versioned_tables) ; if (cnt>0)

ORA-39126: 在 KUPW$WORKER.SEND_TRACE_MSG [KUPW: ORA-39083: 对象类型 PROCACT_SYSTEM 创建失败, 出现错误:
ORA-20000: Incompatible version of Workspace Manager Installed

失败的 sql 为:
BEGIN
declare ver varchar2(100) ; cnt integer ; dummy integer; vdummy varchar2(30) ; compile_exception EXCEPTION; PRAGMA EXCEPTION_INIT(compile_exception, -06550); invalid_table EXCEPTION; PRAGMA EXCEPTION_INIT(invalid_table, -00942); procedure createErrorProc is begin execute immediate 'create or replace function system.wm$_check_install return boolean is begin return true ; end;' ; end ; begin select status into vdummy from dba_registry where comp_id = 'OWM' ; if (vdummy not in ('VALID', 'UPGRADED', 'LOADED')) then raise compile_exception ; end if ; select 1 into dummy from dual where exists (select 1 from all_users where username = 'WMSYS') ; execute immediate 'create or replace function wmsys.wm$_old_version return varchar2 is begin return ''11.2.0.4.0'' ; end;' ; select count(*) into cnt from dba_procedures where object_name='LT_EXPORT_PKG' and procedure_name='IMPORTEXPORTSUPPORT'; if (cnt=0) then raise_application_error(-20000, 'Incompatible version of Workspace Manager Installed'); end if ; execute immediate 'select value from wmsys.wm$env_vars where name=''OWM_VERSION''' into ver ; if (0>0 and ver != '11.2.0.4.0') then raise_application_error(-20000, 'Unable to import due to one or more versioned tables not having a ''VERSIONED'' status'); end if ; execute immediate 'declare cnt integer ; begin select count(*) into cnt from (select workspace from wmsys.wm$version_hierarchy_table where version!=0 union all select table_name from wmsys.wm$versioned_tables) ; if (cnt>0)
] 中 Worker 发生意外致命错误
PROCACT_SYSTEM
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 12620
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 34278

----- PL/SQL Call Stack -----
object line object
handle number name
00007FF97F7656C0 33476 package body SYS.KUPW$WORKER.WRITE_ERROR_INFORMATION
00007FF97F7656C0 12641 package body SYS.KUPW$WORKER.DETERMINE_FATAL_ERROR
00007FF97F7656C0 34341 package body SYS.KUPW$WORKER.SEND_TRACE_MSG
00007FF97F7656C0 28767 package body SYS.KUPW$WORKER.SEND_MSG
00007FF97F7656C0 5418 package body SYS.KUPW$WORKER.LOAD_METADATA
00007FF97F7656C0 13781 package body SYS.KUPW$WORKER.DISPATCH_WORK_ITEMS
00007FF97F7656C0 2429 package body SYS.KUPW$WORKER.MAIN
00007FF97F76B538 2 anonymous block

DBMS_LOB.TRIM
DBMS_LOB.FREETEMPORARY
DBMS_LOB.FREETEMPORARY
KUPW: In procedure UPDATE_TYPE_COMPLETION_ROW
KUPW: Old Seqno: 108 New Path: PO Num: -6 New Seqno: 0 error count: 1
KUPW: Primary row is: FALSE
KUPW: Working on old seqno with count of: 4
KUPW: In procedure SEND_MSG. Fatal=0
KUPW: Error count: 1
KUPW: In procedure DETERMINE_FATAL_ERROR with ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM
ORA-39083: 对象类型 PROCACT_SYSTEM 创建失败, 出现错误:
ORA-29371: 暂挂区未激活

失败的 sql 为:
BEGIN
dbms_resource_manager.set_consumer_group_mapping_pri(1,7,6,9,8,10,5,4,3,2,11);
dbms_resource_manager.set_consumer_group_mapping('ORACLE_USER','"SYSTEM"','SYS_GROUP');
dbms_resource_manager.set_consumer_group_mapping('ORACLE_USER','"SYS"','SYS_GROUP');
dbms_resource_manager.set_consumer_group_mapping('ORACLE_FUNCTION','"BACKUP"','BATCH_GROUP');
dbms_resource_manager.set_consumer_group_mapping('ORACLE_FUNCTION','"COPY"','BATCH_GROUP');
dbms_resource_manager.set_consumer_group_mapping('ORACLE_FUNCTION','"DATALOAD"','ETL_GROUP');
dbms_resource_manager.submit_pending_area;COMMIT; END;

ORA-39083: 对象类型 PROCACT_SYSTEM 创建失败, 出现错误:
ORA-01917: 用户或角色 'OGG' 不存在

失败的 sql 为:
BEGIN
SYS.DBMS_UTILITY.EXEC_DDL_STATEMENT('GRANT EXECUTE ON DBMS_AQADM TO "OGG"');COMMIT; END;

处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA
ORA-39083: 对象类型 PROCACT_SCHEMA 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
BEGIN
sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'ORCL', inst_scn=>'2991859');COMMIT; END;

ORA-39083: 对象类型 PROCACT_SCHEMA 创建失败, 出现错误:
ORA-31625: 必须有方案 LEO 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
BEGIN
sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'ORCL', inst_scn=>'2991859');COMMIT; END;

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/PROCACT_INSTANCE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
ORA-39083: 对象类型 TABLE:"LEO"."TEST" 创建失败, 出现错误:
ORA-00959: 表空间 'LEO_TS' 不存在

失败的 sql 为:
CREATE TABLE "LEO"."TEST" ("OWNER" VARCHAR2(30 BYTE), "OBJECT_NAME" VARCHAR2(128 BYTE), "SUBOBJECT_NAME" VARCHAR2(30 BYTE), "OBJECT_ID" NUMBER, "DATA_OBJECT_ID" NUMBER, "OBJECT_TYPE" VARCHAR2(19 BYTE), "CREATED" DATE, "LAST_DDL_TIME" DATE, "TIMESTAMP" VARCHAR2(19 BYTE), "STATUS" VARCHAR2(7 BYTE), "TEMPORARY" VARCHAR2(1 BYTE), "GENERATED" VARCHAR2(1 BYTE), "SECONDARY" VARCHAR2(1 BYTE), "NAMESPACE" NUMBER, "EDITION_NAME" VARCHAR2(30 BYTE)) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "LEO_TS"

ORA-39083: 对象类型 TABLE:"OGG"."GGS_STICK" 创建失败, 出现错误:
ORA-01918: 用户 'OGG' 不存在

失败的 sql 为:
CREATE GLOBAL TEMPORARY TABLE "OGG"."GGS_STICK" ("PROPERTY" VARCHAR2(400 BYTE) NOT NULL ENABLE, "VALUE" VARCHAR2(400 BYTE)) ON COMMIT PRESERVE ROWS

ORA-39083: 对象类型 TABLE:"OGG"."GGS_TEMP_UK" 创建失败, 出现错误:
ORA-01918: 用户 'OGG' 不存在

失败的 sql 为:
CREATE GLOBAL TEMPORARY TABLE "OGG"."GGS_TEMP_UK" ("SEQNO" NUMBER NOT NULL ENABLE, "KEYNAME" VARCHAR2(400 BYTE), "COLNAME" VARCHAR2(400 BYTE), "NULLABLE" NUMBER, "VIRTUAL" NUMBER, "UDT" NUMBER, "ISSYS" NUMBER) ON COMMIT PRESERVE ROWS

ORA-39083: 对象类型 TABLE:"OGG"."GGS_TEMP_COLS" 创建失败, 出现错误:
ORA-01918: 用户 'OGG' 不存在

失败的 sql 为:
CREATE GLOBAL TEMPORARY TABLE "OGG"."GGS_TEMP_COLS" ("SEQNO" NUMBER NOT NULL ENABLE, "COLNAME" VARCHAR2(400 BYTE), "NULLABLE" NUMBER, "VIRTUAL" NUMBER, "UDT" NUMBER, "ISSYS" NUMBER) ON COMMIT PRESERVE ROWS

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."DEPT" 5.093 KB 5 行
. . 导入了 "SCOTT"."EMP" 5.625 KB 14 行
. . 导入了 "SCOTT"."SALGRADE" 4.882 KB 5 行
. . 导入了 "SCOTT"."TESTDDL" 5.382 KB 1000 行
. . 导入了 "SCOTT"."BONUS" 0 KB 0 行
处理对象类型 DATABASE_EXPORT/SCHEMA/PACKAGE/PACKAGE_SPEC
ORA-39083: 对象类型 PACKAGE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE DDLVersionSpecific AS

CURSOR uk_curs (powner IN VARCHAR2, ptable IN VARCHAR2) IS
SELECT key.key_name index_name,
key.column_name,
key.descend
FROM (SELECT c.constraint_name key_name,
c.column_name column_name,
c.position position,
'ASC' descend
FROM dba_cons_columns c
WHERE c.owner = powner
AND c.table_name = ptable
AND c.constraint_name = (
SELECT MIN(con1.name) FROM
sys.user$ user1,
sys.user$ user2,
sys.cdef$ cdef,
sys.con$ con1,
sys.con$ con2,
sys.obj$ obj1,
sys.obj$ obj2
WHERE user1.name = powner
AND obj1.name = ptable
AND cdef.type# = 3
AND bitand(cdef.defer, 4) = 4
AND cdef.enabled is NOT NULL
AND con2.owner# = user2.user#(+)
AND cdef.robj# = obj2.obj#(+)
AND cdef.rcon# = con2.con#

ORA-39083: 对象类型 PACKAGE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE DDLReplication AS

/*
Note about naming convention for constants:
MD (metadata) constants
MK (marker) constants
NOTE: constant strings can be of any length up to 9(for example 'A1' or 'B2')
NOTE: constant string cannot start with a digit
NOTE: constant string cannot contain comma
they are shortened to one byte or two bytes to produce less bulky output and save space in history tables
*/

-- metadata columns
-- IMPORTANT: when adding new ones, add them to tracing reporting routines
MD_TAB_USERID CONSTANT VARCHAR2 (3) := 'A1';
MD_COL_NAME CONSTANT VARCHAR2 (3) := 'A2';
MD_COL_NUM CONSTANT VARCHAR2 (3) := 'A3';
MD_COL_SEGCOL CONSTANT VARCHAR2 (3) := 'A4';
MD_COL_TYPE CONSTANT VARCHAR2 (3) := 'A5';
MD_COL_LEN CONSTANT VARCHAR2 (3) := 'A6';
MD_COL_ISNULL CONSTANT VARCHAR2 (3) := 'A7';
MD_COL_PREC CONSTANT VARCHAR2 (3) := 'A8';
MD_COL_SCALE CONSTANT VARCHAR2 (3) := 'A9';
MD_COL_CHARSETID CONSTANT VARCHAR2 (3) := 'B1';
MD_COL_CHARSETFORM CONSTANT VARCHAR2 (3) := 'A';
MD_COL_ALT_NAME CONSTANT VARCHAR2 (3) := 'C';
MD_COL_ALT_TYPE CONSTANT VARCHAR2 (3) := 'D';
MD_COL_ALT_PREC CONSTANT VARCHAR2 (3) := 'E';
MD_COL_ALT_CHAR_USED CONSTANT VARCHAR2 (3) := 'F';
MD_COL_ALT_XML_TYPE CONSTANT VARCHAR2 (3) := 'G';
MD_TAB_COLCOUNT CONSTANT VARCHAR2 (3) := 'H';
MD_TAB_DATAOBJECTID CONSTANT VARCHAR2 (3) := 'I';
MD_TAB_CLUCOLS CONSTANT VARCHAR2 (3) := 'J';


ORA-39083: 对象类型 PACKAGE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE DDLAux AS

TB_IOT CONSTANT NUMBER := 960;
TB_CLUSTER CONSTANT NUMBER := 1024;
TB_NESTED CONSTANT NUMBER := 8192;
TB_TEMP CONSTANT NUMBER := 12582912;
TB_EXTERNAL CONSTANT NUMBER := 2147483648;

TYPE_INDEX CONSTANT NUMBER := 1;
TYPE_TABLE CONSTANT NUMBER := 2;
TYPE_VIEW CONSTANT NUMBER := 4;
TYPE_SYNONYM CONSTANT NUMBER := 5;
TYPE_SEQUENCE CONSTANT NUMBER := 6;
TYPE_PROCEDURE CONSTANT NUMBER := 7;
TYPE_FUNCTION CONSTANT NUMBER := 8;
TYPE_PACKAGE CONSTANT NUMBER := 9;
TYPE_TRIGGER CONSTANT NUMBER := 12;

CMD_CREATE CONSTANT varchar2(10) := 'CREATE';
CMD_DROP CONSTANT varchar2(10) := 'DROP';
CMD_TRUNCATE CONSTANT varchar2(10) := 'TRUNCATE';
CMD_ALTER CONSTANT varchar2(10) := 'ALTER';


/* Add a rule for inclusion or exclusion so that DDL trigger will handle
* the matching object appropriately. Rules are evaluated in the sorted
* order (asc) of sno. If the sno is not specified then the rule will be
* added in the tail end (max(sno) + 1). If the user
* want to position the rule inbetween two already existing rule
* could use decimals in between.
* The users can place rules as 11.1, 11.2 etc.
* The rules added will be placed in the table GGS_DDL_RULES
* Rule addition examples
* To exclude all objects having name like GGS%
* addRule(obj_name=> 'GGS%');
* To exclude all temporary table
* addRule(base_obj_property => TB_TEMP, obj_type => TYPE_TABLE);
* To exclude all External table

ORA-39083: 对象类型 PACKAGE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE DDLVersionSpecific AS

CURSOR uk_curs (powner IN VARCHAR2, ptable IN VARCHAR2) IS
SELECT key.key_name index_name,
key.column_name,
key.descend
FROM (SELECT c.constraint_name key_name,
c.column_name column_name,
c.position position,
'ASC' descend
FROM dba_cons_columns c
WHERE c.owner = powner
AND c.table_name = ptable
AND c.constraint_name = (
SELECT MIN(con1.name) FROM
sys.user$ user1,
sys.user$ user2,
sys.cdef$ cdef,
sys.con$ con1,
sys.con$ con2,
sys.obj$ obj1,
sys.obj$ obj2
WHERE user1.name = powner
AND obj1.name = ptable
AND cdef.type# = 3
AND bitand(cdef.defer, 4) = 4
AND cdef.enabled is NOT NULL
AND con2.owner# = user2.user#(+)
AND cdef.robj# = obj2.obj#(+)
AND cdef.rcon# = con2.con#

ORA-39083: 对象类型 PACKAGE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE DDLReplication AS

/*
Note about naming convention for constants:
MD (metadata) constants
MK (marker) constants
NOTE: constant strings can be of any length up to 9(for example 'A1' or 'B2')
NOTE: constant string cannot start with a digit
NOTE: constant string cannot contain comma
they are shortened to one byte or two bytes to produce less bulky output and save space in history tables
*/

-- metadata columns
-- IMPORTANT: when adding new ones, add them to tracing reporting routines
MD_TAB_USERID CONSTANT VARCHAR2 (3) := 'A1';
MD_COL_NAME CONSTANT VARCHAR2 (3) := 'A2';
MD_COL_NUM CONSTANT VARCHAR2 (3) := 'A3';
MD_COL_SEGCOL CONSTANT VARCHAR2 (3) := 'A4';
MD_COL_TYPE CONSTANT VARCHAR2 (3) := 'A5';
MD_COL_LEN CONSTANT VARCHAR2 (3) := 'A6';
MD_COL_ISNULL CONSTANT VARCHAR2 (3) := 'A7';
MD_COL_PREC CONSTANT VARCHAR2 (3) := 'A8';
MD_COL_SCALE CONSTANT VARCHAR2 (3) := 'A9';
MD_COL_CHARSETID CONSTANT VARCHAR2 (3) := 'B1';
MD_COL_CHARSETFORM CONSTANT VARCHAR2 (3) := 'A';
MD_COL_ALT_NAME CONSTANT VARCHAR2 (3) := 'C';
MD_COL_ALT_TYPE CONSTANT VARCHAR2 (3) := 'D';
MD_COL_ALT_PREC CONSTANT VARCHAR2 (3) := 'E';
MD_COL_ALT_CHAR_USED CONSTANT VARCHAR2 (3) := 'F';
MD_COL_ALT_XML_TYPE CONSTANT VARCHAR2 (3) := 'G';
MD_TAB_COLCOUNT CONSTANT VARCHAR2 (3) := 'H';
MD_TAB_DATAOBJECTID CONSTANT VARCHAR2 (3) := 'I';
MD_TAB_CLUCOLS CONSTANT VARCHAR2 (3) := 'J';


ORA-39083: 对象类型 PACKAGE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE DDLAux AS

TB_IOT CONSTANT NUMBER := 960;
TB_CLUSTER CONSTANT NUMBER := 1024;
TB_NESTED CONSTANT NUMBER := 8192;
TB_TEMP CONSTANT NUMBER := 12582912;
TB_EXTERNAL CONSTANT NUMBER := 2147483648;

TYPE_INDEX CONSTANT NUMBER := 1;
TYPE_TABLE CONSTANT NUMBER := 2;
TYPE_VIEW CONSTANT NUMBER := 4;
TYPE_SYNONYM CONSTANT NUMBER := 5;
TYPE_SEQUENCE CONSTANT NUMBER := 6;
TYPE_PROCEDURE CONSTANT NUMBER := 7;
TYPE_FUNCTION CONSTANT NUMBER := 8;
TYPE_PACKAGE CONSTANT NUMBER := 9;
TYPE_TRIGGER CONSTANT NUMBER := 12;

CMD_CREATE CONSTANT varchar2(10) := 'CREATE';
CMD_DROP CONSTANT varchar2(10) := 'DROP';
CMD_TRUNCATE CONSTANT varchar2(10) := 'TRUNCATE';
CMD_ALTER CONSTANT varchar2(10) := 'ALTER';


/* Add a rule for inclusion or exclusion so that DDL trigger will handle
* the matching object appropriately. Rules are evaluated in the sorted
* order (asc) of sno. If the sno is not specified then the rule will be
* added in the tail end (max(sno) + 1). If the user
* want to position the rule inbetween two already existing rule
* could use decimals in between.
* The users can place rules as 11.1, 11.2 etc.
* The rules added will be placed in the table GGS_DDL_RULES
* Rule addition examples
* To exclude all objects having name like GGS%
* addRule(obj_name=> 'GGS%');
* To exclude all temporary table
* addRule(base_obj_property => TB_TEMP, obj_type => TYPE_TABLE);
* To exclude all External table

ORA-39126: 在 KUPW$WORKER.SEND_TRACE_MSG [KUPW: ORA-39083: 对象类型 PACKAGE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE DDLVersionSpecific AS

CURSOR uk_curs (powner IN VARCHAR2, ptable IN VARCHAR2) IS
SELECT key.key_name index_name,
key.column_name,
key.descend
FROM (SELECT c.constraint_name key_name,
c.column_name column_name,
c.position position,
'ASC' descend
FROM dba_cons_columns c
WHERE c.owner = powner
AND c.table_name = ptable
AND c.constraint_name = (
SELECT MIN(con1.name) FROM
sys.user$ user1,
sys.user$ user2,
sys.cdef$ cdef,
sys.con$ con1,
sys.con$ con2,
sys.obj$ obj1,
sys.obj$ obj2
WHERE user1.name = powner
AND obj1.name = ptable
AND cdef.type# = 3
AND bitand(cdef.defer, 4) = 4
AND cdef.enabled is NOT NULL
AND con2.owner# = user2.user#(+)
AND cdef.robj# = obj2.obj#(+)
AND cdef.rcon# = con2.con#
] 中 Worker 发生意外致命错误
PACKAGE:"OGG"."DDLAUX"
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓

ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 12620
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 34278

----- PL/SQL Call Stack -----
object line object
handle number name
00007FF97F7656C0 33476 package body SYS.KUPW$WORKER.WRITE_ERROR_INFORMATION
00007FF97F7656C0 12641 package body SYS.KUPW$WORKER.DETERMINE_FATAL_ERROR
00007FF97F7656C0 34341 package body SYS.KUPW$WORKER.SEND_TRACE_MSG
00007FF97F7656C0 28767 package body SYS.KUPW$WORKER.SEND_MSG
00007FF97F7656C0 5418 package body SYS.KUPW$WORKER.LOAD_METADATA
00007FF97F7656C0 13781 package body SYS.KUPW$WORKER.DISPATCH_WORK_ITEMS
00007FF97F7656C0 2429 package body SYS.KUPW$WORKER.MAIN
00007FF97F76B538 2 anonymous block

KUPW: In procedure UPDATE_TYPE_COMPLETION_ROW
KUPW: Old Seqno: 255 New Path: PO Num: -6 New Seqno: 0 error count: 1
KUPW: Primary row is: FALSE
KUPW: In SET_HIDDEN_PARAMETER: name = _LOAD_WITHOUT_COMPILE value = NONE
KUPW: ...session altered
KUPW: load without compile cleared
KUPW: Working on old seqno with count of: 3
KUPW: In procedure SEND_MSG. Fatal=0
KUPW: Error count: 3
KUPW: In procedure DETERMINE_FATAL_ERROR with ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

处理对象类型 DATABASE_EXPORT/SCHEMA/FUNCTION/FUNCTION
ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_errorIsUserCancel
RETURN BOOLEAN
IS
tmess VARCHAR2(32767);
error_is_user_cancel BOOLEAN := FALSE;
error_pos INTEGER := 0;
BEGIN
tmess := DBMS_UTILITY.format_error_stack;
error_pos := Instr(tmess, 'ORA-01013: ', 1, 1);
IF error_pos > 0 THEN
error_is_user_cancel := TRUE;
END IF;
RETURN error_is_user_cancel;
END;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_getAllColsLogging (
pobjid NUMBER)
RETURN NUMBER
IS
all_log_group_exists NUMBER;
BEGIN
BEGIN
SELECT COUNT(*)
INTO all_log_group_exists
FROM sys.obj$ o,sys.cdef$ c
WHERE
o.obj#=pobjid
AND o.obj#=c.obj#
AND c.type#=17
AND rownum=1;

EXCEPTION
WHEN OTHERS THEN
all_log_group_exists := 0;
END;
RETURN all_log_group_exists;
END;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_getErrorStack
RETURN VARCHAR2
IS
tmess VARCHAR2(32767);
BEGIN
tmess := DBMS_UTILITY.format_error_backtrace;
IF length (tmess) > 32767 - 5000 THEN
tmess := SUBSTR (tmess, 5000); -- just trailing portion
END IF;
RETURN tmess;
END;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_verifyDDL
RETURN VARCHAR2
IS
someErr NUMBER;
trigStat VARCHAR2(100);
BEGIN
SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'DDLORA_GETERRORSTACK' AND TYPE = 'FUNCTION';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (1.1)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'CREATE_TRACE' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (2)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'TRACE_PUT_LINE' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (3)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'FILE_SEPARATOR' AND TYPE = 'FUNCTION';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (3.1)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'INITIAL_SETUP' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (4)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND nam

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION file_separator
RETURN CHAR
IS
dump_dir VARCHAR2(400);
errorMessage VARCHAR2(32767);
fileSeparator CHAR := '/';
BEGIN

SELECT VALUE INTO dump_dir
FROM sys.v_$parameter
WHERE name = 'user_dump_dest' ;

IF instr(dump_dir,'/') > 0 THEN
fileSeparator := '/';
ELSIF instr(dump_dir,'\') > 0 THEN
fileSeparator := '\';
END IF;

RETURN fileSeparator;
END file_separator;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION filterDDL (
stmt IN VARCHAR2,
ora_owner IN VARCHAR2,
ora_name IN VARCHAR2,
ora_objtype IN VARCHAR2,
ora_optype IN VARCHAR2
)
RETURN VARCHAR2
IS
retVal VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN

retVal := 'INCLUDE';

--
--
-- DO NOT CUSTOMIZE BEFORE THIS COMMENT
--
--


-- CUSTOMIZE HERE: compute retVal here. It must be either 'INCLUDE' or 'EXCLUDE'.
-- if it is 'EXCLUDE', DDL will be excluded from DDL trigger processing
-- and vice versa. Use input parameters to this function to perform this
-- computation.
--
--

--
--
-- DO NOT CUSTOMIZE AFTER THIS COMMENT
--
--

-- intentionally commented out, as it may cause 6508. Use only if needed.
-- IF "OGG" .DDLReplication.trace_level >= 1 THEN
-- intentionally commented out, as it may cause 6508. Use only if needed.
-- "OGG" .trace_put_line ('DDL', 'Returning ' || retVal || ' from filterDDL');
-- END IF;
RETURN retVal;

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'filterDDL:' || SQLERRM;
dbms_output.put_line (errorMessage);
RAISE;
END;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_errorIsUserCancel
RETURN BOOLEAN
IS
tmess VARCHAR2(32767);
error_is_user_cancel BOOLEAN := FALSE;
error_pos INTEGER := 0;
BEGIN
tmess := DBMS_UTILITY.format_error_stack;
error_pos := Instr(tmess, 'ORA-01013: ', 1, 1);
IF error_pos > 0 THEN
error_is_user_cancel := TRUE;
END IF;
RETURN error_is_user_cancel;
END;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_getAllColsLogging (
pobjid NUMBER)
RETURN NUMBER
IS
all_log_group_exists NUMBER;
BEGIN
BEGIN
SELECT COUNT(*)
INTO all_log_group_exists
FROM sys.obj$ o,sys.cdef$ c
WHERE
o.obj#=pobjid
AND o.obj#=c.obj#
AND c.type#=17
AND rownum=1;

EXCEPTION
WHEN OTHERS THEN
all_log_group_exists := 0;
END;
RETURN all_log_group_exists;
END;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_getErrorStack
RETURN VARCHAR2
IS
tmess VARCHAR2(32767);
BEGIN
tmess := DBMS_UTILITY.format_error_backtrace;
IF length (tmess) > 32767 - 5000 THEN
tmess := SUBSTR (tmess, 5000); -- just trailing portion
END IF;
RETURN tmess;
END;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_verifyDDL
RETURN VARCHAR2
IS
someErr NUMBER;
trigStat VARCHAR2(100);
BEGIN
SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'DDLORA_GETERRORSTACK' AND TYPE = 'FUNCTION';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (1.1)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'CREATE_TRACE' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (2)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'TRACE_PUT_LINE' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (3)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'FILE_SEPARATOR' AND TYPE = 'FUNCTION';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (3.1)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'INITIAL_SETUP' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (4)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND nam

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION file_separator
RETURN CHAR
IS
dump_dir VARCHAR2(400);
errorMessage VARCHAR2(32767);
fileSeparator CHAR := '/';
BEGIN

SELECT VALUE INTO dump_dir
FROM sys.v_$parameter
WHERE name = 'user_dump_dest' ;

IF instr(dump_dir,'/') > 0 THEN
fileSeparator := '/';
ELSIF instr(dump_dir,'\') > 0 THEN
fileSeparator := '\';
END IF;

RETURN fileSeparator;
END file_separator;

ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION filterDDL (
stmt IN VARCHAR2,
ora_owner IN VARCHAR2,
ora_name IN VARCHAR2,
ora_objtype IN VARCHAR2,
ora_optype IN VARCHAR2
)
RETURN VARCHAR2
IS
retVal VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN

retVal := 'INCLUDE';

--
--
-- DO NOT CUSTOMIZE BEFORE THIS COMMENT
--
--


-- CUSTOMIZE HERE: compute retVal here. It must be either 'INCLUDE' or 'EXCLUDE'.
-- if it is 'EXCLUDE', DDL will be excluded from DDL trigger processing
-- and vice versa. Use input parameters to this function to perform this
-- computation.
--
--

--
--
-- DO NOT CUSTOMIZE AFTER THIS COMMENT
--
--

-- intentionally commented out, as it may cause 6508. Use only if needed.
-- IF "OGG" .DDLReplication.trace_level >= 1 THEN
-- intentionally commented out, as it may cause 6508. Use only if needed.
-- "OGG" .trace_put_line ('DDL', 'Returning ' || retVal || ' from filterDDL');
-- END IF;
RETURN retVal;

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'filterDDL:' || SQLERRM;
dbms_output.put_line (errorMessage);
RAISE;
END;

ORA-39126: 在 KUPW$WORKER.SEND_TRACE_MSG [KUPW: ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_verifyDDL
RETURN VARCHAR2
IS
someErr NUMBER;
trigStat VARCHAR2(100);
BEGIN
SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'DDLORA_GETERRORSTACK' AND TYPE = 'FUNCTION';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (1.1)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'CREATE_TRACE' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (2)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'TRACE_PUT_LINE' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (3)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'FILE_SEPARATOR' AND TYPE = 'FUNCTION';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (3.1)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND name = 'INITIAL_SETUP' AND TYPE = 'PROCEDURE';
IF 0 <> someErr THEN
RETURN 'ERRORS detected in installation of DDL Replication software components' || ' (4)';
END IF;

SELECT COUNT(*) INTO someErr
FROM dba_errors WHERE owner = 'OGG' AND nam
] 中 Worker 发生意外致命错误
FUNCTION:"OGG"."FILTERDDL"
ORA-06502: PL/SQL: 数字或值错误 : 字符串

ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 12620
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 34278

----- PL/SQL Call Stack -----
object line object
handle number name
00007FF97F7656C0 33476 package body SYS.KUPW$WORKER.WRITE_ERROR_INFORMATION
00007FF97F7656C0 12641 package body SYS.KUPW$WORKER.DETERMINE_FATAL_ERROR
00007FF97F7656C0 34341 package body SYS.KUPW$WORKER.SEND_TRACE_MSG
00007FF97F7656C0 28767 package body SYS.KUPW$WORKER.SEND_MSG
00007FF97F7656C0 5418 package body SYS.KUPW$WORKER.LOAD_METADATA
00007FF97F7656C0 13781 package body SYS.KUPW$WORKER.DISPATCH_WORK_ITEMS
00007FF97F7656C0 2429 package body SYS.KUPW$WORKER.MAIN
00007FF97F76B538 2 anonymous block

KUPW: In SET_HIDDEN_PARAMETER: name = _LOAD_WITHOUT_COMPILE value = NONE
KUPW: ...session altered
KUPW: load without compile cleared
KUPW: Working on old seqno with count of: 6
KUPW: In procedure SEND_MSG. Fatal=0
KUPW: Error count: 6
KUPW: ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_errorIsUserCancel
RETURN BOOLEAN
IS
tmess VARCHAR2(32767);
error_is_user_cancel BOOLEAN := FALSE;
error_pos INTEGER := 0;
BEGIN
tmess := DBMS_UTILITY.format_error_stack;
error_pos := Instr(tmess, 'ORA-01013: ', 1, 1);
IF error_pos > 0 THEN
error_is_user_cancel := TRUE;
END IF;
RETURN error_is_user_cancel;
END;

KUPW: ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_getAllColsLogging (
pobjid NUMBER)
RETURN NUMBER
IS
all_log_group_exists NUMBER;
BEGIN
BEGIN
SELECT COUNT(*)
INTO all_log_group_exists
FROM sys.obj$ o,sys.cdef$ c
WHERE
o.obj#=pobjid
AND o.obj#=c.obj#
AND c.type#=17
AND rownum=1;

EXCEPTION
WHEN OTHERS THEN
all_log_group_exists := 0;
END;
RETURN all_log_group_exists;
END;

KUPW: ORA-39083: 对象类型 FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE FUNCTION ddlora_getErrorStack
RETURN VARCHAR2
IS
tmess VARCHAR2(32767);
BEGIN
tmess := DBMS_UTILITY.format_error_backtrace;
IF length (tmess) > 32767 - 5000 THEN
tmess := SUBSTR (tmess, 5000); -- just trailing portion
END IF;
RETURN tmess;
END;

KUPW: In procedure DETERMINE_FATAL_ERROR with ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

处理对象类型 DATABASE_EXPORT/SCHEMA/PROCEDURE/PROCEDURE
ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE clear_trace
IS
output_file utl_file.file_type;
errorMessage VARCHAR2(32767);
BEGIN

utl_file.fremove ('GGS_DDL_TRACE', 'ggs_ddl_trace.log');
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE <> - 29283 THEN -- avoid 'file not found'
errorMessage := 'trace_put_line: ' || ':' || SQLERRM;
RAISE;
END IF;
END clear_trace;

ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE create_trace IS
dump_dir VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN

SELECT VALUE INTO dump_dir
FROM sys.v_$parameter
WHERE name = 'user_dump_dest' ;

EXECUTE IMMEDIATE 'create or replace directory GGS_DDL_TRACE as ''' || dump_dir || '''';

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'create_trace: ' || ':' || SQLERRM;
dbms_output.put_line (errorMessage);
RAISE;
END create_trace;

ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE ddlora_getLobs (
powner IN VARCHAR2,
ptable IN VARCHAR2,
trueName IN VARCHAR2,
intcolNum IN NUMBER)
IS
lobEncrypt VARCHAR2(400);
lobCompress VARCHAR2(400);
lobDedup VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN
BEGIN
-- This query can be simplified further if sys.lob$ is used instead,
-- or if column number is used instead of column name.
SELECT max(decode(l.encrypt, 'NO', 0, 'NONE', 0, 1)) isEnc,
max(decode(l.compression, 'NO', 0, 'NONE', 0, 1)) isComp,
max(decode(l.deduplication, 'NO', 0, 'NONE', 0, 1)) isDedup
INTO lobEncrypt, lobCompress, lobDedup
FROM dba_tab_cols c, dba_tab_cols tc, dba_lobs l
WHERE c.owner = tc.owner AND c.table_name = tc.table_name
AND c.owner = l.owner AND c.table_name = l.table_name
AND c.column_id = tc.column_id AND c.qualified_col_name = l.column_name
AND c.owner = powner AND c.table_name = ptable AND tc.column_name= trueName;

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'get LOB info, error: ' || SQLERRM;
"OGG" .trace_put_line ('DDL', errorMessage);
RAISE;
END;
DDLReplication.insertToMar

ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE trace_put_line (
oper VARCHAR2,
message VARCHAR2)
IS
output_file utl_file.file_type;
errorMessage VARCHAR2(32767);
total_fragments NUMBER;
line_size NUMBER;
prepLine VARCHAR2(32767);
i NUMBER;
BEGIN

output_file := utl_file.fopen ('GGS_DDL_TRACE', 'ggs_ddl_trace.log', 'A', max_linesize => 32767);
prepLine := 'SESS ' || USERENV('SESSIONID') || '-' ||
TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') || ' : ' || oper || ' : ';
utl_file.put (output_file, prepLine);
line_size := 900 - lengthb (prepLine) - 1;
total_fragments := lengthb (message) / line_size + 1;
IF total_fragments * line_size = lengthb (message) THEN
total_fragments := total_fragments - 1;
END IF;

-- line cannot be bigger than approx 1000 bytes so split it up other
FOR i IN 1..total_fragments LOOP
utl_file.put_line (output_file, substrb (message, (i - 1) * line_size + 1, line_size));
END LOOP;

utl_file.fCLOSE (output_file);
EXCEPTION
WHEN OTHERS THEN
--
-- If tracing fails, trigger *will not* fail:
--
-- closing file can cause an error too, so it's all in vain if we don't check
BEGIN
utl_file.fCLOSE (output_file);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
errorMessage := 'trace_put_line: ' || ':' || SQLERRM;
-- we

ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE clear_trace
IS
output_file utl_file.file_type;
errorMessage VARCHAR2(32767);
BEGIN

utl_file.fremove ('GGS_DDL_TRACE', 'ggs_ddl_trace.log');
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE <> - 29283 THEN -- avoid 'file not found'
errorMessage := 'trace_put_line: ' || ':' || SQLERRM;
RAISE;
END IF;
END clear_trace;

ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE create_trace IS
dump_dir VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN

SELECT VALUE INTO dump_dir
FROM sys.v_$parameter
WHERE name = 'user_dump_dest' ;

EXECUTE IMMEDIATE 'create or replace directory GGS_DDL_TRACE as ''' || dump_dir || '''';

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'create_trace: ' || ':' || SQLERRM;
dbms_output.put_line (errorMessage);
RAISE;
END create_trace;

ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE ddlora_getLobs (
powner IN VARCHAR2,
ptable IN VARCHAR2,
trueName IN VARCHAR2,
intcolNum IN NUMBER)
IS
lobEncrypt VARCHAR2(400);
lobCompress VARCHAR2(400);
lobDedup VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN
BEGIN
-- This query can be simplified further if sys.lob$ is used instead,
-- or if column number is used instead of column name.
SELECT max(decode(l.encrypt, 'NO', 0, 'NONE', 0, 1)) isEnc,
max(decode(l.compression, 'NO', 0, 'NONE', 0, 1)) isComp,
max(decode(l.deduplication, 'NO', 0, 'NONE', 0, 1)) isDedup
INTO lobEncrypt, lobCompress, lobDedup
FROM dba_tab_cols c, dba_tab_cols tc, dba_lobs l
WHERE c.owner = tc.owner AND c.table_name = tc.table_name
AND c.owner = l.owner AND c.table_name = l.table_name
AND c.column_id = tc.column_id AND c.qualified_col_name = l.column_name
AND c.owner = powner AND c.table_name = ptable AND tc.column_name= trueName;

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'get LOB info, error: ' || SQLERRM;
"OGG" .trace_put_line ('DDL', errorMessage);
RAISE;
END;
DDLReplication.insertToMar

ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE trace_put_line (
oper VARCHAR2,
message VARCHAR2)
IS
output_file utl_file.file_type;
errorMessage VARCHAR2(32767);
total_fragments NUMBER;
line_size NUMBER;
prepLine VARCHAR2(32767);
i NUMBER;
BEGIN

output_file := utl_file.fopen ('GGS_DDL_TRACE', 'ggs_ddl_trace.log', 'A', max_linesize => 32767);
prepLine := 'SESS ' || USERENV('SESSIONID') || '-' ||
TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') || ' : ' || oper || ' : ';
utl_file.put (output_file, prepLine);
line_size := 900 - lengthb (prepLine) - 1;
total_fragments := lengthb (message) / line_size + 1;
IF total_fragments * line_size = lengthb (message) THEN
total_fragments := total_fragments - 1;
END IF;

-- line cannot be bigger than approx 1000 bytes so split it up other
FOR i IN 1..total_fragments LOOP
utl_file.put_line (output_file, substrb (message, (i - 1) * line_size + 1, line_size));
END LOOP;

utl_file.fCLOSE (output_file);
EXCEPTION
WHEN OTHERS THEN
--
-- If tracing fails, trigger *will not* fail:
--
-- closing file can cause an error too, so it's all in vain if we don't check
BEGIN
utl_file.fCLOSE (output_file);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
errorMessage := 'trace_put_line: ' || ':' || SQLERRM;
-- we

ORA-39126: 在 KUPW$WORKER.SEND_TRACE_MSG [KUPW: ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE ddlora_getLobs (
powner IN VARCHAR2,
ptable IN VARCHAR2,
trueName IN VARCHAR2,
intcolNum IN NUMBER)
IS
lobEncrypt VARCHAR2(400);
lobCompress VARCHAR2(400);
lobDedup VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN
BEGIN
-- This query can be simplified further if sys.lob$ is used instead,
-- or if column number is used instead of column name.
SELECT max(decode(l.encrypt, 'NO', 0, 'NONE', 0, 1)) isEnc,
max(decode(l.compression, 'NO', 0, 'NONE', 0, 1)) isComp,
max(decode(l.deduplication, 'NO', 0, 'NONE', 0, 1)) isDedup
INTO lobEncrypt, lobCompress, lobDedup
FROM dba_tab_cols c, dba_tab_cols tc, dba_lobs l
WHERE c.owner = tc.owner AND c.table_name = tc.table_name
AND c.owner = l.owner AND c.table_name = l.table_name
AND c.column_id = tc.column_id AND c.qualified_col_name = l.column_name
AND c.owner = powner AND c.table_name = ptable AND tc.column_name= trueName;

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'get LOB info, error: ' || SQLERRM;
"OGG" .trace_put_line ('DDL', errorMessage);
RAISE;
END;
DDLReplication.insertToMar
] 中 Worker 发生意外致命错误
PROCEDURE:"OGG"."TRACE_PUT_LINE"
ORA-06502: PL/SQL: 数字或值错误 :

ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 12620
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 34278

----- PL/SQL Call Stack -----
object line object
handle number name
00007FF97F7656C0 33476 package body SYS.KUPW$WORKER.WRITE_ERROR_INFORMATION
00007FF97F7656C0 12641 package body SYS.KUPW$WORKER.DETERMINE_FATAL_ERROR
00007FF97F7656C0 34341 package body SYS.KUPW$WORKER.SEND_TRACE_MSG
00007FF97F7656C0 28767 package body SYS.KUPW$WORKER.SEND_MSG
00007FF97F7656C0 5418 package body SYS.KUPW$WORKER.LOAD_METADATA
00007FF97F7656C0 13781 package body SYS.KUPW$WORKER.DISPATCH_WORK_ITEMS
00007FF97F7656C0 2429 package body SYS.KUPW$WORKER.MAIN
00007FF97F76B538 2 anonymous block

KUPW: Primary row is: FALSE
KUPW: In SET_HIDDEN_PARAMETER: name = _LOAD_WITHOUT_COMPILE value = NONE
KUPW: ...session altered
KUPW: load without compile cleared
KUPW: Working on old seqno with count of: 4
KUPW: In procedure SEND_MSG. Fatal=0
KUPW: Error count: 4
KUPW: ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE clear_trace
IS
output_file utl_file.file_type;
errorMessage VARCHAR2(32767);
BEGIN

utl_file.fremove ('GGS_DDL_TRACE', 'ggs_ddl_trace.log');
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE <> - 29283 THEN -- avoid 'file not found'
errorMessage := 'trace_put_line: ' || ':' || SQLERRM;
RAISE;
END IF;
END clear_trace;

KUPW: ORA-39083: 对象类型 PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PROCEDURE create_trace IS
dump_dir VARCHAR2(400);
errorMessage VARCHAR2(32767);
BEGIN

SELECT VALUE INTO dump_dir
FROM sys.v_$parameter
WHERE name = 'user_dump_dest' ;

EXECUTE IMMEDIATE 'create or replace directory GGS_DDL_TRACE as ''' || dump_dir || '''';

EXCEPTION
WHEN OTHERS THEN
errorMessage := 'create_trace: ' || ':' || SQLERRM;
dbms_output.put_line (errorMessage);
RAISE;
END create_trace;

KUPW: In procedure DETERMINE_FATAL_ERROR with ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

处理对象类型 DATABASE_EXPORT/SCHEMA/FUNCTION/ALTER_FUNCTION
ORA-39083: 对象类型 ALTER_FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER FUNCTION "OGG"."DDLORA_GETERRORSTACK" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

ORA-39083: 对象类型 ALTER_FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER FUNCTION "OGG"."DDLORA_ERRORISUSERCANCEL" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

ORA-39083: 对象类型 ALTER_FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER FUNCTION "OGG"."DDLORA_GETALLCOLSLOGGING" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

ORA-39083: 对象类型 ALTER_FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER FUNCTION "OGG"."FILTERDDL" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

ORA-39083: 对象类型 ALTER_FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER FUNCTION "OGG"."DDLORA_VERIFYDDL" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

ORA-39083: 对象类型 ALTER_FUNCTION 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER FUNCTION "OGG"."FILE_SEPARATOR" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

处理对象类型 DATABASE_EXPORT/SCHEMA/PROCEDURE/ALTER_PROCEDURE
ORA-39083: 对象类型 ALTER_PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER PROCEDURE "OGG"."DDLORA_GETLOBS" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:16'

ORA-39083: 对象类型 ALTER_PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER PROCEDURE "OGG"."CREATE_TRACE" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

ORA-39083: 对象类型 ALTER_PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER PROCEDURE "OGG"."CLEAR_TRACE" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

ORA-39083: 对象类型 ALTER_PROCEDURE 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:

ALTER PROCEDURE "OGG"."TRACE_PUT_LINE" COMPILE PLSQL_OPTIMIZE_LEVEL= 2 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= FALSE PLSCOPE_SETTINGS= 'IDENTIFIERS:NONE' NLS_LENGTH_SEMANTICS= BYTE REUSE SETTINGS TIMESTAMP '2022-12-07 22:00:15'

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT
ORA-39112: 跳过从属对象类型 CONSTRAINT:"OGG"."SYS_C0011097", 创建基本对象类型 TABLE:"OGG"."GGS_TEMP_COLS" 失败

ORA-39112: 跳过从属对象类型 CONSTRAINT:"OGG"."SYS_C0011101", 创建基本对象类型 TABLE:"OGG"."GGS_STICK" 失败

ORA-39112: 跳过从属对象类型 CONSTRAINT:"OGG"."SYS_C0011099", 创建基本对象类型 TABLE:"OGG"."GGS_TEMP_UK" 失败

处理对象类型 DATABASE_EXPORT/SCHEMA/PACKAGE_BODIES/PACKAGE/PACKAGE_BODY
ORA-39083: 对象类型 PACKAGE_BODY 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE BODY DDLAux AS

FUNCTION addRule(obj_name IN VARCHAR2 DEFAULT NULL,
base_obj_name IN VARCHAR2 DEFAULT NULL,
owner_name IN VARCHAR2 DEFAULT NULL,
base_owner_name IN VARCHAR2 DEFAULT NULL,
base_obj_property IN NUMBER DEFAULT NULL,
obj_type IN NUMBER DEFAULT NULL,
command IN VARCHAR2 DEFAULT NULL,
inclusion IN boolean DEFAULT NULL ,
sno IN NUMBER DEFAULT NULL)
RETURN NUMBER IS
new_sno NUMBER;
cnt NUMBER;
to_include number;
BEGIN
if inclusion then
to_include := 1;
else
to_include := 0;
end if;
BEGIN
/* If SNO is not specified then find the next SNO automatically */
IF SNO IS NULL THEN
BEGIN
SELECT count(*) ,MAX(SNO) into cnt,NEW_SNO
FROM "OGG"."GGS_DDL_RULES";

/* MAX(SNO) + 1 */
IF cnt = 0 THEN
NEW_SNO := 1;
ELSE
NEW_SNO := NEW_SNO + 1;
END IF;
EXCEPTION WHEN OTHERS THEN
new_sno := 1;
END;
ELSE
NEW_SNO := SNO;
END IF;

INSERT INTO "OGG"."GGS_DDL_RULES" VALUES
(NEW_SNO, OBJ_NAME, OWNER_NAME, BASE_OBJ_NAME, BASE_OWNER_NAME,
base_obj_PROPERTY, OBJ_TYPE, command, to_include);

COMMIT;
RETURN NEW_SNO;
EXCEPTION WHEN OTHERS THEN
--dbms_output.put_line (SQLERRM);
IF "OGG" .DDLReplicati

ORA-39083: 对象类型 PACKAGE_BODY 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE BODY DDLReplication AS

/*
FUNCTION REMOVESQLCOMMENTS RETURNS VARCHAR2
Remove all SQL comments in DDL (or any SQL). Takes care of dash-dash and slash-star comments.
Also 'knows' about double and single quoted strings and doesn't remove parts of string if they
take comment form
param[in] STMT VARCHAR2 SQL to decoment

return de-commented SQL
note Statement passed into this function MUST be lesser than 32767 The returned
statement is NOT correct if SQL is of greater length than that size.
*/
FUNCTION removeSQLcomments (
stmt IN VARCHAR2)
RETURN VARCHAR2
IS
retval VARCHAR2 (32767);
-- the following (xxxStart) remember if string or comment started (0 not, 1 yes)
identStart NUMBER := 0;
stringStart NUMBER := 0;
slashStart NUMBER := 0;
dashStart NUMBER := 0;
beg NUMBER := 0;
curr NUMBER := 0;
tryExitLoop NUMBER := 0;
-- 11833474: We are by default in byte semantics so have
-- space to accomodate multibyte chars.
currChar VARCHAR2(5);
BEGIN
IF "OGG" .DDLReplication.trace_level >= 1 THEN
"OGG" .trace_put_line ('DDLTRACE1', 'Entering removeSQLcomments()');
END IF;

-- Early out
IF stmt IS NULL THEN
return stmt;
END IF;

retval := '';
IF "OGG" .DDLReplication.trace_level >= 1 THEN
"OGG" .trace_put_line ('DDLTRA

ORA-39083: 对象类型 PACKAGE_BODY 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE BODY DDLAux AS

FUNCTION addRule(obj_name IN VARCHAR2 DEFAULT NULL,
base_obj_name IN VARCHAR2 DEFAULT NULL,
owner_name IN VARCHAR2 DEFAULT NULL,
base_owner_name IN VARCHAR2 DEFAULT NULL,
base_obj_property IN NUMBER DEFAULT NULL,
obj_type IN NUMBER DEFAULT NULL,
command IN VARCHAR2 DEFAULT NULL,
inclusion IN boolean DEFAULT NULL ,
sno IN NUMBER DEFAULT NULL)
RETURN NUMBER IS
new_sno NUMBER;
cnt NUMBER;
to_include number;
BEGIN
if inclusion then
to_include := 1;
else
to_include := 0;
end if;
BEGIN
/* If SNO is not specified then find the next SNO automatically */
IF SNO IS NULL THEN
BEGIN
SELECT count(*) ,MAX(SNO) into cnt,NEW_SNO
FROM "OGG"."GGS_DDL_RULES";

/* MAX(SNO) + 1 */
IF cnt = 0 THEN
NEW_SNO := 1;
ELSE
NEW_SNO := NEW_SNO + 1;
END IF;
EXCEPTION WHEN OTHERS THEN
new_sno := 1;
END;
ELSE
NEW_SNO := SNO;
END IF;

INSERT INTO "OGG"."GGS_DDL_RULES" VALUES
(NEW_SNO, OBJ_NAME, OWNER_NAME, BASE_OBJ_NAME, BASE_OWNER_NAME,
base_obj_PROPERTY, OBJ_TYPE, command, to_include);

COMMIT;
RETURN NEW_SNO;
EXCEPTION WHEN OTHERS THEN
--dbms_output.put_line (SQLERRM);
IF "OGG" .DDLReplicati

ORA-39083: 对象类型 PACKAGE_BODY 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE BODY DDLReplication AS

/*
FUNCTION REMOVESQLCOMMENTS RETURNS VARCHAR2
Remove all SQL comments in DDL (or any SQL). Takes care of dash-dash and slash-star comments.
Also 'knows' about double and single quoted strings and doesn't remove parts of string if they
take comment form
param[in] STMT VARCHAR2 SQL to decoment

return de-commented SQL
note Statement passed into this function MUST be lesser than 32767 The returned
statement is NOT correct if SQL is of greater length than that size.
*/
FUNCTION removeSQLcomments (
stmt IN VARCHAR2)
RETURN VARCHAR2
IS
retval VARCHAR2 (32767);
-- the following (xxxStart) remember if string or comment started (0 not, 1 yes)
identStart NUMBER := 0;
stringStart NUMBER := 0;
slashStart NUMBER := 0;
dashStart NUMBER := 0;
beg NUMBER := 0;
curr NUMBER := 0;
tryExitLoop NUMBER := 0;
-- 11833474: We are by default in byte semantics so have
-- space to accomodate multibyte chars.
currChar VARCHAR2(5);
BEGIN
IF "OGG" .DDLReplication.trace_level >= 1 THEN
"OGG" .trace_put_line ('DDLTRACE1', 'Entering removeSQLcomments()');
END IF;

-- Early out
IF stmt IS NULL THEN
return stmt;
END IF;

retval := '';
IF "OGG" .DDLReplication.trace_level >= 1 THEN
"OGG" .trace_put_line ('DDLTRA

ORA-39126: 在 KUPW$WORKER.SEND_TRACE_MSG [KUPW: ORA-39083: 对象类型 PACKAGE_BODY 创建失败, 出现错误:
ORA-31625: 必须有方案 OGG 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在

失败的 sql 为:
CREATE PACKAGE BODY DDLAux AS

FUNCTION addRule(obj_name IN VARCHAR2 DEFAULT NULL,
base_obj_name IN VARCHAR2 DEFAULT NULL,
owner_name IN VARCHAR2 DEFAULT NULL,
base_owner_name IN VARCHAR2 DEFAULT NULL,
base_obj_property IN NUMBER DEFAULT NULL,
obj_type IN NUMBER DEFAULT NULL,
command IN VARCHAR2 DEFAULT NULL,
inclusion IN boolean DEFAULT NULL ,
sno IN NUMBER DEFAULT NULL)
RETURN NUMBER IS
new_sno NUMBER;
cnt NUMBER;
to_include number;
BEGIN
if inclusion then
to_include := 1;
else
to_include := 0;
end if;
BEGIN
/* If SNO is not specified then find the next SNO automatically */
IF SNO IS NULL THEN
BEGIN
SELECT count(*) ,MAX(SNO) into cnt,NEW_SNO
FROM "OGG"."GGS_DDL_RULES";

/* MAX(SNO) + 1 */
IF cnt = 0 THEN
NEW_SNO := 1;
ELSE
NEW_SNO := NEW_SNO + 1;
END IF;
EXCEPTION WHEN OTHERS THEN
new_sno := 1;
END;
ELSE
NEW_SNO := SNO;
END IF;

INSERT INTO "OGG"."GGS_DDL_RULES" VALUES
(NEW_SNO, OBJ_NAME, OWNER_NAME, BASE_OBJ_NAME, BASE_OWNER_NAME,
base_obj_PROPERTY, OBJ_TYPE, command, to_include);

COMMIT;
RETURN NEW_SNO;
EXCEPTION WHEN OTHERS THEN
--dbms_output.put_line (SQLERRM);
IF "OGG" .DDLReplicati
] 中 Worker 发生意外致命错误
PACKAGE_BODY:"OGG"."DDLREPLICATION"
ORA-06502: PL/SQL: 数字或值错误

ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 12620
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在 "SYS.KUPW$WORKER", line 34278

----- PL/SQL Call Stack -----
object line object
handle number name
00007FF97F7656C0 33476 package body SYS.KUPW$WORKER.WRITE_ERROR_INFORMATION
00007FF97F7656C0 12641 package body SYS.KUPW$WORKER.DETERMINE_FATAL_ERROR
00007FF97F7656C0 34341 package body SYS.KUPW$WORKER.SEND_TRACE_MSG
00007FF97F7656C0 28767 package body SYS.KUPW$WORKER.SEND_MSG
00007FF97F7656C0 5418 package body SYS.KUPW$WORKER.LOAD_METADATA
00007FF97F7656C0 13781 package body SYS.KUPW$WORKER.DISPATCH_WORK_ITEMS
00007FF97F7656C0 2429 package body SYS.KUPW$WORKER.MAIN
00007FF97F76B538 2 anonymous block

KUPW: In procedure UPDATE_TYPE_COMPLETION_ROW
KUPW: Old Seqno: 347 New Path: PO Num: -6 New Seqno: 0 error count: 1
KUPW: Primary row is: FALSE
KUPW: In SET_HIDDEN_PARAMETER: name = _LOAD_WITHOUT_COMPILE value = NONE
KUPW: ...session altered
KUPW: load without compile cleared
KUPW: Working on old seqno with count of: 2
KUPW: In procedure SEND_MSG. Fatal=0
KUPW: Error count: 2
KUPW: In procedure DETERMINE_FATAL_ERROR with ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA
处理对象类型 DATABASE_EXPORT/AUDIT
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已经完成, 但是有 239 个错误 (于 星期四 12月 22 15:00:17 2022 elapsed 0 00:00:33 完成)

标签:DBMS,导出,RULE,SYS,导入,VARCHAR2,OGG,数据,ORA
From: https://blog.51cto.com/u_12991611/6066809

相关文章

  • 数据结构面试题
    数据结构面试题1、栈(stack)栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有push(进栈)和pop(出......
  • 数据库引言
    一、数据库简介1.什么是数据库数据库其实是一种软件的概念,他是安装在我们操作系统之上,对数据进行操作的管理软件,称作(DBDataBase),用来存储和操作数据,我们常说的mysql,oracl......
  • Typecho——主题配置数据备份和恢复
    前言~cTypechoc~的配置项有个很神奇的特效,就是切换主题后,配置文件会丢失,但是EasyBe主题有很多配置,一旦丢失再重新配置会比较麻烦,所以特地给主题增加下保存配置文件的操......
  • python中的数据模型
    参考:https://docs.python.org/zh-cn/3/reference/datamodel.html1. 对象、值与类型对象 是Python中对数据的抽象。Python程序中的所有数据都是由对象或对象间关系......
  • Exchanger多线程交换数据
    Exchanger用于两个线程之间(也可以多个线程)交换数据,交换器将自动匹配两个线程,将其数据互相传递.publicclassTest{publicstaticvoidmain(String[]args){......
  • 冷冻法快速还原Oracle数据库
    1、重新装完系统之后,把D:\app\Administrator\oradata拷贝出来,app目录。2、安装Oracle数据库,创建一个和oradata目录内同名的实例。3、通过停止服务的方式关闭数据库,冷拷贝......
  • [数据结构] 稀疏矩阵的加法与乘法
    稀疏矩阵的加法传统矩阵的加法矩阵相加的前提是两个矩阵的行数和列数相等,将矩阵的每个元素对应相加即可。voidNormalAddMatrix(intA[][N],intB[][N],intC[][N]){......
  • VMware虚拟机导入OpenStack后无法启动
    问题:使用VMwareWorkstation创建win10虚拟机,将虚拟机的虚拟磁盘vmdk文件用qemu-img工具转换为qcow2格式再导入到OpenStack后,启动虚拟机异常报错“BootingfromHardDisk.........
  • 数据库必知必会:TiDB(12)TiDB连接管理
    (数据库必知必会:TiDB(12)TiDB连接管理)TiDB连接管理TiDB的连接特性TiDBServer主要负责接收用户的会话请求,接收SQL并负责SQL语句的解析、编译,生成SQL的执行计划。TiDBServ......
  • 各县全要素生产率数据、县级全要素生产率数据(2000-2022)
    各县全要素生产率数据、县级全要素生产率数据(2000-2022)各县全要素生产率数据、县级全要素生产率数据(2000-2022)各县全要素生产率数据、县级全要素生产率数据(2000-2022)数据......