天天看点

Oracle10gExpress默认的8080端口及本地字符集修改

        我的小本子上安装了N多的东西,如果再安装个Oracle的完整数据库的话,机器的启动和运行速度实在是不能忍受。偶然的一天在Oracle的网站上看到了Oracle 10g Express,小而精悍,学习之用是足够的了(与SQLServer的2005 Express一回事)。赶快去下一个[url]http://www.oracle.com/technology/products/database/xe/index.html[/url],我系统是中文,所以选择了中文版。然后安装,数据库默认字符集是UTF-8,NLS_LANG则是根据系统的locale来确定,我中文系统所以是CHINESE_CHINA.ZHS16GBK。其中让你输入sys和sysdba的密码,配置什么的都是自动的,安装完后有个信息提示,包括数据库端口,http端口等。

        接下来问题就出现了,当我用PL/SQL Developer连接数据库的时候,提示数据库的字符集与客户端的字符集不相符,建议修改。那就该吧:设置Oracle的系统变量

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server

export ORACLE_SID=XE

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

export PATH=$PATH:$ORACLE_HOME/bin

或者:

打开注册表,找到如下字符串:

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE]

修改右面的NLS_LANG值为SIMPLIFIED CHINESE_CHINA.AL32UTF8

OK,一切都正常了。

          然后的问题就是HTTP的监听端口8080,好多web服务器都是这个端口,不方便开发,我们来改掉它。登录pl/sql,然后创建一个sql窗口,输入如下代码执行:

call dbms_xdb.cfg_update(updateXML(

dbms_xdb.cfg_get()

,'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'

,8000))

--将原有的8080改为8000,或其他合适的端口号

或者,执行oracle的自带sql plus:

SQL>connect /as sysdba;  

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.

就可以了。

在网上也看见了个修改Oracle ftp端口:

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))  

另:

允许远程访问Oracle Application Express,用sqlplus执行

EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

然后重起lsnrctl

继续阅读