首页 > 应用开发 > IT综合 > DBNEWID的用法----NID命令
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;
u_omar@ORCL> select * from global_name;
GLOBAL_NAME
--------------------
ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
u_omar@ORCL> alter database rename global_name to omar.oracle.com;
数据库已更改。
u_omar@ORCL> select * from global_name;
GLOBAL_NAME
--------------------
OMAR.ORACLE.COM
2:改变DBID
RMAN使用不同的DBID来区分不同的数据库
u_omar@ORCL> conn / as sysdba
已连接。
sys@OMAR> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
sys@OMAR> 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
数据库装载完毕。
sys@OMAR> host nid target=sys/biohazard@omar
DBNEWID: Release 10.2.0.1.0 - Production on 星期一 9月 10 22:59:16 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
sys@OMAR> conn sys/biohazard@orcl
ERROR:
ORA-01033: ORACLE 正在初始化或关闭
警告: 您不再连接到 ORACLE。
sys@OMAR> 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博客 ” ,链接:https://blog.itpub.net/9925929/viewspace-977514/ ,如需转载,请注明出处,否则将追究法律责任。