|
|---|
|
|
| 在oracle9i中測(cè)試通過 案例: 舊數(shù)據(jù)庫([color=blue]OLDDB[/color]) 文件存放(data files,redo files,control files,temp files, undo files)目錄是([color=blue]/u01/OLDDB[/color]) dump文件目錄是[color=blue](/u01/dump[/color]) 新數(shù)據(jù)庫([color=red]NEWDB[/color]) 文件存放(data files,redo files,control files,temp files, undo files)目錄是([color=red]/u02/NEWDB[/color]) dump文件目錄是([color=red]/u02/dump[/color])
1. 生成舊數(shù)據(jù)庫初始化參數(shù)文件(init{SID}.ora)和文本格式的控制文件(control.txt) alter database backup controlfile to trace as ‘/tmp/control.txt‘ create pfile from spfile
2. 關(guān)閉舊數(shù)據(jù)庫
3. 將舊數(shù)據(jù)庫存放文件和dump的目錄移動(dòng)到新數(shù)據(jù)庫存放文件和dump的目錄(如果不更改存放的目錄可以不執(zhí)行該步驟) mv [color=blue]/u01/OLDDB[/color] [color=red]/u02/NEWDB[/color] mv [color=blue]/u01/dump[/color] [color=red]/u02/dump[/color]
4. 進(jìn)入$ORACLE_HOME/dbs目錄,拷貝OLDDB的pfile成NEWDB的pfile,同時(shí)修改NEWDB的pfile文件. cd $ORACLE_HOME/dbs cp initOLDDB.ora initNEWDB.ora 修改initNEWDB.ora文件 a. db_name和instance_name參數(shù)更改成新數(shù)據(jù)庫的名稱(NEWDB) b. background_dump_desc,core_dump_desc和user_dump_desc參數(shù)所指定存放新數(shù)據(jù)庫存放dump信息的目錄(/u02/dump) c. control_files參數(shù)所指定存放新數(shù)據(jù)庫的控制文件目錄及名稱(‘/u02/NEWDB/control01.ctl‘,‘/u02/NEWDB/control02.ctl‘)
5. 編輯control.txt文件,新生成newdb.sql和newdb1.sql文件 拷貝control.txt文件中以下行到/tmp/newdb.sql文件中 --------------- CREATE CONTROLFILE [color=blue]REUSE[/color] DATABASE "[color=blue]OLDDB[/color]" RESETLOGS NOARCHIVELOG -- SET STANDBY TO MAXIMIZE PERFORMANCE MAXLOGFILES 5 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 453 LOGFILE GROUP 1 ‘/[color=blue]u01/OLDDB[/color]/redo01.log‘ SIZE 10M, GROUP 2 ‘/[color=blue]u01/OLDDB[/color]/redo02.log‘ SIZE 10M, ... GROUP n ‘/[color=blue]u01/OLDDB[/color]/redo0n.log‘ SIZE 10M -- STANDBY LOGFILE DATAFILE ‘/[color=blue]u01/OLDDB[/color]/system01.dbf‘, ‘/[color=blue]u01/OLDDB[/color]/undotbs01.dbf‘, ‘/[color=blue]u01/OLDDB[/color]/indx01.dbf‘, ‘/[color=blue]u01/OLDDB[/color]/tools01.dbf‘, ‘/[color=blue]u01/OLDDB[/color]/users01.dbf‘, ‘/[color=blue]u01/OLDDB[/color]/xdb01.dbf‘, ... ‘/[color=blue]u01/OLDDB[/color]/filename.dbf‘ CHARACTER SET ZHS16GBK ; ------------- 并修改/tmp/newdb.sql文件 a. REUSE ->; SET b. OLDDB ->; NEWDB c. 存放目錄 /u01/OLDDB ->; /u02/NEWDB(如果不更改存放的目錄可以不執(zhí)行該步驟) 更改后/tmp/newdb.sql文件內(nèi)容如下 --------------- CREATE CONTROLFILE [color=red]SET[/color] DATABASE "[color=red]NEWDB[/color]" RESETLOGS NOARCHIVELOG -- SET STANDBY TO MAXIMIZE PERFORMANCE MAXLOGFILES 5 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 453 LOGFILE GROUP 1 ‘/[color=red]u02/NEWDB[/color]/redo01.log‘ SIZE 10M, GROUP 2 ‘/[color=red]u02/NEWDB[/color]/redo02.log‘ SIZE 10M, ... GROUP n ‘/[color=red]u02/NEWDB[/color]/redo0n.log‘ SIZE 10M -- STANDBY LOGFILE DATAFILE ‘/[color=red]u02/NEWDB[/color]/system01.dbf‘, ‘/[color=red]u02/NEWDB[/color]/undotbs01.dbf‘, ‘/[color=red]u02/NEWDB[/color]/indx01.dbf‘, ‘/[color=red]u02/NEWDB[/color]/tools01.dbf‘, ‘/[color=red]u02/NEWDB[/color]/users01.dbf‘, ‘/[color=red]u02/NEWDB[/color]/xdb01.dbf‘, ... ‘/[color=red]u02/NEWDB[/color]/filename.dbf‘ CHARACTER SET ZHS16GBK ; -------------
拷貝control.txt文件中以下行到/tmp/newdb1.sql文件中 ------------- ALTER TABLESPACE TEMP ADD TEMPFILE ‘/[color=blue]u01/OLDDB[/color]/temp01.dbf‘ SIZE 524288000 REUSE AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M; ... ALTER TABLESPACE TEMPn ADD TEMPFILE ‘/[color=blue]u01/OLDDB[/color]/tempn.dbf‘ SIZE 524288000 REUSE AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M; ------------- 并修改/tmp/newdb.sql文件 a. 存放目錄 /u01/OLDDB ->; /u02/NEWDB(如果不更改存放的目錄可以不執(zhí)行該步驟) 更改后/tmp/newdb1.sql文件內(nèi)容如下 ------------- ALTER TABLESPACE TEMP ADD TEMPFILE ‘/[color=red]u02/NEWDB[/color]/temp01.dbf‘ SIZE 524288000 REUSE AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M; ... ALTER TABLESPACE TEMPn ADD TEMPFILE ‘/[color=red]u02/NEWDB[/color]/tempn.dbf‘ SIZE 524288000 REUSE AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M; -------------
6. 刪除新數(shù)據(jù)庫pfile文件(initNEWDB.ora)中control_files參數(shù)所指定的控制文件. rm /u02/NEWDB/*.ctl
7. 啟動(dòng)新數(shù)據(jù)庫(NEWDB)到nomount狀態(tài),使用initNEWDB.ora參數(shù)文件 startup nomount pfile=?/dbs/initNEWDB.ora
8. 執(zhí)行/tmp/newdb.sql文件,重建控制文件 @/tmp/newdb.sql
9. 使用resetlogs選項(xiàng)打開新數(shù)據(jù)庫(NEWDB) alter database open resetlogs
10. 執(zhí)行/tmp/newdb1.sql文件,重建臨時(shí)表空間 @/tmp/newdb2.sql
11. 查看v$database和v$instance視圖,是不是數(shù)據(jù)庫名稱已更改
|
|
|
|