导航

21.3 DBNEWID

Posted on 2009-02-20 18:38  毅无涯  阅读(141)  评论(0编辑  收藏  举报

1. 改变全局数据库名

SQL> conn sys/orcl@demo as sysdba
已连接。

SQL> alter database rename global_name to demo.oracle.com;

数据库已更改。

SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------

DEMO.ORACLE.COM

2. 改变DBID

(1) 关闭并装载数据库。

(2) 改变 DBID。

(3) 装载并打开数据库。

SQL> conn sys/orcl@demo as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             176163764 bytes
Database Buffers          419430400 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> host nid target=sys/orcl@demo

DBNEWID: Release 10.2.0.1.0 - Production on 星期五 2月 20 18:23:36 2009

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

已连接数据库 DEMO (DBID=3411805505)

已连接服务器版本 10.2.0

数据库中的控制文件数:
    D:\DEMO\CONTROL01.CTL
    C:\DEMO\CONTROL01.CTL

是否更改数据库 DEMO 的数据库 ID? (Y/[N]) => Y

操作继续进行
将数据库 ID 从 3411805505 更改为 3423359081
    控制文件 D:\DEMO\CONTROL01.CTL - 已修改
    控制文件 C:\DEMO\CONTROL01.CTL - 已修改
    数据文件 D:\DEMO\SYSTEM01.DBF - dbid 已更改
    数据文件 D:\DEMO\UNDOTBS01.DBF - dbid 已更改
    数据文件 D:\DEMO\SYSAUX01.DBF - dbid 已更改
    数据文件 D:\DEMO\USERS01.DBF - dbid 已更改
    数据文件 D:\DEMO\TEMP01.DBF - dbid 已更改
    控制文件 D:\DEMO\CONTROL01.CTL - dbid 已更改
    控制文件 C:\DEMO\CONTROL01.CTL - dbid 已更改
    实例关闭

数据库 DEMO 的数据库 ID 已更改为 3423359081。
此数据库的所有以前的备份和归档重做日志均不可用。
数据库无法识别恢复区中以前的备份和归档日志。
数据库已关闭, 用 RESETLOGS 选项打开数据库。
已成功更改数据库 ID。
DBNEWID - 已成功完成。

SQL> startup mount
ORA-03113: 通信通道的文件结束
SQL> conn sys/orcl@demo as sysdba
已连接到空闲例程。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             176163764 bytes
Database Buffers          419430400 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> alter database open resetlogs;

数据库已更改。

3. 改变 DBNAME

(1) 关闭并装载数据库。

(2) 改变 DBNAME。

(3) 修改初始化参数 DB_NAME。

(4) 重新建立口令文件。

(5) 启动数据库。

SQL> conn sys/orcl@demo as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             180358068 bytes
Database Buffers          415236096 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> host nid target=sys/orcl@demo dbname=test setname=y

DBNEWID: Release 10.2.0.1.0 - Production on 星期五 2月 20 18:29:29 2009

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

已连接数据库 DEMO (DBID=3423359081)

已连接服务器版本 10.2.0

数据库中的控制文件数:
    D:\DEMO\CONTROL01.CTL
    C:\DEMO\CONTROL01.CTL

是否将数据库 DEMO 的数据库名更改为 TEST? (Y/[N]) => y

操作继续进行
将数据库名从 DEMO 更改为 TEST
    控制文件 D:\DEMO\CONTROL01.CTL - 已修改
    控制文件 C:\DEMO\CONTROL01.CTL - 已修改
    数据文件 D:\DEMO\SYSTEM01.DBF - 已写入新名称
    数据文件 D:\DEMO\UNDOTBS01.DBF - 已写入新名称
    数据文件 D:\DEMO\SYSAUX01.DBF - 已写入新名称
    数据文件 D:\DEMO\USERS01.DBF - 已写入新名称
    数据文件 D:\DEMO\TEMP01.DBF - 已写入新名称
    控制文件 D:\DEMO\CONTROL01.CTL - 已写入新名称
    控制文件 C:\DEMO\CONTROL01.CTL - 已写入新名称
    实例关闭

数据库名已更改为 TEST。
修改参数文件并在重新启动前生成新的口令文件。
已成功更改数据库名。
DBNEWID - 已成功完成。

修改 initdemo.ora

*.db_name='test'

SQL> host del %oracle_home%\database\pwddemo.ora

SQL> host orapwd file=%oracle_home%\database\pwddemo.ora password=orcl

SQL> conn sys/orcl@demo as sysdba
已连接到空闲例程。
SQL> startup pfile=%oracle_home%\database\initdemo.ora
ORACLE 例程已经启动。

Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             281021364 bytes
Database Buffers          314572800 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> create spfile from pfile;

文件已创建。