DBNEWID的用法----NID命令

OmarChina發表於2007-10-18
dbnewid使用者改變DBID和dbname
dbid----資料庫內部標識
dbname----標識資料庫名稱[@more@]

dbnewid使用者改變DBID和dbname
dbid----資料庫內部標識
dbname----標識資料庫名稱
D:oracleproduct10.2.0oradataORCL>nid

DBNEWID: Release 10.2.0.1.0 - Production on 星期一 9月 10 22:47:04 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

關鍵字 說明 (預設值)
----------------------------------------------------
TARGET 使用者名稱/口令 (無)
DBNAME 新的資料庫名 (無)
LOGFILE 輸出日誌 (無)
REVERT 還原失敗的更改 否
SETNAME 僅設定新的資料庫名 否
APPEND 附加至輸出日誌 否
HELP 顯示這些訊息 否

1,改變全域性資料庫名
NID命令不可以改變。可以sysdba身份登陸
alter database rename global_name;

> select * from global_name;

GLOBAL_NAME

--------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM

> alter database rename global_name to omar.oracle.com;

資料庫已更改。

> select * from global_name;

GLOBAL_NAME
--------------------
OMAR.ORACLE.COM

2:改變DBID
RMAN使用不同的DBID來區分不同的資料庫
> conn / as sysdba
已連線。
> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
> startup mount
ORACLE 例程已經啟動。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
> host nid

DBNEWID: Release 10.2.0.1.0 - Production on 星期一 9月 10 22:59:16 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

> conn
ERROR:
ORA-01033: ORACLE 正在初始化或關閉


警告: 您不再連線到 ORACLE。
> conn / as sysdba
已連線。
idle> host nid target=sys/biohazard

DBNEWID: Release 10.2.0.1.0 - Production on 星期一 9月 10 22:59:54 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

已連線資料庫 ORCL (DBID=1160763128)

已連線伺服器版本 10.2.0

資料庫中的控制檔案數:
D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL
D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL
D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL

是否更改資料庫 ORCL 的資料庫 ID? (Y/[N]) => y

操作繼續進行
將資料庫 ID 從 1160763128 更改為 1160758635
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL - 已修改
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL - 已修改
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL - 已修改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF - dbid 已更改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF - dbid 已更改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF - dbid 已更改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF - dbid 已更改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF - dbid 已更改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLTEST01.DBF - dbid 已更改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLTEMP01.DBF - dbid 已更改
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL - dbid 已更改
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL - dbid 已更改
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL - dbid 已更改
例項關閉

資料庫 ORCL 的資料庫 ID 已更改為 1160758635。
此資料庫的所有以前的備份和歸檔重做日誌均不可用。
資料庫無法識別恢復區中以前的備份和歸檔日誌。
資料庫已關閉, 用 RESETLOGS 選項開啟資料庫。
已成功更改資料庫 ID。
DBNEWID - 已成功完成。


idle> startup mount
ORACLE 例程已經啟動。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
idle> alter database open resetlogs;

資料庫已更改。

3:改變DBNAME
當使用高階複製技術的時候,要求在不同伺服器的資料庫名稱不能相同
如故不同伺服器的資料庫的名稱相同,並且需要在二者間執行高階複製
必須修改一個資料庫的名稱。
兩種方法:
A:使用重建控制檔案
B:使用DBNEWID工具
B方法如下:
idle> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
idle> startup mount
ORACLE 例程已經啟動。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 79693156 bytes
Database Buffers 83886080 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
idle> host nid target=sys/biohazard dbname=omar setname=y

DBNEWID: Release 10.2.0.1.0 - Production on 星期一 9月 10 23:08:51 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

已連線資料庫 ORCL (DBID=1160758635)

已連線伺服器版本 10.2.0

資料庫中的控制檔案數:
D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL
D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL
D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL

是否將資料庫 ORCL 的資料庫名更改為 OMAR? (Y/[N]) => y

操作繼續進行
將資料庫名從 ORCL 更改為 OMAR
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL - 已修改
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL - 已修改
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL - 已修改
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF - 已寫入新名稱
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF - 已寫入新名稱
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF - 已寫入新名稱
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF - 已寫入新名稱
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF - 已寫入新名稱
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLTEST01.DBF - 已寫入新名稱
資料檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLTEMP01.DBF - 已寫入新名稱
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL - 已寫入新名稱
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL - 已寫入新名稱
控制檔案 D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL - 已寫入新名稱
例項關閉

資料庫名已更改為 OMAR。
修改引數檔案並在重新啟動前生成新的口令檔案。
已成功更改資料庫名。
DBNEWID - 已成功完成。


idle> show parameter db_name
ORA-03113: 通訊通道的檔案結束


idle> conn / as sysdba
已連線到空閒例程。
idle> show parameter db_name
ORA-01034: ORACLE not available


idle> startup nomount
ORACLE 例程已經啟動。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 79693156 bytes
Database Buffers 83886080 bytes
Redo Buffers 2945024 bytes
idle> show parameter db_name

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------

db_name string ORCL
idle> alter system set db_name=omar scope=spfile;

系統已更改。

idle> host del %oracle_home%databasepwdorcl.ora
系統找不到指定的路徑。

idle> host orapwd file=D:oracleproduct10.2.0db_1databasepwdomar.ora password=biohaza
rd entries=6;

idle> shutdown immediate
ORA-01507: ??????


ORACLE 例程已經關閉。
idle> startup mount
ORACLE 例程已經啟動。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 79693156 bytes
Database Buffers 83886080 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
idle> alter database open;

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

相關文章