更改Oracle数据库的SID

如题所述

第1个回答  2022-11-10

   概念

   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