第6章:複製資料庫之克隆開啟的risenet資料庫
/* 2008/05/28
*環境:Windows XP +Oracle10.2.0.1
*Oracle 備份與恢復培訓教程 Kenny Smith,Stephan Haisley著 周琪、韓岷、李渝琳等譯
*第二部分:使用者管理的備份與恢復
*第6章:複製資料庫
*/
練習6.1:克隆開啟的risenet資料庫
1、準備克隆資料庫
為準備建立CLNE資料庫建立所有路徑:
C:\>set ORACLE_SID=CLNE
C:\>set ORACLE_BASE=G:\oracle
C:\>set ORACLE_HOME=G:\oracle\product\10.2.0\db_1
C:\>mkdir $ORACLE_ADMIN
C:\>mkdir G:\oracle\product\10.2.0\admin\clne
C:\>mkdir G:\oracle\product\10.2.0\admin\clne\pfile
C:\>mkdir G:\oracle\product\10.2.0\admin\clne\bdump
C:\>mkdir G:\oracle\product\10.2.0\admin\clne\cdump
C:\>mkdir G:\oracle\product\10.2.0\admin\clne\udump
C:\>mkdir G:\oracle\product\10.2.0\admin\clne\create
C:\>mkdir G:\oracle\product\10.2.0\oradata\clne
C:\>mkdir G:\oracle\product\10.2.0\oradata\clne\archive
複製引數檔案
C:\>copy G:\oracle\product\10.2.0\admin\risenet\pfile\init.ora.4282008152024 G:\
oracle\product\10.2.0\admin\clne\pfile
已複製 1 個檔案。
把init.ora.4282008152024改成init.ora,並開啟該檔案把"risenet"替換成"clne".
建立clne內部口令:
C:\>oradim -new -sid CLNE -intpwd CLNE
例項已建立。
2、備份開啟的risenet資料庫
C:\>sqlplus as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 5月 28 17:34:00 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @e:\open_backup.sql
複製備份的資料檔案到clne資料庫
C:\>copy E:\backup\*.dbf G:\oracle\product\10.2.0\oradata\clne
3、配置控制檔案指令碼
在risenet資料庫
SQL> alter database backup controlfile to trace resetlogs;
資料庫已更改。
生成一個包含了建立控制檔案所需的全部命令的檔案。檔案位置由user_dump_dest引數確定。
SQL> select value from v$parameter where name='user_dump_dest';
VALUE
--------------------------------------------------------------------------------
G:\ORACLE\PRODUCT\10.2.0\ADMIN\RISENET\UDUMP
SQL> show parameter user_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string G:\ORACLE\PRODUCT\10.2.0\ADMIN
\RISENET\UDUMP
把該*.trc檔案複製到G:\oracle\product\10.2.0\admin\clne\create中,並重新命名為create_control.sql
,刪除註釋,把create controlfile中的reuse改成set,改資料庫名稱
修改成後內容:
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "CLNE" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\REDO01.LOG' SIZE 50M,
GROUP 2 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\REDO02.LOG' SIZE 50M,
GROUP 3 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\REDO03.LOG' SIZE 50M
DATAFILE
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\SYSTEM01.DBF',
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\UNDOTBS01.DBF',
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\SYSAUX01.DBF',
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\USERS01.DBF',
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\RISE.DBF'
CHARACTER SET ZHS16GBK
;
最後把每個資料檔案和重做日誌檔案複製到G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\
4、執行控制檔案指令碼
G:\oracle\product\10.2.0\admin\clne\pfile\initclne.ora複製到G:\oracle\product\10.2.0\db_1\database\initclne.ora,啟動資料庫,
預設到該目錄尋找初始化引數
winnt>set oracle_sid=clne
winnt>cd G:\oracle\product\10.2.0\admin\clne\create
winnt>sqlplus /nolog
SQL>connect sys/mzl as sysdba
SQL> @create_control.sql
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 88081188 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
控制檔案已建立。
5、恢復克隆的資料庫
用risenet的歸檔日誌
SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
第 1 行出現錯誤:
ORA-00279: 更改 558001 (在 05/28/2008 17:35:06 生成) 對於執行緒 1 是必需的
ORA-00289: 建議:
G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\CLNE\ARCHIVELOG\2008_05_29\O1_MF_1_
3_%U_.ARC
ORA-00280: 更改 558001 (用於執行緒 1) 在序列 #3 中
關閉資料庫:shutdown immediate
啟動資料庫:startup mount
SQL> set logsource G:\oracle\product\10.2.0\flash_recovery_area\RISENET\ARCHIVE
OG\2008_05_28;
SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
第 1 行出現錯誤:
ORA-00275: 已經開始介質恢復
SQL> alter database recover cancel;
alter database recover cancel
*
第 1 行出現錯誤:
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194: 檔案 1 需要更多的恢復來保持一致性
ORA-01110: 資料檔案 1: 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\SYSTEM01.DBF'
SQL> recover database using backup controlfile;
ORA-00279: 更改 558001 (在 05/28/2008 17:35:06 生成) 對於執行緒 1 是必需的
ORA-00289: 建議:
G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\2008_05_28\ARC00
003_0655921947.001
ORA-00280: 更改 558001 (用於執行緒 1) 在序列 #3 中
指定日誌: {
cancel
介質恢復已取消。
SQL> select file#,checkpoint_change#,last_change# from v$datafile;
FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- ------------------ ------------
1 558001
2 558001
3 558001
4 558001
5 558001
SQL> select name,checkpoint_change# from v$database;
NAME CHECKPOINT_CHANGE#
--------- ------------------
CLNE 0
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 558001
2 558001
3 558001
4 558001
5 558001
由上面表可見資料庫的控制檔案的scn為0,與資料檔案的scn558001不一致。
在G:\oracle\product\10.2.0\db_1\database\initclne.ora上加個 _allow_resetlogs_corruption=true隱含引數
SQL> startup pfile='G:\oracle\product\10.2.0\db_1\database\initclne.ora';
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 88081188 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
ORA-01113: 檔案 1 需要介質恢復
ORA-01110: 資料檔案 1: 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\CLNE\SYSTEM01.DBF'
SQL> recover datafile 1;
完成介質恢復。
SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-00603: ORACLE 伺服器會話因致命錯誤而終止
關閉資料庫,重起資料庫正常:
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 88081188 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
資料庫已經開啟。
6、開啟克隆的資料庫,檢查資料
SQL> select * from test;
ID TIME
---------- --------------
1 28-5月 -08
不用關閉risenet資料庫,就克隆了clne資料庫。
問答:如果希望改變一個以有資料庫的名稱,將不得不重新建立控制檔案。在CREATE CONTROLFILE命令中哪
個關鍵字可以重新命名資料庫?
A、SET DATABASE
B、RENAME DATABASE
C、CHANGE DATABASE
D、 COPY DATABASE
答案:A
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-323015/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DM7資料複製之資料庫級複製資料庫
- 2.10 克隆資料庫資料庫
- GoldenGate異種資料庫之間的複製Go資料庫
- 資料庫複製(一)–複製介紹資料庫
- 資料庫主從複製資料庫
- 2.10.1.2 使用CloneDB克隆資料庫資料庫
- MySQL-主從複製之搭建從資料庫MySql資料庫
- MySQL-主從複製之搭建主資料庫MySql資料庫
- 分散式資料庫的複製原理 - Quastor分散式資料庫AST
- Mysql(Mariadb)資料庫主從複製MySql資料庫
- 使用RMAN複製資料庫 active database資料庫Database
- dimitri/pgcopydb:Postgres資料庫複製工具MITGC資料庫
- 資料庫複習資料庫
- mysql資料庫實現主從複製MySql資料庫
- 架構設計(二):資料庫複製架構資料庫
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- [20180529]克隆資料庫與dblinks注意.txt資料庫
- 2.10.1.3 使用 CloneDB克隆資料庫後續資料庫
- 2.10.1.1 有關使用CloneDB克隆資料庫資料庫
- 資料庫管理-第122期 配置Halo資料庫(202301204)資料庫
- 資料庫管理-第120期 初探Halo資料庫(202301201)資料庫
- 資料庫資料恢復—無備份,binlog未開啟的Mysql資料庫資料恢復案例資料庫資料恢復MySql
- 達夢資料庫如何將Excel表的資料複製到表中資料庫Excel
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 利用SQL Server Management Studio(SSMS)複製資料庫SQLServerSSM資料庫
- TiDB 異構資料庫複製最佳實踐TiDB資料庫
- 異構資料庫間批量表快速複製資料庫
- 資料庫複習(一)資料庫
- 複習資料庫原理資料庫
- 亞信安慧AntDB資料庫開啟分散式資料庫的新篇章資料庫分散式
- 資料庫管理-第124期 資料庫圈的夜郎自大,危!(202301213)資料庫
- 資料庫資料恢復-oracle資料庫報錯無法開啟的如何恢復資料?資料庫資料恢復Oracle
- RAC開啟資料庫歸檔資料庫
- Oracle資料庫開啟NUMA支援Oracle資料庫
- Laravel 開啟資料庫事務Laravel資料庫
- 怎樣開啟mongodb資料庫MongoDB資料庫
- php資料庫資料如何去除重複資料呢?PHP資料庫
- Postgresql10資料庫之更改資料庫的名稱SQL資料庫
- 資料庫系統概述之國產資料庫資料庫