您好,欢迎访问一九零五行业门户网

如何修改Oracle 10g XE的SID

(若已启动oracle实例需要先停止,可以用如下命令:net stop oracleservicemysid)lsnrctl start;oradim ndash;startup ndash;sid
如何为 oracle 10g xe 创建一个新的数据库实例 ?
如果是 windows 平台, 首先确保没甚么重要数据在当前的这个 xe 实例中. 然后调用 oradim -delete -sid xe 删除当前的系统服务(就是 windows 服务).
然后运行 d:\oracle\app\oracle\product\10.2.0\server\config\scripts 中的 xe.bat 批处理即可.
如果是 linux,就更容易了, 直接运行 scripts 目录下的 xe.sh 脚本即可.
以上是网上一位高手提供的,下边可就是原创了,呵呵。
能否创建 sid 不为 xe 的实例 ? 答案是可以的。
具体步骤:
假设要创建sid为mysid的实例,首先cmd 运行oradim -delete -sid xe  然后修改以下文件 
----------------------------------------
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\clonedbcreation.sql :中第(4,22,38,39)行中的xe改为mysid
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\clonedbcreation.sql(4): create controlfile reuse set database mysid
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\clonedbcreation.sql(22): create controlfile reuse set database mysid
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\clonedbcreation.sql(38): alter database mysid open resetlogs;
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\clonedbcreation.sql(39): alter database rename global_name to mysid;
----------------------------------------
'd:\oracle\app\oracle\product\10.2.0\server\config\scripts\init.ora' :中第(13)行中的xe改为mysid
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\init.ora(13): db_name=mysid
----------------------------------------
'd:\oracle\app\oracle\product\10.2.0\server\config\scripts\initxetemp.ora' : 中第(13)行中的xe改为mysid
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\initxetemp.ora(13): db_name=mysid
----------------------------------------
'd:\oracle\app\oracle\product\10.2.0\server\config\scripts\xe.bat' 中第(14,16,18)行中的xe改为mysid
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\xe.bat(14): set oracle_sid=mysid
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\xe.bat(16): d:\oracle\app\oracle\product\10.2.0\server\bin\oradim.exe -new -sid mysid -startmode manual -spfile > d:\oracle\app\oracle\product\10.2.0\server\config\log\xe.bat.log,
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\xe.bat(18): d:\oracle\app\oracle\product\10.2.0\server\bin\oradim.exe -edit -sid mysid -startmode auto -srvcstart system >> d:\oracle\app\oracle\product\10.2.0\server\config\log\xe.bat.log
若你想修改http的监听端口可修改一下文件
d:\oracle\app\oracle\product\10.2.0\server\config\scripts\postdbcreation.sql中第(9)行中的dems_xdb.sethttpport(9098);
然后运行d:\oracle\app\oracle\product\10.2.0\server\config\scripts\xe.bat。
运行完xe.bat后进入d:\oracle\app\oracle\product\10.2.0\server\database中复制名为pwdxe.ora,initxe.ora的文件,更改文件名分别为pwdmysid.ora,initmysid.ora
修改d:\oracle\app\oracle\product\10.2.0\server\network\admin中listener.ora中
sid_list_listener =
  (sid_list =
    (sid_desc =
      (sid_name = plsextproc)
      (oracle_home = d:\oracle\app\oracle\product\10.2.0\server)
      (program = extproc)
    )
    (sid_desc =
      (sid_name = clrextproc)
      (oracle_home = d:\oracle\app\oracle\product\10.2.0\server)
      (program = extproc)
    )
  )
listener =
  (description_list =
    (description =
      (address = (protocol = ipc)(key = extproc_for_mysid))
      (address = (protocol = tcp)(host = lp)(port = 1521))
    )
  )
default_service_listener = (mysid)
修改d:\oracle\app\oracle\product\10.2.0\server\network\admin中tnsnames.ora中
mysid=
  (description =
    (address = (protocol = tcp)(host = lp)(port = 1521))
    (connect_data =
      (server = dedicated)
      (service_name = mysid)
    )
  )
extproc_connection_data =
  (description =
    (address_list =
      (address = (protocol = ipc)(key = extproc_for_mysid))
    )
    (connect_data =
      (sid = plsextproc)
      (presentation = ro)
    )
  )
oraclr_connection_data =
  (description =
    (address_list =
      (address = (protocol = ipc)(key = extproc_for_mysid))
    )
    (connect_data =
      (sid = clrextproc)
      (presentation = ro)
    )
  )
 (listener.ora和tnsnames.ora中的内容我也不清楚是否应该修改,自己去试吧。)
此时sid为mysid的oracle实例已经安装完成,但是此时还没有sid为mysid的监听。若想连接成功还需要运行cmd,
(若已启动oracle实例需要先停止,可以用如下命令:net stop oracleservicemysid)
lsnrctl start;
oradim –startup –sid mysid;
ok,现在打开“运行 sql 命令行” connect system/你设置的密码@mysid就可连接成功了
小记:若重启机器listenser是不会自动启动的,还需要手工运行
lsnrctl start;
oradim –startup –sid mysid;

其它类似信息

推荐信息