1.6 停库再到mount状态下改db_name:
sql>shutdown immediate;
sql>startup mount
sql>alter system set db_name=testdb scope=spfile;
sql>shutdown immediate;
1.7 重新创建sys的password文件:
passwd文件通常放在oracle_home/database目录下,文件命名形式为PWDsid.ora,sid为实例名(Service_name),如当前的数据库名及service_name为test,则passwd文件为PWDtest.ora
sql>host orapwd file=c:oracleora92databasepwdtest.ora password=123456 entries=5
要注意一下,此时虽然数据库名已经改成testdb了,但instance_name还是test,所以,passwd文件必须跟以前一样。否则会出错。
1.8 开启数据库:(要open resetlogs)
sql>startup mount
sql>alter database open resetlogs;
1.9 检查:
sql>select dbid,name from v$database;
2.改好数据库名后,接着改instance_name
2.1如果是windows系统,要先把所有的oracle服务先关闭,否则会出错。
2.2先将原来的service_name删除:
在操作系统中,进入cmd,
oradim -delete -sid test
2.3创建密码文件
orapwd file=c:/oracle/ora92/database/pwdtestdb.ora password=....entries=
2.4创建一个新的sid,也就是你想改名的sid:
oradim -new -sid testdb -intpwd 密码 -startmode a -pfile c:oracleora92databaseinittestdb.ora
当数据库启动时,会在database目录中找spfile,如果spfile不在就找initSID.ora这个文件来顶。所以,可以把pfile直接创建在这里。方便数据库的启动。
2.5 进入oracle并创建spfile:
c: set oracle_sid=testdb
c:sqlplus "sys/password as sysdba"
sql>create spfile from pile='c:oracleora92databaseinittestdb.ora';
2.6 reload listener:
c:lsnrctl reload
2.7 open resetlogs:
在我自己的机器中,没有做这一步,可能是windows的关系
