例:将dtserp数据库更改为dtberp,sid也同时改为dtberp。
1,Backup Database
这是必需的~
2,数据库启动到mount状态
SQL
>
shutdown
immediate;
SQL > startup mount;
SQL > startup mount;
3,使用nid更改
$ nid target
=
sys
/
jipinren dbname
=
dtberp
--
dbname为要改的名字
会提示:Change database ID and database name DTSERP to DTBERP? (Y/[N]) => Y
4,Shutdown database
SQL
>
shutdown
immediate
5,将init<sid>.ora的db_name换成dtberp
6,重建口令文件
$ orapwd
file
=
'
/u01/app/oracle/product/10.1.0/db_1/dbs/orapwdtberp
'
password
=*****
7,Startup mount,resetlogs打开
SQL
>
startup mount;
SQL > alter database open resetlogs;
SQL > alter database open resetlogs;
注意:如果只更改了数据库名,而没有更改sid,那么你打开数据库就不需要open resetlogs了。
8,创建新的spfile
SQL
>
create
spfile
from
pfile
=
'
/u01/app/oracle/product/10.1.0/db_1/dbs/initdtberp.ora
'
;
9,做备份吧~
注意:
1,ORA-01103错误:"database name '%s' in control file is not '%s'"
参见:http://www.cnblogs.com/vegaslee/archive/2009/03/05/1403848.html