1.全备份数据库
2.生成旧数据库初始化参数文件(init{SID}.ora)和文本格式的控制文件(control.txt)
alter database backup controlfile to trace as '/tmp/control.txt'
create pfile from spfile
关闭数据库 shutdown immediate;
3.进入$ORACLE_HOME/dbs目录,拷贝OLDDB的pfile成NEWDB的pfile,同时修改NEWDB的pfile文件.
cd $ORACLE_HOME/dbs
cp initOLDDB.ora initNEWDB.ora
修改initNEWDB.ora文件
a. db_name和instance_name参数更改成新数据库的名称(NEWDB)
4.修改控制文件/tmp/control.txt
REUSE ->; SET
OLDDB ->; NEWDB
NORESETLOGS ->;RESETLOGS
5.vi /home/oracle/.bash_profile
将其中的
export ORACLE_SID=oldsid 更改为
export ORACLE_SID=newsid
6.创建口令文件
orapwd file=$ORACLE_HOME/dbs/orapwnewsid password=oracle
7.startup pfile=$ORACLE_HOME/admin/initNewdb.ora
8.@/tmp/control.txt
9.alter database open resetlogs; create spfile from pfile;
10.查看v$database和v$instance视图,是不是数据库名称已更改
11.更改listener.ora
vi $ORACLE_HOME/network/admin/listener.ora,若其中配置了SID_NAME=OLDSID,则需要更改为NEWSID.
更改tnsnames.ora:
所有需要连接到本数据库的其他主机,都需要更改tnsnames.ora.将SERVICE_NAME = OLDSID更改为
SERVICE_NAME = NEWSID.这样才能连接到本数据库
12.重新再备份一次数据库
--------------------------------------
如果不改数据库名。则只要修改pfile及密码文件
1。3。5。6。7。10。11
阅读(1157) | 评论(0) | 转发(0) |