只问耕耘
分类: Oracle
2007-09-06 13:51:08
Oracle 9i创建数据库时默认包含了XDB特性。一旦启动了数据库和Listener,Oracle XDB的http服务就占用8080端口,刚好和JBoss、Tomcat等默认端口冲突,Oracle XDB的端口设置不在配置文件中,而是在数据库里。修改XDB的http和ftp服务端口的方法有3种:
1、使用sys登录Oracle,利用dbms_xdb修改端口设置
SQL> -- Change the HTTP/WEBDAV port from 8080 to 8081
SQL> call dbms_xdb.cfg_update(updateXML(
2 dbms_xdb.cfg_get()
3 , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
4 , 8081))
5 /
Call completed.
SQL> -- Change the FTP port from 2100 to 2111
SQL> call dbms_xdb.cfg_update(updateXML(
2 dbms_xdb.cfg_get()
3 , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()'
4 , 2111))
5 /
Call completed.
SQL> COMMIT;
Commit complete.
SQL> EXEC dbms_xdb.cfg_refresh;
PL/SQL procedure successfully completed.
2、使用OEM console,选择数据库,XML Database,Configuration,更改XDB的有关设置。
3、去掉数据库的初始化参数:
dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)',将会禁止XDB的http和ftp服务。
oracle9i以上版本添加了一个XDB服务,启动在8080端口,如下操作可以去掉。
编辑$ORACLE_HOME/dbs/initSID.ora文件,去除如下行:
dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)'
用sys进入sqlplus,停止oracle服务器然后运行:
create spfile from pfile;
startup
如上为在linux下操作,如果在windows下则比较简单,直接编辑oracle\admin\SID\pfile下面的init.ora,去掉对应的行,重起oracle就可以
sqlplus /nolog
sql> connect / as sysdba;
sql> shutdown immediate;
sql> create spfile from pfile='/data/oracle/admin/eosdb/pfile/initeosdb.ora.0123456789';
成功
sql> startup;