当业务系统运行中,几天后发现前面删除了一个表,这个时候不能FLASHBACK DROP了。我们的传输表空间就能派上用场了
注意条件是在归档模式下
SQL> create tablespace rman datafile '/u01/app/oracle/oradata/shujukuai/rman.dbf‘ size 100m autoextend on next 10m maxsize 200m;
Tablespace created.
SQL> create table t tablespace rman as select * from dba_objects where rownum<1;
Table created.
SQL> insert into t select * from dba_objects;
50041 rows created.
SQL> commit;
Commit complete.
SQL> select sysdate from dual;
SYSDATE
---------
05-JUN-10
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> select sysdate from dual;
SYSDATE
-------------------
2010-06-05 17:03:20
SQL> drop table t purge;
Table dropped.
验证表空间RMAN是否自包含
SQL> execute dbms_tts.transport_set_check('rman',true);
PL/SQL procedure successfully completed.
SQL> select * from transport_set_violations;
no rows selected
SQL> create pfile='/u01/app/oracle/admin/shujukuai/pfile/shujukuai.ora' from spfile;
File created.
创建TARGET的密码文件及修改网络联系相关的配置使可以远程连接到TARGET实例
|
创建辅助实例的目录,分别在$ORACLE_BASE/oradata和$ORACLE_BASE/admin下建立相应的目录
|
创建辅助实例的PFILE,注意添加:log_file_name_convert和db_file_name_convert
|
辅助实例的PFILE中,db_unique_name必须不同与TARGET实例,但必须与ORACLE_SID、以及上述相关的目录名称相同,因为需要在本地登录辅助数据库
|
辅助实例的PFILE中,db_name必须与TARGET的db_name相同
|
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@RHEL5 admin]$ orapwd file=/u01/app/oracle/admin/testdb/orapwd.ora password=testdb;
[oracle@RHEL5 admin]$ vi $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
SHUJUKUA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = RHEL5.4)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = shujukuai)
)
)
testdb=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = RHEL5.4)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
[oracle@RHEL5 ~]$ cd $ORACLE_BASE/oradata
[oracle@RHEL5 oradata]$ mkdir testdb
[oracle@RHEL5 oradata]$ cd $ORACLE_BASE/admin
[oracle@RHEL5 admin]$ mkdir testdb
[oracle@RHEL5 admin]$ cp /u01/app/oracle/admin/shujukuai/pfile/shujukuai.ora /u01/app/oracle/admin/testdb/testdb.ora
[oracle@RHEL5 admin]$ vi /u01/app/oracle/admin/testdb/testdb.ora
shujukuai.__db_cache_size=146800640
shujukuai.__java_pool_size=4194304
shujukuai.__large_pool_size=4194304
shujukuai.__shared_pool_size=121634816
shujukuai.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/shujukuai/adump'
*.background_dump_dest='/u01/app/oracle/admin/shujukuai/bdump'
*.compatible='10.2.0.3.0'
*.control_files='/u01/app/oracle/oradata/shujukuai/control01.ctl','/u01/app/oracle/oradata/shujukuai/control02.ctl','/u01/app/oracle/oradata/shujukuai/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/shujukuai/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='shujukua'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.db_unique_name='testdb'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=shujukuaiXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=283115520
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/shujukuai/udump'
db_file_name_convert='/u01/app/oracle/oradata/shujukuai','/u01/app/oracle/oradata/testdb'
log_file_name_convert='/u01/app/oracle/oradata/shujukuai','/u01/app/oracle/oradata/testdb'
instance_name='testdb'
service_names='testdb'
[oracle@RHEL5 admin]$ export ORACLE_SID=testdb
[oracle@RHEL5 admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jun 5 18:58:56 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup nomount pfile='/u01/app/oracle/admin/testdb/testdb.ora'
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 2083368 bytes
Variable Size 88081880 bytes
Database Buffers 188743680 bytes
Redo Buffers 6303744 bytes
SQL> show parameter _name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string /u01/app/oracle/oradata/shujuk
uai, /u01/app/oracle/oradata/t
estdb
db_name string shujukua
db_unique_name string testdb
global_names boolean FALSE
instance_name string testdb
lock_name_space string
log_file_name_convert string /u01/app/oracle/oradata/shujuk
uai, /u01/app/oracle/oradata/t
estdb
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string testdb
验证DB_NAME与主库的一致。其他的不一致
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@RHEL5 admin]$ rman target sys/root@shujukua auxiliary /
Recovery Manager: Release 10.2.0.4.0 - Production on Sat Jun 5 19:04:52 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: SHUJUKUA (DBID=1082037606)
connected to auxiliary database: SHUJUKUA (not mounted)
RMAN> run{
2> allocate auxiliary channel t1 type disk;
3> recover tablespace 'RMAN' until time ='2010-06-05 17:03:20'
4> AUXILIARY DESTINATION '/u01/app/oracle/oradata/testdb/rman.dbf';
5> }
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21158541/viewspace-668378/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21158541/viewspace-668378/