您的位置:首页 > 数据库 > Oracle

linux的oracle修改实例名SID

2016-02-10 11:03 513 查看
1、检查原来的数据库实例名

$ echo $ORACLE_SID

orcl

$ sqlplus / as sysdba

> select instance from v$thread;

INSTANCE

orcl

2、关闭数据库

> shutdown immediate;

> exit;

3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为exoaidc

$ vi /home/oracle/.bash_profile

export ORACLE_SID=exoaidc

$ source /home/oracle/.bash_profile

4、修改/etc/oratab文件,将sid名由orcl修改为linux

$ vi /etc/oratab

exoa:/u01/app/oracle/11.2/db_1:Y

5、进入到$ORACLE_HOME/dbs目录

将所有文件名中包含原来的sid的修改为对应的新sid的

$ cd $ORACLE_HOME/dbs

$ mv hc_zf.dat hc_exoa.dat

$ mv lkZF lkexoa

$ mv orapwzf orapwexoa

$ mv spfilezf.ora spfileexoa.ora

6、重建口令文件

因为口令文件改名后不能在新实例中使用,所以重建

$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y

7、启动数据库

$ sqlplus / as sysdba

> startup

8、检查数据库实例名

通过如下语句检查数据库实例名,发现实例名已经由orcl变成exoa

> select instance from v$thread;

INSTANCE

exoa

接下来要修改监听器,因为修改了sid,但是监听器此时还是配置原来的orcl的sid

修改$ORACLE_HOME\network\admin\listener.ora文件

SID_LIST_LISTENER =

        (SID_LIST =

             (SID_DESC =

                   (SID_NAME = PLSExtProc)

                   (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

                   (PROGRAM = extproc)

             )

            (SID_DESC =

                   (GLOBAL_DBNAME = orcl)

                   (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

                   (SID_NAME = ORCL)

            )

        )

把ORCL改成exoa即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle linux