如何更改 Oracle XE 实例的 SID [英] How can I change the SID of an Oracle XE instance
问题描述
我需要更改 Oracle XE 数据库的 SID(不是服务名称)以匹配生产数据库.
I needed to change the SID of an Oracle XE database (not the Service Name) to match a production database.
当我尝试在线搜索时,大多数页面都在描述通过 tnsnames.ora 更改或添加服务名称;这不是我需要做的.
When I tried searching online, most of the pages were describing changing or adding a service name through tnsnames.ora; that's not what I needed to do.
推荐答案
asktom 文章给出了答案,但格式和冗长使得它难以理解,所以这里是一个总结:
The asktom article has the answer, but the formatting and verbosity makes it hard to follow, so here's a summary:
[XE_HOME] 表示 Oracle XE 的安装位置.通常这是C:\oraclex\app\oracle\product\10.2.0\server
.
[XE_HOME] means where Oracle XE is installed. Normally this is C:\oraclexe\app\oracle\product\10.2.0\server
.
请确保您具有管理员权限,否则程序将失败.
Make sure you have Administrator privileges or the procedure will fail.
- 配置 SPFILE(如果需要,可以删除旧文件)
- Configure the SPFILE (you can remove the old file if you want)
复制 [XE_HOME]\dbs\spfileXE.ora [XE_HOME]\dbs\spfileNEW_SID_NAME.ora
复制[XE_HOME]\database\initXE.ora [XE_HOME]\database\initNEW_SID_NAME.ora
- 编辑
[XE_HOME]\database\initNEW_SID_NAME.ora
:它应该包含如下一行:SPFILE='[XE_HOME]\server\dbs/spfileNEW_SID_NAME.ora'
代码>
copy [XE_HOME]\dbs\spfileXE.ora [XE_HOME]\dbs\spfileNEW_SID_NAME.ora
copy [XE_HOME]\database\initXE.ora [XE_HOME]\database\initNEW_SID_NAME.ora
- Edit
[XE_HOME]\database\initNEW_SID_NAME.ora
: It should contain a single line like this:SPFILE='[XE_HOME]\server\dbs/spfileNEW_SID_NAME.ora'
sqlplus/as sysdba
并执行shutdown
lsnrctl 停止
oradim -new -sid NEW_SID_NAME -startmode auto -pfile [XE_HOME]\database\initNEW_SID_NAME.ora
oradim -delete -sid XE
lsnrctl start
sqlplus/as sysdba
并执行alter system register;
您可以通过执行以下查询来验证 SID 是否已更改:select instance_name from v$instance;
You can verify that the SID was changed by executing the following query: select instance_name from v$instance;
这篇关于如何更改 Oracle XE 实例的 SID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!