这个跟1的区别在于,没有经过中间备份,也就是,不是先备份 然后从备份位置转储到 复制位置,直接从primary database 复制到 复制库目录看看是否可行
另外对 复制库的日志也研究下
C:\>set oracle_sid=xhtest
C:\>sqlplus "/ as sysdba"
SQL> create table test (a int );
表已创建。
SQL> insert into test values(1);
已创建 1 行。
SQL> insert into test values(2);
已创建 1 行。
SQL> commit;
SQL> select sequence#,status,first_change# from v$log;
SEQUENCE# STATUS FIRST_CHANGE#
---------- ---------------- -------------
62 INACTIVE 670485
63 INACTIVE 670737
64 CURRENT 672738
SQL> select first_change#,next_change#,sequence# from v$archived_log
670737 672738 63
可以看出新建立的表test 在redo03.log中,未归档
C:\>oradim -new -sid xhtest5 -intpwd xh123
例程已创建。
C:\>mkdir d:\xhtest5\bdump
C:\>mkdir d:\xhtest5\cdump
C:\>mkdir d:\xhtest5\udump
C:\>mkdir d:\xhtest5\archive
参数文件配置:
*.background_dump_dest='d:\xhtest5\bdump'
*.compatible='10.1.0.2.0'
*.control_files='d:\xhtest5\control01.ctl'
*.core_dump_dest='d:\xhtest5\cdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='xhtest5'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='d:\xhtest5'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=xhtestXDB)'
*.java_pool_size=50331648
*.job_queue_processes=10
*.large_pool_size=8388608
*.log_archive_dest_1='location=D:\xhtest5\archive'
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=200000000
*.sort_area_size=65536
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='d:\xhtest5\udump'
*.instance_name='xhtest5'
*.service_names='xhtest5'
SQL> create spfile='d:\rman复制参数\spfilexhtest5.ora' from pfile='d:\rman复制
数\initxhtest5.ora'
2 ;
文件已创建。
set_oraclesid=xhtest 回主库做脚本
C:\>sqlplus " / as sydba"
SQL> select 'host copy '||file_name||' d:\xhtest5;' from dba_data_files;
'HOSTCOPY'||FILE_NAME||'D:\XHTEST5;'
------------------------------------------------------------------------------
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\USERS01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\SYSAUX01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\UNDOTBS01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\SYSTEM01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\EXAMPLE01.DBF d:\xhtest5;
host copy D:\自建表空间数据文件\TESTTB.DBF d:\xhtest5;
SQL> alter database begin backup;
数据库已更改。
SQL> @D:\oracle实验脚本\os备份数据文件2.txt
已复制 1 个文件。
已复制 1 个文件。
已复制 1 个文件。
已复制 1 个文件。
直接从主库复制到复制库xhtest5目录了
已复制 1 个文件。
已复制 1 个文件。
SQL> alter database end backup;
数据库已更改。
C:\>set oracle_sid=xhtest5
C:\>sqlplus " / as sysdba"
SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 7月 21 11:32:44 2008 干活!!!!!
Copyright (c) 1982, 2004, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 788552 bytes
Variable Size 263190456 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
SQL>
SQL> @D:\oracle实验脚本\duplicate控制文件脚本2.txt
控制文件已创建
CREATE CONTROLFILE set DATABASE "XHTEST5" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
LOGFILE
GROUP 1 'd:\xhtest5\REDO01.LOG' SIZE 10M,
GROUP 2 'd:\xhtest5\REDO02.LOG' SIZE 10M,
GROUP 3 'd:\xhtest5\REDO03.LOG' SIZE 10M
-- STANDBY LOGFILE
DATAFILE
'd:\xhtest5\SYSTEM01.DBF',
'd:\xhtest5\UNDOTBS01.DBF',
'd:\xhtest5\SYSAUX01.DBF',
'd:\xhtest5\USERS01.DBF',
'd:\xhtest5\EXAMPLE01.DBF',
'd:\xhtest5\TESTTB.DBF'
CHARACTER SET ZHS16GBK
;
SQL> set logsource 'F:\归档备份'
SQL> recover database until using backup controlfile;
ORA-00277: UNTIL ???? USING ?????
SQL> recover database until cancel using backup controlfile;
ORA-00279: ?? 674746 (? 07/21/2008 11:25:19 ??) ???? 1 ????
ORA-00289: ??:
F:\F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\1
0.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1ARC00064_0660131038.001
ORA-00280: ?? 674746 (???? 1) ??? #64 ?
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: ????????
'F:\F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\
10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1ARC00064_0660131038.001' 备份后 没有可以应用的归档日志
ORA-27041: ??????
OSD-04002: ????????????
O/S-Error: (OS 123) ????????????????????????????????
ORA-00308: ????????
'F:\F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\
10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1ARC00064_0660131038.001'
ORA-27041: ??????
OSD-04002: ????????????
O/S-Error: (OS 123) ????????????????????????????????
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01195: ?? 1 ??????????????????
ORA-01110: ???? 1: 'D:\XHTEST5\SYSTEM01.DBF'
指定日志: {=suggested | filename | AUTO | CANCEL}
F:\oracle\product\10.1.0\oradata\xhtest\redo03.log 应用了 在转储数据文件后产生的日志,在 online logfile中
已应用的日志。
完成介质恢复。
SQL>
SQL> alter database open resetlogs;
数据库已更改。
SQL> select * from test;
A
----------
1
2
SQL> select first_change#,next_change#,sequence# from v$archived_log
2 ;
未选定行
SQL> select first_change#,switch_change#,sequence# from v$loghist
2 ;
未选定行
SQL> select sequence#,status,first_scn from v$log;
select sequence#,status,first_scn from v$log
*
第 1 行出现错误:
ORA-00904: "FIRST_SCN": ?????
SQL> select sequence#,status,first_change# from v$log;
SEQUENCE# STATUS FIRST_CHANGE#
---------- ---------------- -------------
0 UNUSED 0
0 UNUSED 0
1 CURRENT 675344
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
675748
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 D:\xhtest5\archive
最早的联机日志序列 0
下一个存档日志序列 1
当前日志序列 1
SQL>
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 D:\xhtest5\archive
最早的联机日志序列 0
下一个存档日志序列 1
当前日志序列 1
SQL>
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 D:\xhtest5\archive
最早的联机日志序列 0
下一个存档日志序列 1
当前日志序列 1
SQL>
C:\>sqlplus "/ as sysdba"
SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 7月 21 11:42:11 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
675519 主库的scn比复制的小