有時候我們需要修改Oracle數據庫的實例名SID,下面是在Centos 6.5下修改ORACLE10.2的實例名的實例教程,感興趣學習的朋友可以看下。
修改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修改為linuxidc
$ vi /home/oracle/.bash_profile
export ORACLE_SID=linuxidc
$ source /home/oracle/.bash_profile
4、修改/etc/oratab文件,將sid名由orcl修改為linuxidc
$ vi /etc/oratab
linuxidc:/u01/app/oracle/11.2/db_1:Y
5、進入到$ORACLE_HOME/dbs目錄
將所有文件名中包含原來的sid的修改為對應的新sid的
$ cd $ORACLE_HOME/dbs
$ mv hc_zf.dat hc_linuxidc.dat
$ mv lkZF lklinuxidc
$ mv orapwzf orapwlinuxidc
$ mv spfilezf.ora spfilelinuxidc.ora
6、重建口令文件
因為口令文件改名後不能在新實例中使用,所以重建
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y
7、啟動數據庫
$ sqlplus / as sysdba
> startup
8、檢查數據庫實例名
通過如下語句檢查數據庫實例名,發現實例名已經由orcl變成linuxidc
> select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
linuxidc
這個時候雖然實例名字已經改成linuxidc,但是數據庫名(dbname)仍然為orcl,因此在客戶端仍舊無法連接,如需要連接,則需修改dbname