11g Oracle DBNEWID的改進
在11g中,DBNEWID工具也做了一些改進使用上更加的方便。
看一下11g的DBNEWID工具的操作:
bash-3.00$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on 星期二 4月 7 17:11:53 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select dbid, name from v$database;
DBID NAME
---------- ------------------
835491368 TEST11G
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
TEST11G.NETDB
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啟動。
Total System Global Area 5279498240 bytes
Fixed Size 2094528 bytes
Variable Size 3192597056 bytes
Database Buffers 2080374784 bytes
Redo Buffers 4431872 bytes
資料庫裝載完畢。
SQL> exit
從 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 斷開
下面執行NID命令:
bash-3.00$ nid target=/ dbname=new11g
DBNEWID: Release 11.1.0.6.0 - Production on 星期三 4月 8 00:52:41 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
已連線資料庫 TEST11G (DBID=835491368)
已連線伺服器版本 11.1.0
資料庫中的控制檔案數:
/data/oracle/oradata/test11g/control01.ctl
/data/oracle/oradata/test11g/control02.ctl
/data/oracle/oradata/test11g/control03.ctl
以下資料檔案是隻讀的:
/data/oracle/oradata/test11g/test01.dbf (6)
此實用程式必須能夠寫入這些檔案。
是否將資料庫 ID 和資料庫名 TEST11G 更改為 NEW11G? (Y/[N]) => y
操作繼續進行
將資料庫 ID 從 835491368 更改為 2655088921
將資料庫名從 TEST11G 更改為 NEW11G
控制檔案 /data/oracle/oradata/test11g/control01.ctl - 已修改
控制檔案 /data/oracle/oradata/test11g/control02.ctl - 已修改
控制檔案 /data/oracle/oradata/test11g/control03.ctl - 已修改
資料檔案 /data/oracle/oradata/test11g/system01.dbf - dbid 已更改, 已寫入新名稱
資料檔案 /data/oracle/oradata/test11g/sysaux01.dbf - dbid 已更改, 已寫入新名稱
資料檔案 /data/oracle/oradata/test11g/undotbs01.dbf - dbid 已更改, 已寫入新名稱
資料檔案 /data/oracle/oradata/test11g/users01.dbf - dbid 已更改, 已寫入新名稱
資料檔案 /data/oracle/oradata/test11g/yangtk01.dbf - dbid 已更改, 已寫入新名稱
資料檔案 /data/oracle/oradata/test11g/test01.dbf - dbid 已更改, 已寫入新名稱
資料檔案 /data/oracle/oradata/test11g/temp01.dbf - dbid 已更改, 已寫入新名稱
控制檔案 /data/oracle/oradata/test11g/control01.ctl - dbid 已更改, 已寫入新名稱
控制檔案 /data/oracle/oradata/test11g/control02.ctl - dbid 已更改, 已寫入新名稱
控制檔案 /data/oracle/oradata/test11g/control03.ctl - dbid 已更改, 已寫入新名稱
例項關閉
資料庫名已更改為 NEW11G。
修改引數檔案並在重新啟動前生成新的口令檔案。
資料庫 NEW11G 的資料庫 ID 已更改為 2655088921。
此資料庫的所有以前的備份和歸檔重做日誌均不可用。
資料庫無法識別恢復區中以前的備份和歸檔日誌。
資料庫已關閉, 用 RESETLOGS 選項開啟資料庫。
已成功更改資料庫名和 ID。
DBNEWID - 已成功完成。
可以看到,執行完NID命令後會自動關閉資料庫,而9i中是需要手工關閉的,而且11g的提示資訊更加詳細。
在11g的alert檔案中,DBNEWID工具會新增必要的資訊來說明所進行的修改:
*** DBNEWID utility started ***
DBID will be changed from 835491368 to new DBID of 2655088921 for database TEST11G
DBNAME will be changed from TEST11G to new DBNAME of NEW11G
Starting datafile conversion
Setting recovery target incarnation to 1
Datafile conversion complete
Database name changed to NEW11G.
Modify parameter file and generate a new password file before restarting.
Database ID for database NEW11G changed to 2655088921.
All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open with RESETLOGS option.
Succesfully changed database name and ID.
*** DBNEWID utility finished succesfully ***
而在9i中則看不到任何的資訊。
而且雖然Oracle提示需要重現生成新的密碼檔案,但是在11g不生成新的密碼檔案仍然可以正常登陸,而9i中則會報錯ORA-01991錯誤:
bash-3.00$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 4月 8 01:31:54 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
已連線到空閒例程。
SQL> startup nomount
ORACLE 例程已經啟動。
Total System Global Area 5279498240 bytes
Fixed Size 2094528 bytes
Variable Size 3192597056 bytes
Database Buffers 2080374784 bytes
Redo Buffers 4431872 bytes
SQL> alter system set db_name = new11g scope = spfile;
系統已更改。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啟動。
Total System Global Area 5279498240 bytes
Fixed Size 2094528 bytes
Variable Size 3192597056 bytes
Database Buffers 2080374784 bytes
Redo Buffers 4431872 bytes
資料庫裝載完畢。
SQL> alter database open resetlogs;
資料庫已更改。
最後在11g中,GLOBAL_NAME也會自動修改,而9i還必須手工的修改GLOBAL_NAME:
SQL> select dbid, name from v$database;
DBID NAME
---------- ------------------
2655088921 NEW11G
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
NEW11G.NETDB
當然這些改進是10g和11g兩個版本的改進,而不僅僅是11g一個版本的增強。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-586529/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11g Oracle ORAPWD的改進Oracle
- oracle passwordfile作用 &11g改進Oracle
- Oracle工具——DBNEWIDOracle
- oracle 11g對於表壓縮改進Oracle
- 11g DBNEWID工具修改DBID碰到的問題
- oracle 謂詞表示式對基數的影響(及11G改進)Oracle
- in_list 11g優化器改進優化
- DBNEWID Utility
- DBNEWID 筆記筆記
- goldengate 12c對oracle DB的改進GoOracle
- DBNEWID的用法----NID命令
- 11g中關於控制檔案自動備份的改進
- Oracle 11g資料庫改為非歸檔模式Oracle資料庫模式
- Oracle 10G 新特性--SQLPLUS的改進Oracle 10gSQL
- oracle效能改進方法論告訴我們!Oracle
- 10G DBNEWID工具的增強
- oracle 11g logminer 進行日誌挖掘Oracle
- DBNEWID工具使用二:更改DBNAME
- 利用DBNEWID工具來修改DBNAME
- 按照oracle效能改進方法論的步驟來優化系統!Oracle優化
- NOT IN ,NOT EXISTS 區別 11G改變
- Swift 4.1 中的 Codable 改進Swift
- Chrome渲染管道的效能改進Chrome
- 如何改進手上的機器學習模型機器學習模型
- windows 7的改進之處Windows
- 改進JAVA字串分解的方法Java字串
- 新手筆記-持續改進實踐:開發計劃的改進 (轉)筆記
- dbnewid修改dbid和庫名
- oracle 11g中的 oracle restart特性OracleREST
- JavaScript四捨五入的改進JavaScript
- 又拍雲 Redis 的改進之路Redis
- 如何改進你的指令碼程式指令碼
- 改進的sql計算n王后SQL
- ASP.NET Web Forms的改進ASP.NETWebORM
- 第一個hiberbate的改進BAT
- 有沒有改進版本的XPetstore?
- 對通用骨架提取方法的改進
- GoldenGate 不支援從oracle 11g的 active dataguard 目的端進行extractGoOracle