oracle實驗記錄 (手動 duplicate database(3))
08.08.28 實驗
C:\Documents and Settings\6688>cd\
C:\>sqlplus "/ as sysdba"
SQL*Plus: Release 10.1.0.2.0 - Production on 星期四 8月 28 10:38:44 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>
SQL> create pfile from spfile;
檔案已建立。
修改成複製庫的 引數
*.background_dump_dest='d:\xhtest6\bdump'
*.compatible='10.1.0.2.0'
*.control_files='d:\xhtest6\control01.ctl'
*.core_dump_dest='d:\xhtest6\cdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='xhtest6'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='d:\xhtest6'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=xhtestXDB)'
*.java_pool_size=50331648
*.job_queue_processes=10
*.large_pool_size=8388608
*.log_archive_dest_1='location=D:\xhtest6\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:\xhtest6\udump'
*.instance_name='xhtest6'
*.service_names='xhtest6'
SQL> create spfile='d:\rman複製引數\spfilexhtest6.ora' from pfile='d:\rman複製參
數\initxhtest6.ora';
檔案已建立。
C:\>oradim -new -sid xhtest6 -intpwd a831115
例程已建立。
SQL> alter database begin backup;
資料庫已更改。
SQL> @D:\oracle實驗指令碼\os備份資料檔案.txt
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
SQL> alter database end backup;
資料庫已更改。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~把檔案都複製到xhtest6目錄下
主庫在 備份完資料檔案後有些變化~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SQL> select * from test
2 ;
A
----------
8
8
444
2
99
989
6666
7777
8888
8
8
已選擇11行。
SQL> insert into test values (898989);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> insert into test values (595959);
已建立 1 行。
SQL> alter system switch logfile;
系統已更改。
SQL> insert into test values (6969696969);
已建立 1 行。
SQL> alter system archive log current;
系統已更改。
SQL> select * from test;
A
----------
8
8
444
2
99
989
6666
7777
8888
898989
595959
A
----------
6969696969
8
8
已選擇14行。
SQL>
C:\>set oracle_sid=xhtest6
C:\>sqlplus "/ as sysdba"
SQL*Plus: Release 10.1.0.2.0 - Production on 星期四 8月 28 12:04:14 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> @D:\oracle實驗指令碼\duplicate控制檔案指令碼.txt
控制檔案已建立
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~複製所有備份檔案到xhtest6目錄
SQL>
SQL> startup force mount;
ORACLE 例程已經啟動。
Total System Global Area 289406976 bytes
Fixed Size 788552 bytes
Variable Size 263190456 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
資料庫裝載完畢。
*
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> @D:\oracle實驗指令碼\duplicate控制檔案指令碼.txt
CREATE CONTROLFILE set DATABASE "XHTEST6" NORESETLOGS ARCHIVELOG~~~~~~~~~~~一個小實驗, noresetlogs,控制檔案需要redofile資訊,但xhtest還沒有redofile
*
第 1 行出現錯誤:
ORA-01503: CREATE CONTROLFILE ??
ORA-01223: ???? RESETLOGS ?????????
改成這樣CREATE CONTROLFILE set DATABASE "XHTEST6" RESETLOGS ARCHIVELOG
SQL> @D:\oracle實驗指令碼\duplicate控制檔案指令碼.txt~~~~~~~~~~~~~~~~~~~ 建立好 ,直接就到了 mount載入狀態
控制檔案已建立
SQL>
SQL> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
SQL>
SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
2065273
2065273
2065273
2065273
2065273
2065273
已選擇6行。
SQL> select checkpoint_change#,last_change# from v$datafile;
CHECKPOINT_CHANGE# LAST_CHANGE#
------------------ ------------
2065273
2065273
2065273
2065273
2065273
2065273
已選擇6行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
0
SQL>
SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ??
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出現錯誤:
ORA-01195: ?? 1 ??????????????????
ORA-01110: ???? 1: 'D:\XHTEST6\SYSTEM01.DBF'
SQL> recover database;
ORA-00283: ??????????
ORA-01610: ?? BACKUP CONTROLFILE ??????????
SQL> set logsource 'F:\歸檔備份'
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 2065273 (? 08/28/2008 11:58:54 ??) ???? 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_1ARC00084_0663689986.001
ORA-00280: ?? 2065273 (???? 1) ??? #84 ?
指定日誌: {
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_1ARC00084_0663689986.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_1ARC00084_0663689986.001'
ORA-27041: ??????
OSD-04002: ????????????
O/S-Error: (OS 123) ????????????????????????????????
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01195: ?? 1 ??????????????????
ORA-01110: ???? 1: 'D:\XHTEST6\SYSTEM01.DBF'
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出現錯誤:
ORA-01195: ?? 1 ??????????????????
ORA-01110: ???? 1: 'D:\XHTEST6\SYSTEM01.DBF'
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 2065273 (? 08/28/2008 11:58:54 ??) ???? 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_1ARC00084_0663689986.001
ORA-00280: ?? 2065273 (???? 1) ??? #84 ?
指定日誌: {
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_1ARC00084_0663689986.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_1ARC00084_0663689986.001'
ORA-27041: ??????
OSD-04002: ????????????
O/S-Error: (OS 123) ????????????????????????????????
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01195: ?? 1 ??????????????????
ORA-01110: ???? 1: 'D:\XHTEST6\SYSTEM01.DBF'
SQL> recover datafile 1;
ORA-00283: ??????????
ORA-01610: ?? BACKUP CONTROLFILE ??????????
SQL>
SQL> select group#,status,sequence# from v$log
2 ;
GROUP# STATUS SEQUENCE#
---------- ---------------- ----------
1 UNUSED 0
2 UNUSED 0
3 INVALIDATED 0
SQL> startup force mount;
ORACLE 例程已經啟動。
Total System Global Area 289406976 bytes
Fixed Size 788552 bytes
Variable Size 263190456 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
資料庫裝載完畢。
SQL> set logsource 'F:\歸檔備份'
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 2065273 (在 08/28/2008 11:58:54 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00084_0663689986.001
ORA-00280: 更改 2065273 (用於執行緒 1) 在序列 #84 中
指定日誌: {
auto
ORA-00279: 更改 2068637 (在 08/28/2008 13:37:36 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00085_0663689986.001
ORA-00280: 更改 2068637 (用於執行緒 1) 在序列 #85 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00084_0663689986.001'
ORA-00279: 更改 2070928 (在 08/28/2008 14:02:46 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00086_0663689986.001
ORA-00280: 更改 2070928 (用於執行緒 1) 在序列 #86 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00085_0663689986.001'
ORA-00279: 更改 2072583 (在 08/28/2008 14:24:49 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00087_0663689986.001
ORA-00280: 更改 2072583 (用於執行緒 1) 在序列 #87 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00086_0663689986.001'
ORA-00279: 更改 2074329 (在 08/28/2008 14:56:46 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00088_0663689986.001
ORA-00280: 更改 2074329 (用於執行緒 1) 在序列 #88 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00087_0663689986.001'
ORA-00279: 更改 2074428 (在 08/28/2008 15:00:08 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00089_0663689986.001
ORA-00280: 更改 2074428 (用於執行緒 1) 在序列 #89 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00088_0663689986.001'
ORA-00279: 更改 2075948 (在 08/28/2008 15:33:37 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00090_0663689986.001
ORA-00280: 更改 2075948 (用於執行緒 1) 在序列 #90 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00089_0663689986.001'
ORA-00279: 更改 2075964 (在 08/28/2008 15:34:24 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00091_0663689986.001
ORA-00280: 更改 2075964 (用於執行緒 1) 在序列 #91 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00090_0663689986.001'
ORA-00279: 更改 2075980 (在 08/28/2008 15:34:57 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:\歸檔備份\ARC00092_0663689986.001
ORA-00280: 更改 2075980 (用於執行緒 1) 在序列 #92 中
ORA-00278: 此恢復不再需要日誌檔案 'F:\歸檔備份\ARC00091_0663689986.001'
ORA-00308: 無法開啟歸檔日誌 'F:\歸檔備份\ARC00092_0663689986.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。
SQL>
SQL> alter database open resetlogs;
資料庫已更改。
SQL>
SQL>
SQL> select * from test;
A
----------
8
8
444
2
99
989
6666
7777
8888
898989
8
A
----------
8
已選擇12行。 6 595959 6969696969,少了這2資料,原因很簡單不在歸檔日誌裡,歸檔時候這2資料還在logbuffer中沒寫進redologfile
6969696969 是啟動alter system archive log current 歸檔當前日誌沒有產生CKPT
595959 是alter system switch logfile 這個命令 會吧 已經COMMIT的資料寫進資料檔案
SQL>
~~~~~簡單例:
~~~~~~~~~~未COMMIT的 可以rollback
SQL> select * from test;(XHTEST)上
A
----------
8
8
444
2
99
989
6666
7777
8888
898989
595959
A
----------
6969696969
8
8
已選擇14行。
SQL> insert into test values(777777778);
已建立 1 行。
SQL> alter system switch logfile;
系統已更改。
SQL> select * from test;
A
----------
8
8
444
2
99
989
6666
7777
8888
898989
8
A
----------
8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~回退了
已選擇12行。
SQL> insert into test values (6969696969);
已建立 1 行。
SQL> commit;~~~~~~~~~~~~~~~~提交
提交完成。
SQL> rollback;
回退已完成。
SQL> select * from test;
A
----------
8
8
444
2
99
989
6666
7777
8888
898989
6969696969~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~一旦提交就回退不了了
A
----------
8
8
已選擇13行。
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-613443/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle實驗記錄 手工 duplicate database(1)OracleDatabase
- oracle實驗記錄Rman duplicate database(1)OracleDatabase
- oracle實驗記錄Rman duplicate database 2OracleDatabase
- oracle實驗記錄(手動dupliacate database(2))OracleDatabase
- Oracle 10g FLASHBACK DATABASE 實驗記錄Oracle 10gDatabase
- oracle實驗記錄 (oracle 10G rman transport database)OracleDatabase
- oracle實驗記錄 (手動建立 physical datagurad)Oracle
- oracle實驗記錄 (dump undo3)Oracle
- oracle實驗記錄 (oracle 詳細分析redo(3))Oracle
- oracle實驗記錄 (PFILE 啟動SPFILE)Oracle
- oracle實驗記錄 (database_properties與表空間屬性)OracleDatabase
- oracle實驗記錄 (移動outlines)Oracle
- 配置oracle 9i physical standby database時,duplicate命令的執行記錄OracleDatabase
- oracle實驗記錄 (flashback)Oracle
- oracle實驗記錄 (OMF)Oracle
- oracle實驗記錄 (NET)Oracle
- oracle實驗記錄 (audit)Oracle
- Oracle 11G Duplicate DatabaseOracleDatabase
- oracle實驗記錄 (oracle reset parameter)Oracle
- oracle實驗記錄 (oracle 10G dataguard(3)檔案管理)Oracle
- Oracle Data Redaction實驗記錄Oracle
- oracle實驗記錄 (block cleanout)OracleBloC
- oracle實驗記錄 (dump undo)Oracle
- oracle實驗記錄 (inlist card)Oracle
- oracle實驗記錄 (oracle 資料字典)Oracle
- oracle實驗記錄 (恢復-關於控制檔案(3))Oracle
- duplicate databaseDatabase
- Oracle檔案改名實驗記錄Oracle
- oracle實驗記錄 (選擇率)Oracle
- oracle實驗記錄 (dump logfile)Oracle
- oracle實驗記錄 (事務控制)Oracle
- oracle實驗記錄 (函式index)Oracle函式Index
- oracle實驗記錄 (bigfile tablespace)Oracle
- oracle實驗記錄 (恢復-redo)Oracle
- oracle實驗記錄 (expdp/impdp使用)Oracle
- oracle實驗記錄 (transport tablespace(Rman))Oracle
- oracle實驗記錄 (使用exp/imp)Oracle
- oracle實驗記錄 (恢復-表空間基於時間點恢復(手動))Oracle