日期:2014-05-16 浏览次数:20476 次
有时我们需要修改数据库的sid和dbname,除了使用rman进行备份恢复之外,也可以通过手工方式修改,主要由两个主要过程完成:
1、修改实例名(SID)
2、修改数据库名(dbname)
下面演示将数据库sid和dbname由orcl修改为cnhtm的过程:
?
1、修改实例名(sid)
1.1、检查原来的数据库实例名(sid)
?
oracle@oracle[/home/oracle]> echo $ORACLE_SID orcl oracle@oracle[/home/oracle]> sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:14:49 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options sys@ORCL> select instance from v$thread; INSTANCE -------------------------------------------- orcl |
?
1.2、关闭数据库
注意不能用shutdown abort,只能是shutdown immediate或shutdown normal
?
sys@ORCL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. sys@ORCL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options |
?
1.3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为cnhtm
?
oracle@oracle[/home/oracle]> cat ~/.bash_profile|grep -i sid ORACLE_SID=cnhtm export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH |
?
1.4、修改/etc/oratab文件,将sid名由旧的修改为新的,如从orcl修改为cnhtm
?
oracle@oracle[/home/oracle]> cat /etc/oratab ...... cnhtm:/oracle/app/10.1:Y +ASM:/oracle/app/10.1:Y |
?
1.5、进入到$ORACLE_HOME/dbs目录
将所有文件名中包含原来的sid的修改为对应的新sid的
如我对如下文件修改为其后对应的文件
hc_orcl.dat->hc_cnhtm.dat lkORCL->lkCNHTM orapworcl->orapwcnhtm snapcf_orcl.f->snapcf_cnhtm.f spfileorcl.ora->spfilecnhtm.ora |
?
1.6、使新修改的ORACLE_SID环境变量生效
?
oracle@oracle[/oracle/app/10.1/dbs]> . ~/.bash_profile oracle@oracle[/oracle/app/10.1/dbs]> echo $ORACLE_SID cnhtm |
?
1.7、重建口令文件
因为口令文件改名后不能在新实例中使用,所以重建
oracle@oracle[/oracle/app/10.1/dbs]> orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y oracle@oracle[/oracle/app/10.1/dbs]> ls -lrt orapw* -rw-r----- 1 oracle oinstall 2048 Dec 20 11:27 orapwcnhtm |
?
1.8、启动数据库
?
oracle@oracle[/oracle/app/10.1/dbs]> sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:29:53 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. idle> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1218292 bytes Variable Size 62916876 bytes Database Buffers 96468992 bytes Redo Buffers 7168000 bytes Database mounted. Database opened. |
?
1.9、检查数据库实例名
通过如下语句检查数据库实例名,发现实例名已经由orcl变成cnhtm
idle> select instance from v$thread; INSTANCE ---------------------
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|