更改Oracle数据库的SID

更改Oracle数据库的SID,第1张

概念

SID 数据库实例名

SQL>show parameter instance

DB_NAME 数据库名 可以用DBNEWID (nid)命令更改DB_NAME

SQL>show parameter db_name

DBID 数据库建立时创建的内部数字 用于区分不同数据库 RMAN会用该数字来区分数据库 当数据库都是正常创建时 DBID是不一样的 如果用复制的方法复制数据库 它们的DBID就会一样 可以用DBNEWID (nid)命令更改DBID

SQL>select dbid from v$database

下面开始更改SID 本例中 原SID名为oldsid 更改为newsid

关闭数据库

SQL >create pfile from spfile     生成initoldsid ora 文件 后续 *** 作需要用到

SQL >shutdown immediate

编辑环境变量

# vi /home/oracle/ bash_profile

将其中的

export ORACLE_SID=oldsid   更改为

export ORACLE_SID=newsid

为使环境变量生效 以oracle用户重新登录

重命名参数文件

# cd $ORACLE_HOME/dbs

# mv initoldsid ora initnewsid ora

参数文件内容无需更改 如果本数据库是从另一台oracle服务器复制过来的 那需要将参数文件中的路径和内存等配置进行修改 这不属于本次任务

创建口令文件

orapwd file=$ORACLE_HOME/dbs/orapwnewsid password=oracle

至此 SID已经更改完成 数据库可以正常启动 以下 *** 作是额外部分

更改其他相关配置

更改listener ora

vi $ORACLE_HOME/neork/admin/listener ora 若其中配置了SID_NAME=OLDSID 则需要更改为NEWSID 然后重启监听 # lsnctl restart

更改tnsnames ora

lishixinzhi/Article/program/Oracle/201311/16801

9i以后都有动态监听了哦,不需要在listener.ora里配置sid了,只要实例是open的,都会自动注册到监听,用lsnrctl status看一下就知道了,service开头的,后面就是你的服务,下面会有一、二行就是你的sid了,它的status是READY的,另外如果实例不能自动注册,再看一下local_listener的设置是不是有问题,它的值应该是(ADDRESS = (PROTOCOL = TCP)(HOST =ccc)(PORT = 1521))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6690323.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存