数据库中如何修改DB_NAME和SID
这篇文章主要介绍数据库中如何修改DB_NAME和SID,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
数据库通过异机恢复后,想将其db_name和SID修改,以下总结两种修改方式
方法一:重建控制文件方式
--日志归档
alter system archive log current;
--备份控制文件
alter database backup controlfile to trace resetlogs;
--控制文件备份生成路径
show parameter user_dump_dest
--控制文件路径
show parameter control_files
create pfile from spfile;
shutdown immediate
cd /u01/diag/rdbms/prod/prod/trace
cp prod_ora_3163.trc create_cf.sql
vi create_cf.sql
--编辑文件
--(1) "--"开头的可删除
--(2) " STARTUP NOMOUNT" 以上的删除
--(3) CREATE CONTROLFILE REUSE DATABASE "PROD" RESETLOGS FORCE LOGGING ARCHIVELOG 这句的 REUSE 修改成SET
PROD 修改成你要的的名字,如 test(如果仅是修改dbname什么的,下面数据文件之类的路径可不用修改)
--(4)RECOVER DATABASE USING BACKUP CONTROLFILE这句可用 -- 注释掉,这里不做recover
--备份原来控制文件
mv /u01/oradata/prod/control01.ctl /u01/oradata/prod/control01.ct.bak
mv /u01/oradata/prod/control02.ctl /u01/oradata/prod/control02.ctl.bak
cp /u01/oracle/db_1/dbs/initprod.ora /u01/oracle/db_1/dbs/inittest.ora
vi /u01/oracle/db_1/dbs/initprod.ora
--db_name和db_unique_name等都修改一下
*.db_name='test'
*.db_unique_name='test'
export ORACLE_SID=test
startup nomout pfile=' /u01/oracle/db_1/dbs/inittest.ora'
create spfile from pfile;
shutdown immediate
orapwd file=$ORACLE_HOME/dbs/orapwtest password=oracle entries=5
--执行重建控制文件
sqlplus / as sysdba
@create_cf.sql
注意:这种方法最后是 alter database open resetlogs;
方法二:用oracle自带的工具nid改数据库名
shutdown immediate
--nid需要在mount状态下才能做。
startup mount
exit
nid 修改 dbname=新的名字,要知道sys 密码
nid target=sys/password dbname=test
Change database ID and database name PROD to TEST? (Y/[N]) => y
orapwd file=$ORACLE_HOME/dbs/orapwtest password=oracle entries=5
cp /u01/oracle/db_1/dbs/initprod.ora /u01/oracle/db_1/dbs/inittest.ora
vi /u01/oracle/db_1/dbs/initprod.ora
--db_name和db_unique_name等都修改一下
*.db_name='test'
*.db_unique_name='test'
export ORACLE_SID=test
startup nomout pfile=' /u01/oracle/db_1/dbs/inittest.ora'
create spfile from pfile;
shutdown immediate
startup mount
alter database open resetlogs;
以上是"数据库中如何修改DB_NAME和SID"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!