背景需求:数据库和实例名orcluat修改为csdwuat
流程:
分为两个阶段,第一阶段修改实例名sid;第二阶段修改数据库名dbname
(1)打开已经启动数据库并查看sid
$thread;
select instance from vorcluat
2、关闭数据库
shutdown immediateDatabase closed.
Database dismounted.
ORACLE instance shut down.
exit
3、修改/etc/oratab文件
编辑文件/etc/oratab,将文件里面的orcluat换成csdwuat
编辑oracle用户的 .bash_profile文件,把orcluat换成csdwuat
修改之后使文件生效
[oracle@brms03 ~]$ source ~/.bash_profile
5、修改dbs目录下的文件名
dbs目录是用于存放数据库服务器端的参数文件Spfile、初始化文件init、还有密码文件orapw$ORACLE_SID
[oracle@brms03 dbs]$ cd $ORACLE_HOME/dbs
[oracle@brms03 dbs]$ ll
total 20
-rw-rw----. 1 oracle oinstall 1544 Dec 12 16:48 hc_orcluat.dat
-rw-r--r--. 1 oracle oinstall 2851 May 16 2009 init.ora
-rw-r-----. 1 oracle oinstall 24 Sep 10 14:13 lkORCLUAT
-rw-r-----. 1 oracle oinstall 1536 Oct 8 17:23 orapworcluat
-rw-r-----. 1 oracle oinstall 2560 Dec 10 11:35 spfileorcluat.ora
[oracle@brms03 dbs]$ mv hc_orcluat.dat hc_csdwuat.dat
[oracle@brms03 dbs]$ mv lkORCLUAT lkCSDWUAT
[oracle@brms03 dbs]$ mv spfileorcluat.ora spfilecsdwuat.ora
重新生成密码文件,并将旧的密码文件删除
[oracle@brms03 dbs]$ orapwd file=$ORACLE_HOME/dbs/oraw$ORACLE_SID password=sys entries=5 force=y
修改成功,实例名已经由orcluat变成csdwuat
startup
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2220200 bytes
Variable Size 2298482520 bytes
Database Buffers 1962934272 bytes
Redo Buffers 12144640 bytes
Database mounted.
Database opened.
select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
csdwuat
注意:这个时候database的名称依然还是orcluat
不用退出登录,接着开始修改数据库名dbname
1、备份控制文件,并关闭退出数据库
进入控制文件的备份目录,根据alter_orcl.log找到控制备份文件
oracle11g 的控制文件备份目录为:$ORACLE_BASE/diag/rdbms/orcluat/csdwuat/trace
在alert_csdwuat.log文件中找到contolfile的备份trc
复制一份进行修改:
cp /cssys/app/oracle/diag/rdbms/orcluat/csdwuat/trace/csdwuat_ora_3246.trc csdwuat.sql
编辑文件csdwuat.sql
1)查找STARTUP NOMOUNT语句,将这一行上面的所有行都删除
2)将-- End of tempfile additions.语句下面的行全部删除
3)查找所有以–开始的行,把这些行删除
4)查找所有的orcl修改为isdms,所有的ORCL修改为ISDMS
5)找到CREATE CONTROLFILE REUSE DATABASE…语句,将其中的REUSE修改为SET
6)找到RECOVER DATABASE USING BACKUP CONTROLFILE语句,将其用双横线(–)注释掉
3、生成配置文件
最终生成的文件在$ORACLE_HOME/dbs目录下文件名为init$ORACLE_SID.ora
在本示例中为:initcsdwuat.ora
这个文件是上面生成的配置文件
1)将orcl.开头的配置项删除
2)将文件中的orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
4.1.2 init.ora文件修改
将文件中的orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
4.1.3 spfilecsdwuat.ora文件修改
将文件中的orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
4.1.4 删除文件lkORCLUAT
4.2 修改$ORACLE_BASE/admin目录下的目录和文件内容,将orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
[oracle@brms03 admin]$ cd $ORACLE_BASE/admin
[oracle@brms03 admin]$ ll
total 4
drwxr-x---. 5 oracle oinstall 4096 Sep 10 14:12 orcluat
[oracle@brms03 admin]$ mv orcluat csdwuat
[oracle@brms03 admin]$ ll
total 4
drwxr-x---. 5 oracle oinstall 4096 Sep 10 14:12 isdms
将orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
4.3 修改$ORACLE_BASE/diag目录下的目录,将orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
4.3.1 修改目录名,删除旧的orcl目录
[oracle@brms03 rdbms]$ cd $ORACLE_BASE/diag
[oracle@brms03 diag]$ ll
total 8
drwxr-x---. 3 oracle oinstall 4096 Sep 10 14:12 rdbms
drwxr-xr-x. 3 oracle oinstall 4096 Sep 10 14:11 tnslsnr
[oracle@brms03 diag]$ cd rdbms/
[oracle@brms03 rdbms]$ ll
total 4
drwxr-x---. 4 oracle oinstall 4096 Dec 12 17:14 orcluat
[oracle@brms03 rdbms]$ mv orcluat csdwuat
[oracle@brms03 rdbms]$ cd csdwuat/
[oracle@brms03 isdms]$ ll
total 8
-rw-r-----. 1 oracle oinstall 0 Sep 10 14:13 i_1.mif
drwxr-xr-x 13 oracle oinstall 4096 Dec 12 17:14 csdwuat
drwxr-x---. 13 oracle oinstall 4096 Sep 10 14:12 orcluat
[oracle@brms03 isdms]$ rm -rf orcluat
[oracle@brms03 isdms]$ ll
total 4
-rw-r-----. 1 oracle oinstall 0 Sep 10 14:13 i_1.mif
drwxr-xr-x 13 oracle oinstall 4096 Dec 12 17:14 isdms
4.4 修改$ORACLE_BASE/fash_recovery_area目录下的目录和文件内容,将orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
4.4.1 目录重命名
[oracle@brms03 flash_recovery_area]$ cd $ORACLE_BASE/fash_recovery_area
[oracle@brms03 flash_recovery_area]$ ll
total 8
drwxr-x---. 2 oracle oinstall 4096 Sep 10 14:13 orcluat
drwxr-x---. 4 oracle oinstall 4096 Dec 12 17:17 ORCLUAT
[oracle@brms03 flash_recovery_area]$ mv orcluat csdwuat
[oracle@brms03 flash_recovery_area]$ mv ORCLUAT CSDWUAT
[oracle@brms03 flash_recovery_area]$ ll
total 8
drwxr-x---. 2 oracle oinstall 4096 Sep 10 14:13 csdwuat
drwxr-x---. 4 oracle oinstall 4096 Dec 12 17:17 CSDWUAT
4.4.2 删除控制文件
rm -rf control02.ctl
4.5 修改$ORACLE_BASE/oradata目录下的目录和文件内容,将orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
4.5.1 目录重命名
[oracle@brms03 oradata]$ cd $ORACLE_BASE/oradata
[oracle@brms03 oradata]$ ll
total 4
drwxr-x---. 2 oracle oinstall 4096 Dec 4 14:57 orcluat
[oracle@brms03 oradata]$ mv orcluat csdwuat
[oracle@brms03 oradata]$ ll
total 4
drwxr-x---. 2 oracle oinstall 4096 Dec 4 14:57 csdwuat
4.5.2 删除控制文件
rm -rf control01.ctl
监听配置文件目录:$ORACLE_HOME/network/admin
修改文件内容,将orcluat替换成csdwuat,ORCLUAT替换成CSDWUAT
SQL> @./isdms.sql
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2220200 bytes
Variable Size 2298482520 bytes
Database Buffers 1962934272 bytes
Redo Buffers 12144640 bytes
Control file created.
Database altered.
Tablespace altered.
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string csdwuat
db_unique_name string csdwuat
global_names boolean FALSE
instance_name string csdwuat
lock_name_space string
log_file_name_convert string
processor_group_name string
service_names string csdwuat
SQL> select name from v$database;
NAME
---------
CSDWUAT
SQL>
修改成功了,后面就是重新验证下,注意./isdms.sql有可能失败,一般原因是修改没彻底,更加提示还有原来的路径名的,再次修改执行即可
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!