XDB为Oracle数据库提供了一个操作XML Object对象的XDB Server Service,包括XML结构管理,XML 访问控制管理等功能。但是真正令XDB比较为人熟悉的,反而是XDB Server Service,因为它的默认端口设置是8080,和各种application Server是冲突的(多数app server的http端口都是8080) 改XDB SERVER的默认端口即可,不幸的是,同多数软件不同,ORACLE的很多配置不是存储在plain text格式的配置文件里,而是存储在数据库里(/sys/xdbconfig.xml).这就需要通过数据库操作来修改配置。
解决方法:
1. 以sysdba身份进行登陆。
2.执行dbms_xdb.cfg_update()方法 SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()', 9090)); Call completed.
3.SQL> commit; Commit complete. 此句其实无甚必要,因为dbms_xdb.cfg_update是auto-commit的。
4. SQL> EXEC dbms_xdb.cfg_refresh; PL/SQL procedure successfully completed.
0 - Production
With the Partitioning, OLAP and Data Mining options 此句也无甚必要,此句使当前更改立即在本session生效.即使不加此句,你重新sqlplus登录一下(等于重开一个oracle session),也能看到oracle的更改效果。
oracle很多配置都是"热更改"(runtime config),更改后,在其他新开的session就会获得更改效果。
5.看结果:
这里看的实际就是一个XMLType字段:
- SQL> SELECT dbms_xdb.cfg_get FROM dual; CFG_GET
- <xdbconfig xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd" xmlns:xsi="http://w -只显示这么点,要重新设一下行模式页模式
- SQL> set long 100
- SQL> set pagesize 100 SQL> SELECT dbms_xdb.cfg_get FROM dual; CFG_GET
- <xdbconfig xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"
- xmlns:xsi="http://w
- ww.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/x
- db/xdbconfig.xsd
- http://xmlns.oracle.com/xdb
- /xdbconfig.xsd">
- <sysconfig>
- <protocolconfig>
- <ftpconfig>
- <ftp-port>0</ftp-port>
- <ftp-listener>local_listener</ftp-listener>
- <ftp-protocol>tcp</ftp-protocol>
- <logfile-path/>
- <log-level>0</log-level>
- <session-timeout>6000</session-timeout>
- <buffer-size>8192</buffer-size>
- </ftpconfig>
- <httpconfig>
- <http-port>9090</http-port>
- <http-listener>local_listener</http-listener>
- <http-protocol>tcp</http-protocol>
- <max-http-headers>64</max-http-headers>
- <max-header-size>16384</max-header-size>
- <max-request-body>2000000000</max-request-body>
- <session-timeout>6000</session-timeout>
- <server-name>XDB HTTP Server</server-name>
- </protocolconfig>
- <xdbcore-xobmem-bound>1024</xdbcore-xobmem-bound>
- <xdbcore-loadableunit-size>16</xdbcore-loadableunit-size>
- </sysconfig>
- </xdbconfig>
关于Oracle数据库的XDB与APP Server的默认端口的冲突问题的解决就介绍到这里,希望本次的介绍能够给您带来一些收获,谢谢!
【编辑推荐】