如何更改Oracle XE实例的SID

Osa*_*eed 12 oracle sid oracle-xe service-name

我需要更改Oracle XE数据库的SID(而不是服务名称)以匹配生产数据库.

当我尝试在线搜索时,大多数页面都是通过tnsnames.ora描述更改或添加服务名称; 那不是我需要做的.

Joh*_*all 13

asktom文章有答案,但格式和详细程度使其难以遵循,所以这里有一个总结:

[XE_HOME]表示安装Oracle XE的位置.通常这是C:\oraclexe\app\oracle\product\10.2.0\server.

确保您具有管理员权限,否则该过程将失败.

  1. 配置SPFILE(如果需要,可以删除旧文件)
    1. copy [XE_HOME]\dbs\spfileXE.ora [XE_HOME]\dbs\spfileNEW_SID_NAME.ora
    2. copy [XE_HOME]\database\initXE.ora [XE_HOME]\database\initNEW_SID_NAME.ora
    3. 编辑[XE_HOME]\database\initNEW_SID_NAME.ora:它应该包含一行如下:SPFILE='[XE_HOME]\server\dbs/spfileNEW_SID_NAME.ora'
  2. 关闭并使用新服务替换旧服务:
    1. sqlplus / as sysdba 并执行 shutdown
    2. lsnrctl stop
    3. oradim -new -sid NEW_SID_NAME -startmode auto -pfile [XE_HOME]\database\initNEW_SID_NAME.ora
    4. oradim -delete -sid XE
    5. lsnrctl start
  3. 更新ORACLE_SID环境属性(系统设置>高级>环境)
  4. 强制Oracle向侦听器注册
    • sqlplus / as sysdba 并执行 alter system register;

您可以通过执行以下查询来验证是否已更改SID: select instance_name from v$instance;