如何更改Oracle数据库的SID
来源:优易学  2011-9-3 17:09:55   【优易学:中国教育考试门户网】   资料下载   IT书店
  概念:
  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
  1. 关闭数据库
  SQL > create pfile from spfile; 生成initoldsid.ora 文件,后续操作需要用到
  SQL > shutdown immediate;
  2. 编辑环境变量
  # vi /home/oracle/.bash_profile
  将其中的
  export ORACLE_SID=oldsid 更改为
  export ORACLE_SID=newsid
  为使环境变量生效,以oracle用户重新登录。
  3. 重命名参数文件
  # cd $ORACLE_HOME/dbs
  # mv initoldsid.ora initnewsid.ora
  参数文件内容无需更改。如果本数据库是从另一台oracle服务器复制过来的,那需要将参数文件中的路径和内存等配置进行修改,这不属于本次任务。
  4. 创建口令文件
  orapwd file=$ORACLE_HOME/dbs/orapwnewsid password=oracle
  至此,SID已经更改完成,数据库可以正常启动。以下操作是额外部分:
  5. 更改其他相关配置
  更改listener.ora:
  vi $ORACLE_HOME/network/admin/listener.ora,若其中配置了SID_NAME=OLDSID,则需要更改为NEWSID.然后重启监听:# lsnctl restart.
  更改tnsnames.ora:
  所有需要连接到本数据库的其他主机,都需要更改tnsnames.ora.将SERVICE_NAME = OLDSID更改为SERVICE_NAME = NEWSID.这样才能连接到本数据库。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训