千家信息网

数据库中如何修改DB_NAME和SID

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,这篇文章主要介绍数据库中如何修改DB_NAME和SID,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据库通过异机恢复后,想将其db_name和SID修改,以下总结两种修改方式
千家信息网最后更新 2024年11月21日数据库中如何修改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"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0