在oracle 10g上修改dbname的实验

1      【参考资料】

http://www.itpub.net/viewthread.php?tid=210292&extra=&page=1

http://vecentli.itpub.net/post/14011/385725

对以上资料的作者表示感谢

2      【环境参数】

 Vmware workstation ACE edition  version 6.0

 Windows server 2003  service pack 1

 Oracle 10.2.0.1.0

3      【执行步骤】

黑体部分是步骤/命令

SQL> conn /as sysdba

已连接。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount

ORACLE 例程已经启动。

 

Total System Global Area 1048576000 bytes

Fixed Size                  1252976 bytes

Variable Size             444596624 bytes

Database Buffers          599785472 bytes

Redo Buffers                2940928 bytes

数据库装载完毕。

SQL> quit

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options 断开

 

C:\Documents and Settings\Administrator>nid target=/as sysdba dbname=cslcs

 

DBNEWID: Release 10.2.0.1.0 - Production on 星期二 6 29 10:12:19 2010

 

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

 

口令:

已连接数据库 ORCL (DBID=1247201848)

 

已连接服务器版本 10.2.0

 

数据库中的控制文件数:

    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL

    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL

    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL

 

是否将数据库 ID 和数据库名 ORCL 更改为 CSLCS? (Y/[N]) => y

 

操作继续进行

将数据库 ID 1247201848 更改为 2653598407

将数据库名从 ORCL 更改为 CSLCS

    控制文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL - 已修改

    控制文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL - 已修改

    控制文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL - 已修改

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF - dbid 已更改,

已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF - dbid 已更改,

已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF - dbid 已更改,

已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF - dbid 已更改,

写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SALE_TS01.DBF - dbid 已更改,

已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\PAY_TS01.DBF - dbid 已更改,

已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\INDEX_TS01.DBF - dbid 已更改,

 已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\OTHER_TS01.DBF - dbid 已更改,

 已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REP_TS01.DBF - dbid 已更改,

已写入新名称

    数据文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF - dbid 已更改,

写入新名称

    控制文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL - dbid 已更改,

已写入新名称

    控制文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL - dbid 已更改,

已写入新名称

    控制文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL - dbid 已更改,

已写入新名称

    实例关闭

 

数据库名已更改为 CSLCS

修改参数文件并在重新启动前生成新的口令文件。

数据库 CSLCS 的数据库 ID 已更改为 2653598407

此数据库的所有以前的备份和归档重做日志均不可用。

数据库无法识别恢复区中以前的备份和归档日志。

数据库已关闭, RESETLOGS 选项打开数据库。

已成功更改数据库名和 ID

DBNEWID - 已成功完成。

 

C:\Documents and Settings\Administrator>orapwd file=C:\oracle\product\10.2.0\db_

1\database\PWDcslcs.ora password=sys enters=10 force=y

Usage: orapwd file= password= entries= force=

 

  where

    file - name of password file (mand),

    password - password for SYS (mand),

    entries - maximum number of distinct DBA and     force - whether to overwrit

e existing file (opt),

OPERs (opt),

  There are no spaces around the equal-to (=) character.

Orapwd命令

File 新生成的口令文件名

Password新口令

Enters sysdba权限的记录数(不详)

运气不好没执行过。

这个命令执行成功没有提示,会直接推出命令行。如果没有成功会显示命令的说明,如上。

 

C:\Documents and Settings\Administrator>orapwd file=C:\oracle\product\10.2.0\db_

1\database\PWDcslcs.ora password=sys

 

C:\Documents and Settings\Administrator>sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 6 29 10:28:36 2010

 

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

 

SQL> conn /as sysdba

已连接到空闲例程。

SQL> startup nomount

ORACLE 例程已经启动。

 

Total System Global Area 1048576000 bytes

Fixed Size                  1252976 bytes

Variable Size             444596624 bytes

Database Buffers          599785472 bytes

Redo Buffers                2940928 bytes

SQL> alter system set db_name=cslcs scope=spfile;

 

系统已更改。

 

SQL> shutdown immediate

ORA-01507: ??????

 

 

ORACLE 例程已经关闭。

>>手工修改了一把pfile文件中的db_name

SQL> startup mount;

ORACLE 例程已经启动。

 

Total System Global Area 1048576000 bytes

Fixed Size                  1252976 bytes

Variable Size             444596624 bytes

Database Buffers          599785472 bytes

Redo Buffers                2940928 bytes

数据库装载完毕。

SQL> alter database open resetlogs;

 

数据库已更改。

SQL> select dbid,name from v$database;

 

      DBID NAME

---------- ------------------

2653598407 CSLCS

 

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area 1048576000 bytes

Fixed Size                  1252976 bytes

Variable Size             448790928 bytes

Database Buffers          595591168 bytes

Redo Buffers                2940928 bytes

数据库装载完毕。

数据库已经打开。

SQL>

4      【参考步骤】

1.进行数据库完全备份以防万一修改失败

2.将数据库正常关闭然后MOUNT

SQL> connect / as sysdba

已连接。

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP MOUNT

(3).运行NID指定一个具有SYSDBA权限的ORACLE用户

C:\> NID TARGET=SYS/SYSYTMF DBNAME=O9201NEW 

注:改变DBID,新DBID值由工具自动生成不用指定,

O9201NEW是指定的新数据库NAME

也可以用NID TARGET=SYS/SYSYTMF@service_name DBNAME=O9201NEW

如果没有使用DBNAME参数则操作只改变DBID

也可以用操作系统验证如:NID TARTET=/

(4).修改提示成功后正常关闭数据库

  SQL> shutdown immediate;

ORA-01109: ??????

已经卸载数据库。

ORACLE 例程已经关闭。

(5).创建密码文件(要求还用原来的密码文件名字PWDO9201.ORA如果生成PWDO9201NEW.ORA则提示错误:原来文件找不到)

将原来的密码文件PWDO9201ORA随便改个名字然后执行:

c:\>orapwd file=f:\oracle\ora92\database\pwdo9201.ora password=sysytmf enters=10

确认是否成功生成密码文件

6,修改数据初始化参数文件中的DB_NAME 为新的的DB_NAME(O9201NEW)

SQL> startup nomount;

ORACLE 例程已经启动。

Total System Global Area  135338868 bytes

Fixed Size                   453492 bytes

Variable Size             109051904 bytes

Database Buffers           25165824 bytes

Redo Buffers                 667648 bytes

SQL> alter system set db_name=o9201new scope=spfile;

系统已更改。

(如果使用PFILE就手工修改相应值)

7

SQL> shutdown immediate;

ORA-01507: ??????

ORACLE 例程已经关闭。

8startup

SQL> startup;

ORACLE 例程已经启动。

Total System Global Area  135338868 bytes

Fixed Size                   453492 bytes

Variable Size             109051904 bytes

Database Buffers           25165824 bytes

Redo Buffers                 667648 bytes

数据库装载完毕。

ORA-01589: 要打开数据库则必须使用 RESETLOGS NORESETLOGS 选项

(9)RESETLOGS模式OPEN数据库(如果没有修改DBNAME就不必用RESETLOGS选项)

SQL> alter database open resetlogs;

数据库已更改。

SQL> select dbid,name from v$database;

      DBID NAME

---------- ---------

3677577861 O9201NEW

已选择 1 行。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11813230/viewspace-666559/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11813230/viewspace-666559/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值