The asktom article has the answer, but the formatting and verbosity makes it hard to follow, so here's a summary:
[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.
- Configure the SPFILE (you can remove the old file if you want)
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'
- Shutdown and replace the old service with a new:
sqlplus / as sysdba
and execute shutdown
lsnrctl stop
oradim -new -sid NEW_SID_NAME -startmode auto -pfile [XE_HOME]\database\initNEW_SID_NAME.ora
oradim -delete -sid XE
lsnrctl start
- Update the ORACLE_SID environment property (System Settings > Advanced > Environment)
- Force Oracle to register with listener
sqlplus / as sysdba
and execute alter system register;
You can verify that the SID was changed by executing the following query: select instance_name from v$instance;