概念
SID 数据库实例名
SQL> show parameter instance
DB_NAME 数据库名可以用DBNEWID (nid)命令更改DB_NAME
SQL> show parameter db_name
DBID 数据库建立时创建的内部数字用于区分不同数据库RMAN会用该数字来区分数据库当数据库都是正常创建时DBID是不一样的如果用复制的方法复制数据库它们的DBID就会一样可以用DBNEWID (nid)命令更改DBID
SQL> select dbid from v$database
下面开始更改SID本例中原SID名为oldsid更改为newsid
关闭数据库
SQL > create pfile from spfile; 生成initoldsidora 文件后续操作需要用到
SQL > shutdown immediate;
编辑环境变量
# vi /home/oracle/bash_profile
将其中的
export ORACLE_SID=oldsid 更改为
export ORACLE_SID=newsid
为使环境变量生效以oracle用户重新登录
重命名参数文件
# cd $ORACLE_HOME/dbs
# mv initoldsidora initnewsidora
参数文件内容无需更改如果本数据库是从另一台oracle服务器复制过来的那需要将参数文件中的路径和内存等配置进行修改这不属于本次任务
创建口令文件
orapwd file=$ORACLE_HOME/dbs/orapwnewsid password=oracle
至此SID已经更改完成数据库可以正常启动以下操作是额外部分
更改其他相关配置
更改listenerora
vi $ORACLE_HOME/network/admin/listenerora若其中配置了SID_NAME=OLDSID则需要更改为NEWSID然后重启监听# lsnctl restart
更改tnsnamesora
所有需要连接到本数据库的其他主机都需要更改tnsnamesora将SERVICE_NAME = OLDSID更改为SERVICE_NAME = NEWSID这样才能连接到本数据库