修改ORACLE实例名
系统环境:CentOS 6.5
ORACLE版本:10.2
1、检查原来的数据库实例名
$ echo $ORACLE_SID
orcl
$ sqlplus / as sysdba
> select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
orcl
2、关闭数据库
> shutdown immediate;
> exit;
3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为doiido
$ vi /home/oracle/.bash_profile
export ORACLE_SID=doiido
$ source /home/oracle/.bash_profile
4、修改/etc/oratab文件,将sid名由orcl修改为doiido
$ vi /etc/oratab
doiido:/u01/app/oracle/11.2/db_1:Y
5、进入到$ORACLE_HOME/dbs目录
将所有文件名中包含原来的sid的修改为对应的新sid的
$ cd $ORACLE_HOME/dbs
$ mv hc_zf.dat hc_doiido.dat
$ mv lkZF lkDOIIDO
$ mv orapwzf orapwdoiido
$ mv spfilezf.ora spfiledoiido.ora
6、重建口令文件
因为口令文件改名后不能在新实例中使用,所以重建
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y
7、启动数据库
$ sqlplus / as sysdba
> startup
8、检查数据库实例名
通过如下语句检查数据库实例名,发现实例名已经由orcl变成doiido
> select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
doiido
这个时候虽然实例名字已经改成doiido,但是数据库名(dbname)仍然为orcl,因此在客户端仍旧无法连接,如需要连接,则需修改dbname