oracle 修改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

vicreate_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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值