linux/unix下修改oracle实例名的方法
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 (执行完按i编辑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