一般情况下,不需要修改数据库名称。但如果修改了数据库名,客户机就必须重新进行网络服务名的配置,才能连接到数据库。

 

【实验前必知的信息】

1. 平台环境:CentOS5.5 + Oracle 11g R2

2. 要求:将数据库名称由原来的“orcl02修改成“new_db

3.  ORACLE_SID=Instance02

$ORACLE_BASE=/u01

$ORACLE_HOME=/u01/oracle

4. 存放服务器参数文件spfile 文本参数文件pfile的路径:

   Oracle需找参数文件的默认路径:/u01/oracle/dbs/

spfile文件的路径:/u01/oracle/dbs/spfileInstance02.ora

   pfile文件的路径:/u01/oracle/dbs/initInstance02.ora

 

 

Step 1 修改spfiledb_name参数。

注意

        要修改spfile文件中的db_name参数,并不能使用“alter system set db_name=’new_db’ scope=spfile”这个命令,因为通过查询“v$parameter”动态性能视图可知,参数db_name的“ISSYS_MODIFIABLE”列的属性值是FALSE

 

SQL> select name, issys_modifiable from v$parameter where name=’db_name’;

 

NAME              ISSYS_MOD

——————        ——————–

db_name             FALSE

 

     因此,要修改db_name参数,只能重新创建spfile文件。创建步骤如下:

     先将二进制的spfile文件转化成文本的pfile

SQL> create pfile=’/u01/oracle/dbs/initInstance02.ora’ from spfile=’/u01/oracle/dbs/spfileInstance02.ora’

     编辑initInstance02.ora 文件,将参数db_name修改为“new_db

     根据修改后的initIntance02.ora文件,创建新的spfile

SQL> create spfile=’/u01/oracle/dbs/spfileInstance02.ora’ from pfile=’/u01/oracle/dbs/initInstance02.ora’

至此,新的服务器参数文件spfile创建完毕,初始化参数db_name修改成功。

 

 

Step 2将数据库启动到nomount状态,使db_name参数生效。

 

 

Step 3创建新的控制文件

create controlfile reuse SET database “new_db” resetlogs noarchivelog

MAXLOGFILES 8

MAXLOGMEMBERS 4

MAXLOGHISTORY 292

MAXDATAFILES 100

MAXINSTANCES 4

LOGFILE

GROUP 1 (‘/u01/redo01.log’,’/u01/oradata/orcl02/redo01.log’) SIZE 50M BLOCKSIZE512,

GROUP 2 (‘/u01/redo02.log’,’/u01/oradata/orcl02/redo02.log’) SIZE 50M BLOCKSIZE512

DATAFILE

‘/u01/oradata/orcl02/system01.dbf’,

‘/u01/oradata/orcl02/sysaux01.dbf’,

‘/u01/oradata/orcl02/undo01.dbf’,

‘/u01/oradata/orcl02/users01.dbf’

CHARACTER SET US7ASCII;

 

其中,“SET”选项表示用database之后的新数据库名“new_db”覆盖现有的数据库名orcl02

resetlogs”表示重新设置当前的重做日志文件。

当控制文件创建完毕后,Oracle会自动打开控制文件,将数据库置于mount状态。

 

 

Step 4将数据库启动到open状态。

SQL> alter database open resetlogs;

       注意,因为在创建控制文件时指定了resetlogs选项,所以在open数据库时,也必须指定resetlogs选项。

 

 

Step 5重建临时表空间中的临时数据文件。

打开数据库后,重建临时表空间,以便用户可以顺利的进行大型的排序操作。

SQL> alter tablespace temptbs01 add tempfile ‘/u01/oradata/orcl02/temptbs01.dbf’ size 50m reuse autoextend on maxsize unlimited;

 

 

读者如要转载,请标明出处和作者名,谢谢。

地址:http://space.itpub.net/25851087

作者名:zjrodger 

 

 

 

 

 

 

 

 

 

 

 

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

转载于:http://blog.itpub.net/25851087/viewspace-764032/