标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,758)
- DB2 (22)
- MySQL (76)
- Oracle (1,600)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (165)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (588)
- Oracle安装升级 (96)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (84)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
- 11.2.0.4库中遇到ORA-600 kcratr_nab_less_than_odr报错
- [MY-013183] [InnoDB] Assertion failure故障处理
- Oracle 19c 202504补丁(RUs+OJVM)-19.27
- Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
- pdu完美支持金仓数据库恢复(KingbaseES)
- 虚拟机故障引起ORA-00310 ORA-00334故障处理
- pg创建gbk字符集库
- PostgreSQL运行日志管理
- ora-600 kdsgrp1 错误描述
- GAM、SGAM 或 PFS 页上存在页错误处理
- ORA-600 krhpfh_03-1208
月归档:六月 2012
To find the TX Enqueue contention in a RAC or OPS environment
今天查找TX Enqueue看到的一篇文章,拿出来共享下
PURPOSE ------------- To find the TX Enqueue contention in a RAC or OPS environment What is TX Enqueue ? In one word oracle is maintaining queue for transaction. How Many Resources ? 1/ active transaction How Many Locks? 1/transaction + 1/process waiting for a locked row by that transaction. How Many Users? 1 + 1/ process waiting for something locked by this transaction. Who Uses? All processes What need to investigate? The mode of TX (6/4), Holding/Waiting/Requesting SCOPE & APPLICATION ===================== This document will help to analyze the application design related to transaction bottlenecks and database performance tuning. Let start with an example: =================== create table akdas (A1 number, Col1 Varchar2(10), Col2 Varchar2(10)); insert into akdas values(5,'Hello','Hi'); insert into akdas values(6,'Sudip','Datta'); insert into akdas values(7,'Preetam','Roy'); insert into akdas values(8,'Michael','Polaski'); From Node 1: ========== update akdas set a1=11 where a1=6; From Node 2: ========== update akdas set a1=12 where a1=7; update akdas set a1=11 where a1=6; /* this will wait for Node1: to complete the transaction */ This Note Is Made To Analyzing Only the TX-Mode-6 (Exclusive). 1. Now run the following query to track down the problem: Who is waiting =================================================================== prompt prompt Query 1. Waiting for TX Enqueue where mode is Exclusive prompt ===================================== prompt set linesize 100 set pagesize 66 col c1 for a15 col c1 heading "Program Name " select l.inst_id,l.SID,program c1,l.TYPE,l.ID1,l.ID2,l.LMODE,l.REQUEST from gv$lock l,gv$session s where l.type like 'TX' and l.REQUEST =6 and l.inst_id=s.inst_id and l.sid=s.sid order by id1 / Output will be here =============== INST_ID SID Program Name TY ID1 ID2 LMODE REQUEST ----------- ---------- ------------------ --- -------- -------- ---------- -------- 2 13 sqlplus@opcbsol TX 393236 780 0 6 2 (TNS V1-V3) It is clear that SID 12 of instance 2 is doing a DML and waiting on REQUEST Mode 6. 2. Let's run the next query to find who is holding =========================================== prompt prompt prompt Query 2. Holding for TX Enqueue where mode greater than 6 prompt ======================================= prompt set linesize 100 set pagesize 66 col c1 for a15 col c1 heading "Program Name " select l.inst_id,l.SID,program c1,l.TYPE,l.ID1,l.ID2,l.LMODE,l.REQUEST from gv$lock l,gv$session s where l.type like 'TX' and l.LMODE =6 and (l.ID1,l.ID2) in (select id1,id2 from gv$lock where type like 'TX' and REQUEST =6) and l.inst_id=s.inst_id and l.sid=s.sid order by id1 / Output will be here =============== INST_ID SID Program Name TY ID1 ID2 LMODE REQUEST ---------- ---------- -------------- --- ---------- -------- ----------- -------- 1 12 sqlplus@opcbsol TX 393236 780 6 0 1 (TNS V1-V3) So holder is SID 12 on instance 1. Where LMODE = 6. 3. Let's find out the exact file#, block# and Record# where it is waiting =============================================================== prompt prompt prompt Query 3. Object# ,File#, Block# and Slot# TX Enqueue in detail prompt ======================================== prompt set linesize 110 col c0 for 999 col c0 heading "INS" col c1 for a15 col c1 heading "Program Name " select inst_id c0,sid,program c1,ROW_WAIT_OBJ# object_no, ROW_WAIT_FILE# Rfile_no, ROW_WAIT_BLOCK# Block_no ,ROW_WAIT_ROW# Row_no from gv$session where (inst_id,sid) in (select inst_id,sid from gv$session_wait where p1='1415053318') / Output Will be here =============== INS SID Program Name OBJECT_NO RFILE_NO BLOCK_NO ROW_NO ----- ---------- ------------- --------------- --------- ------- 2 13 sqlplus@opcbsol 7261 9 12346 1 2 (TNS V1-V3) From the output, it is clear that it is waiting on Relative_File# 9, Block# 12346, Row Number 1. Here Row Number 1 means the slot number in the block 12346. This Row_No start from 0 (zero). 4. Let's Find the object details ============================= prompt prompt prompt Query 4. Object Involve for TX Enqueue in detail prompt =============================== prompt set linesize 100 set pagesize 100 col owner for a10 col object_name for a20 col object_type for a10 select owner,object_name,object_id,object_type from dba_objects where object_id in (select ROW_WAIT_OBJ# from gv$session where (inst_id, sid) in (select inst_id,sid from gv$session_wait where p1='1415053318')) / Output Will be here =============== OWNER OBJECT_NAME OBJECT_ID OBJECT_TYP --------- ------------ -------- ----------- AKDAS AKDAS 7261 TABLE 5. Let’s find the row value details ============================= prompt prompt prompt Query 5. Finding the row value prompt ==================== prompt select * from <Owner>.<Table Name> where rowid like DBMS_ROWID.ROWID_CREATE(1,&Object_No,&Rfile_No, &Block_No, &Row_Number) / From query 3 and 4 we will get the value for all variables. Owner = AKDAS Table_Name = AKDAS Object_No = 7261 Rfile_No = 9 Block_No = 12346 Row_Number = 1 Output Will be here =============== A1 Col1 Col2 ---------- --------------- ---------- 6 Hello Hi So we can drag down to the row value where TX Enqueue contention exists. 6. Let’s find the user activity that is "Holder" and "Waiter" ==================================================== set linesize 120 set pagesize 66 col c0 for 999 col c0 heading "INS" col c1 for a9 col c1 heading "OS User" col c2 for a9 col c2 heading "Oracle User" col c3 for a15 col c3 heading "Program Name" col b1 for a9 col b1 heading "Unix PID" col b2 for 9999 justify left col b2 heading "ORA SID" col b3 for 999999 justify left col b3 heading "SERIAL#" col sql_text for a45 set space 1 break on b1 nodup on c0 nodup on c3 nodup on c1 nodup on c2 nodup on b2 nodup on b3 skip 2 select a.inst_id c0,b.sid b2,c.spid b1, b.program c3, b.username c2,b.serial# b3, a.sql_text from gv$sql a, gv$session b, gv$process c where a.address = b.sql_address and b.paddr = c.addr and a.hash_value = b.sql_hash_value and a.inst_id=b.inst_id and a.inst_id=c.inst_id and a.inst_id like '&inst_id' and b.sid like '&sid' order by c.spid,a.hash_value / This query asks the Instance Number and Sid number, which you can get from step 1 and 2. But remember , you can see the waiter activity, but you may not see the holder activity. Reason is, the holder is sitting idle after doing the DML operation. So SQL for Holder should not be seen under gv$sql. This all query can be run for single instance database, but all GV$ view need to replace to V$ and there is no INST_ID for V$ View, that part need to be taken care.
来自:How to Find TX Enqueue Contention in RAC or OPS [ID 179582.1]
发表在 Oracle性能优化
评论关闭
Oracle 11g丢失access$恢复方法
最近接触到两个案例都是11g数据库因为异常关闭导致access$表丢失,使得数据库不能正常open.为什么这个表会丢失还未找到原因.我这里提供一种在upgrade模式下解决给问题方法.
数据库版本
SQL> select * from v$version; BANNER -------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "xifenfei" from dual; xifenfei -------------------------------------- 2012-06-22 05:28:57
数据库启动报ORA-00704
SQL> startup ORACLE instance started. Total System Global Area 523108352 bytes Fixed Size 1346052 bytes Variable Size 448792060 bytes Database Buffers 67108864 bytes Redo Buffers 5861376 bytes Database mounted. ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist Process ID: 1782 Session ID: 125 Serial number: 5
找出ORA-00704报错原因
SQL> conn / as sysdba Connected to an idle instance. SQL> startup mount; ORACLE instance started. Total System Global Area 523108352 bytes Fixed Size 1346052 bytes Variable Size 448792060 bytes Database Buffers 67108864 bytes Redo Buffers 5861376 bytes Database mounted. SQL> oradebug setmypid Statement processed. SQL> oradebug EVENT 10046 TRACE NAME CONTEXT FOREVER, LEVEL 12 Statement processed. SQL> oradebug TRACEFILE_NAME /u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_2010.trc SQL> alter database open; alter database open * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist Process ID: 2010 Session ID: 125 Serial number: 5
查看trace文件发现
PARSE ERROR #3063868604:len=56 dep=1 uid=0 oct=3 lid=0 tim=1340312320595472 err=942 select order#,columns,types from access$ where d_obj#=:1 ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist *** 2012-06-22 04:58:40.596 USER (ospid: 2010): terminating the instance due to error 704
启动数据库至upgrade模式
SQL> startup upgrade ORACLE instance started. Total System Global Area 523108352 bytes Fixed Size 1346052 bytes Variable Size 448792060 bytes Database Buffers 67108864 bytes Redo Buffers 5861376 bytes Database mounted. Database opened.
创建access$表和index
SQL> create table access$ 2 ( d_obj# number not null, 3 order# number not null, 4 columns raw(126), 5 types number not null) 6 storage (initial 10k next 100k maxextents unlimited pctincrease 0) 7 / Table created. SQL> create index i_access1 on 2 access$(d_obj#, order#) 3 storage (initial 10k next 100k maxextents unlimited pctincrease 0) 4 / Index created. --创建语句可以在?\RDBMS\ADMIN\dcore.bsq中找到
重启数据库
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 523108352 bytes Fixed Size 1346052 bytes Variable Size 448792060 bytes Database Buffers 67108864 bytes Redo Buffers 5861376 bytes Database mounted. Database opened.
access$表作用(感谢vmcd同学提供)
When a database object is first referenced in a PL/SQL program, the PL/SQL engine checks the ACCESS$ table (owned by SYS) to see if the executor of the program has authority on that database object.
对于access$表丢失以前记录是否对系统产生严重影响还未知,希望知道的朋友告知下
使用dul恢复asm中数据
大家都知道新版本的odu可以在asm不启动的情况下挖数据文件,其实在新版本的dul中,也可以绕过asm挖数据文件,而且操作起来更加方便.
环境准备
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production --查询asm disk SQL> select group_number,DISK_NUMBER,PATH 2 from v$asm_disk where group_number<>0; GROUP_NUMBER DISK_NUMBER PATH ------------ ----------- -------------------- 1 0 /dev/raw/raw2 1 1 /dev/raw/raw3 SQL> conn chf/xifenfei Connected. --创建测试表 SQL> create table t_xifenfei 2 as 3 select object_id,object_name from dba_objects where rownum<10; Table created. SQL> select * from t_xifenfei; OBJECT_ID OBJECT_NAME ---------- -------------------------------- 44 I_USER1 28 CON$ 15 UNDO$ 29 C_COBJ# 3 I_OBJ# 25 PROXY_ROLE_DATA$ 39 I_IND1 51 I_CDEF2 9 rows selected. --数据文件 SQL> select name from v$datafile; NAME ---------------------------------------------------------------------- +XIFENFEI/asm10g/datafile/system.256.786578479 +XIFENFEI/asm10g/datafile/undotbs1.258.786578481 +XIFENFEI/asm10g/datafile/sysaux.257.786578481 +XIFENFEI/asm10g/datafile/users.259.786578481 +XIFENFEI/asm10g/datafile/xff.265.786578851 --关闭数据库 SQL> shutdown immediate; ORA-01031: insufficient privileges SQL> conn / as sysdba Connected. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options --关闭asm [oracle@xifenfei home]$ export ORACLE_SID=+ASM [oracle@xifenfei home]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 22 00:18:18 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> shutdown immediate ASM diskgroups dismounted ASM instance shutdown SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [oracle@xifenfei home]$ ps -ef|grep ASM oracle 18885 10980 0 00:18 pts/0 00:00:00 grep ASM [oracle@xifenfei home]$ ps -ef|grep ora_ oracle 18887 10980 0 00:18 pts/0 00:00:00 grep ora_
初始化参数配置
[oracle@xifenfei dul]$ vi init.dul db_block_size=8192 control_file = control.dul dc_segments=100000 osd_word_size = 32 osd_big_endian_flag=false osd_dba_file_bits=10 osd_c_struct_alignment=32 osd_file_leader_size=1 osd_word_size = 32 dc_columns=2000000 dc_tables=10000 dc_objects=1000000 dc_users=400 dc_segments=100000 control_file = control.dul db_block_size=8192 export_mode=false compatible=10 BUFFER=10485760
控制文件配置
[oracle@xifenfei dul]$ more control.dul disk /dev/raw/raw2 disk /dev/raw/raw3 0 1 +XIFENFEI/asm10g/datafile/system.256.786578479 1 2 +XIFENFEI/asm10g/datafile/undotbs1.258.786578481 2 3 +XIFENFEI/asm10g/datafile/sysaux.257.786578481 4 4 +XIFENFEI/asm10g/datafile/users.259.786578481 6 5 +XIFENFEI/asm10g/datafile/xff.265.786578851
使用dul恢复表测试
--启动dul [oracle@xifenfei dul]$ ./dul Data UnLoader: 10.2.0.5.13 - Internal Only - on Thu Jun 21 23:49:46 2012 with 64-bit io functions Copyright (c) 1994 2012 Bernard van Duijnen All rights reserved. Strictly Oracle Internal Use Only DUL: Warning: Recreating file "dul.log" Disk group XIFENFEI, dul group_cid 0 Discovered disk /dev/raw/raw2 as diskgroup XIFENFEI, disk number 0 size 784 Mb File1 starts at 2, dul_disk_cid 0 Discovered disk /dev/raw/raw3 as diskgroup XIFENFEI, disk number 1 size 7059 Mb without File1 meta data, dul_disk_cid 1 DUL: Warning: Dictionary cache DC_ASM_EXTENTS is empty DUL: Error: Filedir block not allocated, file does not exist DUL: Error: Could not load asm meta data for group XIFENFEI file 9 Oracle data file size 503324672, block size 8192 Found db_id = 123111609 Found db_name = ASM10G Oracle data file size 26222592, block size 8192 Oracle data file size 251666432, block size 8192 Oracle data file size 5251072, block size 8192 --加载数据字典 DUL> bootstrap; Probing file = 1, block = 377 . unloading table BOOTSTRAP$ DUL: Warning: block number is non zero but marked deferred trying to process it anyhow 57 rows unloaded DUL: Warning: Dictionary cache DC_BOOTSTRAP is empty Reading BOOTSTRAP.dat 57 entries loaded Parsing Bootstrap$ contents DUL: Warning: Recreating file "dict.ddl" Generating dict.ddl for version 10 OBJ$: segobjno 18, file 1 block 121 TAB$: segobjno 2, tabno 1, file 1 block 25 COL$: segobjno 2, tabno 5, file 1 block 25 USER$: segobjno 10, tabno 1, file 1 block 89 Running generated file "@dict.ddl" to unload the dictionary tables . unloading table OBJ$ 50806 rows unloaded . unloading table TAB$ 1560 rows unloaded . unloading table COL$ 54822 rows unloaded . unloading table USER$ 57 rows unloaded Reading USER.dat 57 entries loaded Reading OBJ.dat 50806 entries loaded and sorted 50806 entries Reading TAB.dat 1560 entries loaded Reading COL.dat 54822 entries loaded and sorted 54822 entries Reading BOOTSTRAP.dat 57 entries loaded DUL: Warning: Recreating file "dict.ddl" Generating dict.ddl for version 10 OBJ$: segobjno 18, file 1 block 121 TAB$: segobjno 2, tabno 1, file 1 block 25 COL$: segobjno 2, tabno 5, file 1 block 25 USER$: segobjno 10, tabno 1, file 1 block 89 TABPART$: segobjno 266, file 1 block 2121 INDPART$: segobjno 271, file 1 block 2161 TABCOMPART$: segobjno 288, file 1 block 2297 INDCOMPART$: segobjno 293, file 1 block 2345 TABSUBPART$: segobjno 278, file 1 block 2217 INDSUBPART$: segobjno 283, file 1 block 2257 IND$: segobjno 2, tabno 3, file 1 block 25 ICOL$: segobjno 2, tabno 4, file 1 block 25 LOB$: segobjno 2, tabno 6, file 1 block 25 COLTYPE$: segobjno 2, tabno 7, file 1 block 25 TYPE$: segobjno 181, tabno 1, file 1 block 1297 COLLECTION$: segobjno 181, tabno 2, file 1 block 1297 ATTRIBUTE$: segobjno 181, tabno 3, file 1 block 1297 LOBFRAG$: segobjno 299, file 1 block 2393 LOBCOMPPART$: segobjno 302, file 1 block 2425 UNDO$: segobjno 15, file 1 block 105 TS$: segobjno 6, tabno 2, file 1 block 57 PROPS$: segobjno 96, file 1 block 721 Running generated file "@dict.ddl" to unload the dictionary tables . unloading table OBJ$ DUL: Warning: Recreating file "OBJ.ctl" 50806 rows unloaded . unloading table TAB$ DUL: Warning: Recreating file "TAB.ctl" 1560 rows unloaded . unloading table COL$ DUL: Warning: Recreating file "COL.ctl" 54822 rows unloaded . unloading table USER$ DUL: Warning: Recreating file "USER.ctl" 57 rows unloaded . unloading table TABPART$ 72 rows unloaded . unloading table INDPART$ 80 rows unloaded . unloading table TABCOMPART$ 0 rows unloaded . unloading table INDCOMPART$ 0 rows unloaded . unloading table TABSUBPART$ 0 rows unloaded . unloading table INDSUBPART$ 0 rows unloaded . unloading table IND$ 2213 rows unloaded . unloading table ICOL$ 3618 rows unloaded . unloading table LOB$ 528 rows unloaded . unloading table COLTYPE$ 1688 rows unloaded . unloading table TYPE$ 1885 rows unloaded . unloading table COLLECTION$ 551 rows unloaded . unloading table ATTRIBUTE$ 7051 rows unloaded . unloading table LOBFRAG$ 1 row unloaded . unloading table LOBCOMPPART$ 0 rows unloaded . unloading table UNDO$ 21 rows unloaded . unloading table TS$ 7 rows unloaded . unloading table PROPS$ 27 rows unloaded Reading USER.dat 57 entries loaded Reading OBJ.dat 50806 entries loaded and sorted 50806 entries Reading TAB.dat 1560 entries loaded Reading COL.dat 54822 entries loaded and sorted 54822 entries Reading TABPART.dat 72 entries loaded and sorted 72 entries Reading TABCOMPART.dat 0 entries loaded and sorted 0 entries Reading TABSUBPART.dat 0 entries loaded and sorted 0 entries Reading INDPART.dat 80 entries loaded and sorted 80 entries Reading INDCOMPART.dat 0 entries loaded and sorted 0 entries Reading INDSUBPART.dat 0 entries loaded and sorted 0 entries Reading IND.dat 2213 entries loaded Reading LOB.dat 528 entries loaded Reading ICOL.dat 3618 entries loaded Reading COLTYPE.dat 1688 entries loaded Reading TYPE.dat 1885 entries loaded Reading ATTRIBUTE.dat 7051 entries loaded Reading COLLECTION.dat 551 entries loaded Reading BOOTSTRAP.dat 57 entries loaded Reading LOBFRAG.dat 1 entries loaded and sorted 1 entries Reading LOBCOMPPART.dat 0 entries loaded and sorted 0 entries Reading UNDO.dat 21 entries loaded Reading TS.dat 7 entries loaded Reading PROPS.dat 27 entries loaded Database character set is ZHS16GBK Database national character set is AL16UTF16 --恢复表 DUL> unload table chf.t_xifenfei; . unloading table T_XIFENFEI 9 rows unloaded
验证恢复数据库
[oracle@xifenfei dul]$ ll CHF_T_XIFENFEI* -rw-r--r-- 1 oracle oinstall 269 Jun 22 00:26 CHF_T_XIFENFEI.ctl -rw-r--r-- 1 oracle oinstall 134 Jun 22 00:26 CHF_T_XIFENFEI.dat [oracle@xifenfei dul]$ more CHF_T_XIFENFEI.ctl load data CHARACTERSET UTF8 infile 'CHF_T_XIFENFEI.dat' insert into table "CHF"."T_XIFENFEI" fields terminated by whitespace ( "OBJECT_ID" CHAR(2) enclosed by X'22' ,"OBJECT_NAME" CHAR(16) enclosed by X'22' ) [oracle@xifenfei dul]$ more CHF_T_XIFENFEI.dat "20" "ICOL$" "44" "I_USER1" "28" "CON$" "15" "UNDO$" "29" "C_COBJ#" "3" "I_OBJ#" "25" "PROXY_ROLE_DATA$" "39" "I_IND1" "51" "I_CDEF2"