oracle實驗記錄(手動dupliacate database(2))

fufuh2o發表於2009-08-27

這個跟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比複製的小

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-613437/,如需轉載,請註明出處,否則將追究法律責任。

相關文章