- 最后登录
- 2013-9-9
- 在线时间
- 2 小时
- 威望
- 0
- 金钱
- 17
- 注册时间
- 2013-8-28
- 阅读权限
- 10
- 帖子
- 4
- 精华
- 0
- 积分
- 0
- UID
- 1205
|
2#
发表于 2013-8-28 08:59:35
某大牛的回复 .
I don't have a solution to your problem. But these are definitely not temporary tables, which would take the form <file#>.<block#>. If the problem is reproducible, you may want to open an SR.
JAVA$POLICY is the base table under dba_java_policy. JAVA$POLICY$SHARED$00000XXX objects are of type "java data". The XXX is a sequence number (see Doc 415428.1). I guess it's using sequence JAVA$POLICY$SEQUENCE$. They match sys.JAVA$POLICY$SHARED$TABLE.version (convert them to decimal to compare). Dba_java_policy.seq may be using that same sequence. If so, each "java data" entry is a java security policy grant, probably done by exec dbms_java.grant_policy_permission (or grant_permission?).
Are you saying during the import, there're lots of JAVA$POLICY$SHARED$00000XXX but the source database does not have many at all? So it appears the import process itself makes grants, only during the import period?
已提交SR , 具体回复(目前暂无环境,还未回复):
The mentioned JAVA$POLICY$SHARED$xxx objects are JVM objects, so we would need to check this DB option in the DB where the problem is being reproduced.
To do so, please follow the indications under:
Script to Check the Status of the JVM within the Database (Doc ID 456949.1)
Also, and given you mentioned the problem can be reproduced, could you please try to reproduce it again and gather the following information?:
(1) To gather more information during the export process, run the impdp command with the following parameters: trace=480300 metrics=yes
(2)Attach event 10046 at level 12 to the DW process/es to trace their executions when the import hangs:
To do so:
(2.1) ALTER SYSTEM SET timed_statistics = TRUE SCOPE = memory;
(2.2) Identify the OSPID of the DW process while the process is hanging.
(2.3) In sqlplus, use oradebug to attach to the DW processes (O)SPID:
SQL> oradebug setospid xxx (xxx = ospid)
SQL> oradebug unlimit
SQL> oradebug Event 10046 trace name context forever, level 12
-- wait 20 minutes
SQL> oradebug Event 10046 trace name context off
SQL> oradebug dump errorstack 10
SQL> oradebug tracefile_name
(3) Gather the output from the following query several times a minute:
.
select s.sid, p.spid, w.event, w.wait_time,w.seconds_in_wait, w.p1,w.p2,w.p3
from v$session s, v$process p, v$session_wait w
where s.paddr=p.addr and s.module='Data Pump Worker' and s.sid=w.sid;
(4) Create standard tkprof output files for Data Pump Master and Worker SQL traces taken in step #2 above, for example:
% cd /oracle/admin/ORCL/BDUMP
% tkprof orcl_dw01_17294.trc tkprof__dw01_nnnn.out waits=y sort=exeela
(5) Upload:
* a copy of the alert.log with ONLY the information from the last database start up to the time of these errors.
* trace files from step#2
* tkprof output files from step #5
(6) Output of query in a txt file (please do not copy it to SR directly):
SET lines 200
COL owner_name FORMAT a10;
COL job_name FORMAT a20
COL state FORMAT a11
COL operation LIKE state
COL job_mode LIKE state
-- locate Data Pump jobs:
SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs
WHERE job_name NOT LIKE 'BIN$%' ORDER BY 1,2;
(7) Please provide output of:
opatch lsinventory -detail
show parameter
in separate txt files.
(8) Provide an AWR report taken at this moment (with the hanging impdp)
How to generate AWR report:
The AWR snapshots are by defaulted gathered every hour unless customer has disabled this feature or the jobs have trouble.
Only need to create AWR report based on the AWR snapshot.
To generate an AWR report simply execute the following script and pick the two snapshots you want to use for the sample (Oracle recommends using snapshots whose timestamps are no more than 60 minutes apart from each other):
$ORACLE_HOME/rdbms/admin/awrrpt.sql
|
|