ITPub博客

首页 > 应用开发 > IT综合 > DBNEWID的用法----NID命令

DBNEWID的用法----NID命令

原创 IT综合 作者:OmarChina 时间:2007-10-18 23:45:33 0 删除 编辑
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;

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博客 ” ,链接:http://blog.itpub.net/9925929/viewspace-977514/,如需转载,请注明出处,否则将追究法律责任。

上一篇: DBVERIFY的使用
下一篇: 10G FLASHBACK
请登录后发表评论 登录
全部评论
  • 博文量
    68
  • 访问量
    997752