有时候我们需要修改Oracle数据库的SID(实例名),本文简单介绍如何修改Oracle的实例名。
1、查看现在的实例名
[oracle@database ~]$ echo $ORACLE_SID
orcl
[oracle@database ~]$ sqlplus / as sysdba
SQL>select instance from v$thread;
INSTANCE
-----------------------
orcl
2、关闭数据库
SQL>shutdown immediate;
SQL>exit;
3、修改oracle用户的环境变量,将原来的orcl改成你想要的名字,比如tigerdoo。
[oracle@database ~]$sed -i 's/orcl/tigerdoo/g' ~/.bash_profile
[oracle@database ~]$sed -i 's/orcl/tigerdoo/g' /etc/oratab
4、进入$ORACLE_HOME/dbs目录,将所有文件名包含原SID的改为现在的SID(orcl->tigerdoo),应该有5个文件需要修改。
[oracle@database ~]$cd $ORACLE_HOME/dbs
[oracle@database dbs]$mv hc_orcl.dat hc_tigerdoo.dat
......
5、重建口令文件
[oracle@database ~]$orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y
6、启动数据库
[oracle@database ~]$sqlplus / as sysdba
SQL>startup
SQL>select instance from v$thread;
INSTANCE
-----------------------------
tigerdoo
可以看到,SID已经变成我们改的tigerdoo了。但是这个方法修改的只是实例名,数据库名(db_name)还是之前的orcl,如果要通过客户端连接数据库,数据库名还得用之前的名字哦。
不过修改db_name的话,需要改动的地方很多,有时候还不如直接创建一个新的表空间来的爽快一些。