linux -Oracle数据库修改 ORACLE_SID

instance_name 是 oracle 数据库参数。而ORACLE_SID 是操作系统的环境变量,两者不一样,
但是ORACLE_SID 必须与 instance_name 的值一致,随意两个必须一起修改。
linux 平台:
以 ORACLE11g 为例,举例说明更改 SID 名称的过程。假如数据库的 SID 叫 orcl,现在改成 coco,有以下7个步骤:

1、登录数据库查看先前的 sid

sqlplus / as sysdba
startup
select instance from v$thread;
shutdown immediate;

2.编辑/etc/oratab 文件,把所有 orcl 换成 coco,大部分情况其实就一条

vim /etc/oratab

3.更改 oracle 用户的 .bash_profile 文件

vim .bash_profile
source ~/.bash_profile

4.查看系统环境变量

 env |grep ORACLE

5、进入$ORACLE_HOME/dbs 查看目录,看那些有 orcl

cd $ORACLE_HOME/dbs
ll
更改文件名 orcl->coco,ORCL->COCO,命令如下:
mv hc_orcl.dat hc_coco.dat
mv orapworcl orapwcoco
mv lkORCL lkCOCO
mv spfileorcl.ora spfilecoco.ora

6.重行生成密码文件,并查看

orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y
ls -lrt orap*

7.登录数据库,并查看实例名字,结果表明 sid 已由 orcl 变成 coco

 sqlplus "/as sysdba"
 startup
 select instance from v$thread
过程如下:
SQL> show parameter name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name               string
db_file_name_convert                 string
db_name                              string      orcl
db_unique_name                       string      coco
global_names                         boolean     TRUE
instance_name                        string      orcl
lock_name_space                      string
log_file_name_convert                string
processor_group_name                 string
service_names                        string      coco
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@oracle ~]$ exit
logout

[root@oracle ~]# vi /etc/oratab 
[root@oracle ~]# su - oracle
[oracle@oracle ~]$ vi ~/.bash_profile
[oracle@oracle ~]$ source ~/.bash_profile
[oracle@oracle ~]$ echo $ORACLE_SID
coco
[oracle@oracle ~]$  env |grep ORACLE
ORACLE_SID=coco
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1

[oracle@oracle ~]$ cd /u01/app/oracle/product/11.2.0.4/db_1/dbs/
[oracle@oracle dbs]$ ll
total 24
-rw-rw----. 1 oracle oinstall 1544 Jan 11 23:30 hc_orcl.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r-----. 1 oracle oinstall   24 Jan 11 22:55 lkCOCO
-rw-r-----. 1 oracle oinstall   24 Nov 10 22:12 lkORCL
-rw-r-----. 1 oracle oinstall 1536 Nov 10 22:12 orapworcl
-rw-r-----. 1 oracle oinstall 2560 Jan 11 22:57 spfileorcl.ora
[oracle@oracle dbs]$ rm -rf lkCOCO 
[oracle@oracle dbs]$ ll
total 20
-rw-rw----. 1 oracle oinstall 1544 Jan 11 23:30 hc_orcl.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r-----. 1 oracle oinstall   24 Nov 10 22:12 lkORCL
-rw-r-----. 1 oracle oinstall 1536 Nov 10 22:12 orapworcl
-rw-r-----. 1 oracle oinstall 2560 Jan 11 22:57 spfileorcl.ora
[oracle@oracle dbs]$ mv hc_orcl.dat hc_coco.dat
mv orapworcl orapwcoco
mv lkORCL lkCOCO
[oracle@oracle dbs]$ mv orapworcl orapwcoco
[oracle@oracle dbs]$ mv lkORCL lkCOCO
[oracle@oracle dbs]$ mv spfileorcl.ora spfilecoco.ora
[oracle@oracle dbs]$ mv hc_orcl.dat hc_coco.dat
[oracle@oracle dbs]$ ll
total 20
-rw-rw----. 1 oracle oinstall 1544 Jan 11 23:30 hc_coco.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r-----. 1 oracle oinstall   24 Nov 10 22:12 lkCOCO
-rw-r-----. 1 oracle oinstall 1536 Nov 10 22:12 orapwcoco
-rw-r-----. 1 oracle oinstall 2560 Jan 11 22:57 spfilecoco.ora

[oracle@oracle dbs]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y
[oracle@oracle dbs]$ ll
total 20
-rw-rw----. 1 oracle oinstall 1544 Jan 11 23:30 hc_coco.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r-----. 1 oracle oinstall   24 Nov 10 22:12 lkCOCO
-rw-r-----. 1 oracle oinstall 2048 Jan 11 23:39 orapwcoco
-rw-r-----. 1 oracle oinstall 2560 Jan 11 22:57 spfilecoco.ora
[oracle@oracle dbs]$ date
Mon Jan 11 23:39:35 PST 2021
[oracle@oracle dbs]$ ls -lrt orap*
-rw-r-----. 1 oracle oinstall 2048 Jan 11 23:39 orapwcoco

[oracle@oracle dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 11 23:40:09 2021

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  776646656 bytes
Fixed Size                  2257272 bytes
Variable Size             507514504 bytes
Database Buffers          264241152 bytes
Redo Buffers                2633728 bytes
Database mounted.
Database opened.
SQL> select instance from v$thread
  2  ;

INSTANCE
--------------------------------------------------------------------------------
coco

SQL> show parameter name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name               string
db_file_name_convert                 string
db_name                              string      orcl
db_unique_name                       string      coco
global_names                         boolean     TRUE
instance_name                        string      coco
lock_name_space                      string
log_file_name_convert                string
processor_group_name                 string
service_names                        string      coco

Related Posts