linux Oracle修改ORACLE_SID、修改DB_NAME,修改实例名,服务名
– 原来的服务名
SQL> show parameter name – 修改之前
NAME TYPE VALUE
db_name string ORCL
db_unique_name string ORCL
instance_name string ORCL
service_names string ORCL
SQL> show parameter name – 修改之后
NAME TYPE VALUE
db_name string QNZW
db_unique_name string QNZW
instance_name string QNZW
service_names string QNZW
修改ORACLE_SID
1,关闭数据库
shutdown immediate
2,修改环境变量
vi /home/oracle/.bash_profile
export ORACLE_SID=QNZW
3,修改/etc/oratab,修改SID
QNZW:/u01/app/oracle/11.2/db_1:Y
4, 修改$ORACLE_HOME/dbs,将所有文件名中含有旧sid的部分修改为新的sid
cd $ORACLE_HOME/dbs
mv hc_ORCL.dat hc_QNZW.dat
mv lkORCL lkQNZW
mv orapwORCL orapwnewQNZW
mv spfileORCL.ora spfileQNZW.ora
5,重启服务器及数据库
startup
6,若是需要修改服务名
alter system set service_names=‘QNZW’;
alter system set db_unique_name=‘QNZW’ scope=spfile;
alter system set instance_name=‘QNZW’ scope=spfile;
shutdown immediate;
startup;
修改DB_NAME
– 备份参数文件和控制文件
create pfile=’/u01/pfile.ora’ from spfile;
ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ‘/u01/create_ctlfile.ora’;
shutdown immediate;
vi /u01/pfile.ora 修改实例名参数db_name
*.db_name=‘QNZW’
*.dispatchers=’(PROTOCOL=TCP) (SERVICE=QNZWXDB)’
使用修改之后的参数文件生成spfile,并启动到nomount状态
create spfile from pfile=’/u01/pfile.ora’;
startup nomount;
使用备份的控制文件创建脚本重建控制文件
创建之前先删除原来的控文件,可以在pfile参数文件里面查看控制文件路径
修改控制文件中的DB_name
需要将reuse 替换成 set
需要将NORESETLOGS 替换成 RESETLOGS
需要将REUSE DATABASE “ORCL” NORESETLOGS 替换成 SET DATABASE “QNZW” RESETLOGS
CREATE CONTROLFILE SET DATABASE “QNZW” RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ‘/u01/app/oracle/oradata/ORCL/redo01.log’ SIZE 50M BLOCKSIZE 512,
GROUP 2 ‘/u01/app/oracle/oradata/ORCL/redo02.log’ SIZE 50M BLOCKSIZE 512,
GROUP 3 ‘/u01/app/oracle/oradata/ORCL/redo03.log’ SIZE 50M BLOCKSIZE 512
– STANDBY LOGFILE
DATAFILE
‘/u01/app/oracle/oradata/ORCL/system01.dbf’,
‘/u01/app/oracle/oradata/ORCL/sysaux01.dbf’,
‘/u01/app/oracle/oradata/ORCL/undotbs01.dbf’,
‘/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf’,
‘/u01/app/oracle/oradata/ORCL/users01.dbf’,
‘/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf’,
‘/u01/ORCL/A6CA9E38B2AE09A0E0535B010101D41D/datafile/o1_mf_system_hf24bonn_.dbf’,
‘/u01/ORCL/A6CA9E38B2AE09A0E0535B010101D41D/datafile/o1_mf_sysaux_hf24bonp_.dbf’,
‘/u01/app/oracle/oradata/ORCL/pdb1/users01.dbf’
CHARACTER SET AL32UTF8
;
打开数据库
alter database open resetlogs;
结果验证
show parameter name