修改Oracle数据库名称

本文介绍在CentOS5.5+Oracle11gR2环境下,如何将Oracle数据库名称从“orcl02”更改为“new_db”的详细步骤。包括修改服务器参数文件spfile中的db_name参数、创建新的控制文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

【实验前必知的信息】

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;

 

 

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

作者名:zjrodger 

地址:http://space.itpub.net/25851087或者http://blog.youkuaiyun.com/zjrodger


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值