Oracle的字符集问题

  • 来源: 互联网 作者: rocket   2008-03-19/14:46
  • 1、在建库时,catproc一定要运行,否则用rman时会出现如下字符集的错误:
    RMAN-00554: initialization of internal recovery manager package failed
    RMAN-04005: error from target database: ORA-06553: PLS-213: package STANDARD noe
    RMAN-04015: error setting target database character set to ZHS16CGB231280
    如果建库时没有问题,那么可以Re-run catproc.sql. This will in turn call the dbmsbkrs.sql script which creates the dbms_backup_restore package.
    2、中文字符集说明
    ZHS16CGB231280 CGB2312-80 16-bit Simplified Chinese MB, ASCII
    ZHS16GBK GBK 16-bit Simplified Chinese MB, ASCII, UDC
    简单地说ZHS16GBK是ZHS16CGB231280的超集。
    一九九○年中国、日本、韩国共同制定的统一东亚表意文字字符集,即常称的国标扩展码字符集(GBK)。

    3、如何避免中文支持问题
    我们的一贯建议是在建库时就做好规划,这样以后就不会有问题了。
    1)create database
    character set ZHS16GBK
    national character set ZHS16GBK
    2)环境变量:NLS_LANG=american_america.ZHS16GBK bitsCN#com中国网管联盟
    最好export NLS_DATE_formAT='YYYY-MM-DD HH24:MI:SS'指明日期格式;
    3)如果建库时指定了props$中characterset肯定就是ZHSS16GBK了:
    NLS_CHARACTERSET ZHS16GBK
    NLS_NCHAR_CHARACTERSET ZHS16GBK
    如果不是可以使用update改变,但这样做对于已有数据会有影响,甚至会导致整个数据库不能用,所以还是在建库之后就进行验证,一个好的DBA就是能够尽量避免问题的发生,而不是等到出了问题再去救火。

    如此一来就不会再有字符集和中文支持的问题了。

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多