今天用数据泵导出AWR数据时碰到了这个错误。
执行的操作如下:
SQL> @?/rdbms/admin/awrextr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclaimer: This SQL/Plus script. should only be called under
the guidance of Oracle Support.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~
AWR EXTRACT
~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ This script. will extract the AWR data for a range of snapshots ~
~ into a dump file. The script. will prompt users for the ~
~ following information: ~
~ (1) database id ~
~ (2) snapshot range to extract ~
~ (3) name of directory object ~
~ (4) name of dump file ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Databases in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id DB Name Host
------------ ------------ ------------
* 2400249746 CNDERPDB p5a1
* 2400249746 CNDERPDB p5b1
The default database id is the local one: '2400249746'. To use this
database id, press to continue, otherwise enter an alternative.
Enter value for dbid:
Using 2400249746 for Database ID
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing without
specifying a number lists all completed snapshots.
Enter value for num_days: 7
Listing the last 7 days of Completed Snapshots
DB Name Snap Id Snap Started
------------ --------- ------------------
CNDERPDB 48696 20 Apr 2011 00:00
48697 20 Apr 2011 01:00
48698 20 Apr 2011 02:00
48699 20 Apr 2011 03:00
48700 20 Apr 2011 04:00
.
.
.
48852 26 Apr 2011 12:00
48853 26 Apr 2011 13:00
48854 26 Apr 2011 14:00
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 48703
Begin Snapshot Id specified: 48703
Enter value for end_snap: 48852
End Snapshot Id specified: 48852
Specify the Directory Name
~~~~~~~~~~~~~~~~~~~~~~~~~~
Directory Name Directory Path
------------------------------ -------------------------------------------------
ADMIN_DIR /u01/db10g/md/admin
BACKUP_DIR /orabak/logicbackup
DATA_PUMP_DIR /u01/db10g/rdbms/log/
DB360 /backup_tmp
ORACLE_OCM_CONFIG_DIR /u01/db10g/ccr/state
WORK_DIR /u01/db10g/work
Choose a Directory Name from the above list (case-sensitive).
Enter value for directory_name: BACKUP_DIR
Using the dump directory: BACKUP_DIR
Specify the Name of the Extract Dump File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The prefix for the default dump file name is awrdat_48703_48852.
To use this name, press to continue, otherwise enter
an alternative.
Enter value for file_name: awrdat_48703_48852
Using the dump file prefix: awrdat_48703_48852
|
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| The AWR extract dump file will be located
| in the following directory/file:
| /orabak/logicbackup
| awrdat_48703_48852.dmp
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
| *** AWR Extract Started ...
|
| This operation will take a few moments. The
| progress of the AWR extract operation can be
| monitored in the following directory/file:
| /orabak/logicbackup
| awrdat_48703_48852.log
|
^Cbegin
*
ERROR at line 1:
ORA-06512: at "SYS.DBMS_SWRF_INTERNAL", line 1015
ORA-06512: at line 4
由于运行的过程中发现抽取的SNAPSHOT的值有点问题,于是打算中止当前的抽取,执行了CTRL+C试图取消这个操作,但是Oracle报错并非是ORA-1013错误,而是ORA-6512错误。
随后打算重新执行导出的操作,但是这次Oracle并没有提示输入DBID,SNAPSHOT的值以及DIRECTORY的名称,而是直接开始抽取的操作。
将操作中止后,出现了
WHERE (dbid, snap_id) IN (SELECT dbid, snap_id FROM SYS.WRM$_SNAPSHOT WHERE DBID = 2400249746 AND SNAP_ID >=
48703 AND SNAP_ID <= 48852 AND STATUS = 0 AND BL_MOVED = 1)
Added filter [WHERE DBID = 2400249746] for table WRH$_STAT_NAME
Added filter [WHERE DBID = 2400249746] for table WRH$_PARAMETER_NAME
Added filter [WHERE DBID = 2400249746] for table WRH$_EVENT_NAME
Added filter [WHERE DBID = 2400249746] for table WRH$_LATCH_NAME
.
.
.
Added filter [WHERE (dbid, snap_id) IN (SELECT dbid, snap_id FROM SYS.WRM$_SNAPSHOT WHERE DBID = 2400249746
AND SNAP_ID >= 48703 AND SNAP_ID <= 48852 AND STATUS = 0 AND BL_MOVED = 0)] for table
WRH$_ACTIVE_SESSION_HISTORY
Starting "SYS"."SYS_EXPORT_TABLE_02":
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 3.015 GB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
. . exported "SYS"."WRH$_SQL_PLAN" 71.35 MB 249249 rows
. . exported "SYS"."WRH$_SQLTEXT" 25.05 MB 3913 rows
. . exported "SYS"."WRH$_WAITCLASSMETRIC_HISTORY" 1.361 MB 18948 rows
. . exported "SYS"."WRH$_ACTIVE_SESSION_HISTORY":"WRH$_ACTIVE_2400249746_48698" 5.382 MB 30349 rows
. . exported "SYS"."WRH$_ACTIVE_SESSION_HISTORY":"WRH$_ACTIVE_2400249746_48650" 17.58 KB 0 rows
.
.
.
. . exported "SYS"."WRH$_LATCH":"WRH$_LATCH_2400249746_48818" 1018. KB 18960 rows
. . exported "SYS"."WRH$_SEG_STAT_OBJ" 2.379 MB 25176 rows
Exception encountered in AWR_EXTRACT
而退出sqlplus后,重新登录再次运行awrextr.sql,命令成功结束。显然由于手工中止了操作,使得部分变量没有被清除,这是没有退出sqlplus再次运行awrextr.sql时,Oracle没有提示输入变量的原因。而且由于数据泵的特点,使用CTRL+C并不会结束数据泵的进程,而是使之转入后台,这也是为什么会有后面的输出。不过由于抽取AWR是封装在PL/SQL中的操作,所以可能在中止之后导致某些状态不正常,导致最后的EXPDP进程出现错误。
而随后检查alert发现,出现了文章标题中提到的ORA-600错误,错误信息为:
Tue Apr 26 14:40:37 BEIST 2011
The value (30) of MAXTRANS parameter ignored.
Tue Apr 26 14:40:40 BEIST 2011
ALTER SYSTEM SET service_names='cnderpdb.chinacdc.com','SYS$SYS.KUPC$C_1_20110426144037.CNDERPDB.CHINACDC.COM' SCOPE=MEMORY SID='cnderpdb1';
Tue Apr 26 14:40:40 BEIST 2011
ALTER SYSTEM SET service_names='SYS$SYS.KUPC$C_1_20110426144037.CNDERPDB.CHINACDC.COM','cnderpdb.chinacdc.com','SYS$SYS.KUPC$S_1_20110426144037.CNDERPDB.CHIN
ACDC.COM' SCOPE=MEMORY SID='cnderpdb1';
kupprdp: master process DM00 started with pid=525, OS id=447072
to execute - SYS.KUPM$MCP.MAIN('SYS_EXPORT_TABLE_01', 'SYS', 'KUPC$C_1_20110426144037', 'KUPC$S_1_20110426144037', 0);
kupprdp: worker process DW01 started with worker id=1, pid=531, OS id=803338
to execute - SYS.KUPW$WORKER.MAIN('SYS_EXPORT_TABLE_01', 'SYS');
Tue Apr 26 14:41:09 BEIST 2011
Memory Notification: Library Cache Object loaded into SGA
Heap size 10546K exceeds notification threshold (8192K)
Details in trace file /u01/admin/cnderpdb/bdump/cnderpdb1_dw01_803338.trc
KGL object name :SELECT /*+rule*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_T', '7')), KU$.OBJ_NUM ,KU$.ANC_OBJ.NAME ,KU$.ANC_OBJ.OWNER_NAME ,KU$
.ANC_OBJ.TYPE_NAME ,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME ,KU$.BASE_OBJ.TYPE_NAME ,KU$.SPARE1 ,KU$.XMLSCHEMACOLS ,KU$.SCHEMA_OBJ.NAME ,KU$.SCHEMA_OBJ.NA
ME ,'TABLE' ,KU$.PROPERTY ,KU$.SCHEMA_OBJ.OWNER_NAME ,KU$.TS_NAME ,KU$.TRIGFLAG FROM SYS.KU$_FHTABLE_VIEW KU$ WHERE NOT (BITAND (KU$.PROPERTY,8192)=8192) AND
NOT BITAND(KU$.SCHEMA_OBJ.FLAGS,128)!=0 AND KU$.OBJ_NU
Tue Apr 26 14:42:37 BEIST 2011
Errors in file /u01/admin/cnderpdb/bdump/cnderpdb1_dw01_803338.trc:
ORA-00600: internal error code, arguments: [OCIKCallPush: deprecated], [], [], [], [], [], [], []
ORA-06502: PL/SQL: numeric or value error
ORA-31605: the following was returned from LpxXSLInitializeCtx in routine kuxslSetStyleSheet:
LPX-314: an internal failure occurred
ORA-19202: Error occurred in XML processing
ORA-39119: worker process interrupt for delete worker processes call by master process
Tue Apr 26 14:42:40 BEIST 2011
Trace dumping is performing id=[cdmp_20110426144240]
从上面的信息可以看出,事实上这个错误导致的原因是最后的ORA-39119: worker process interrupt for delete worker processes call by master process。有了前面的分析,这个ORA-600错误就可以忽略了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-694146/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-694146/