<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    閔毓
    http://www.eshoo.com.cn 歡迎來到異客中國
    posts - 49,comments - 97,trackbacks - 0

     

    對于oracle數(shù)據(jù)庫之間的移植采用oracle的導(dǎo)入導(dǎo)出工具(import/export)是一個比較好的策略。雖也可以利用第三方軟件如sybase 的power designer中的reverse engineering 進行數(shù)據(jù)庫結(jié)構(gòu)重建,然后在進行較復(fù)雜的數(shù)據(jù)導(dǎo)入過程,但對于作業(yè)隊列、快照等則不得不用手工來創(chuàng)建。而export能將整個數(shù)據(jù)庫、指定用戶、指定表和相關(guān)的數(shù)據(jù)字典進行輸出,export輸出的輸出轉(zhuǎn)存二進制文件包括了完全重建所有被選對象所需的命令。

    本人在為某電廠mis(oracle數(shù)據(jù)庫)數(shù)據(jù)采用oracle的導(dǎo)入導(dǎo)出工具從windows nt平臺移植到digital unix平臺時遇到的關(guān)于字符集的問題和總結(jié)出的經(jīng)驗與大家來分享。

    1. 移植環(huán)境
    原操作系統(tǒng)平臺: windows nt
    數(shù)據(jù)庫: oracle 8.0.5 for windows nt
    服務(wù)器:hp netserver lh3
    目標操作系統(tǒng)平臺:digital unix alpha v4.0
    數(shù)據(jù)庫:oracle 8.0.4 for digital unix
    服務(wù)器:alphaserver es40 小型機

    2. 數(shù)據(jù)導(dǎo)出
    在nt服務(wù)器上用oracle導(dǎo)出工具進行數(shù)據(jù)導(dǎo)出,oracle導(dǎo)出工具有命令行和圖形界面兩種方式。
    本人直接用命令行方式進行數(shù)據(jù)導(dǎo)出:
    c:> exp80 gxmisdba/manager file=c:expdat.dmp log=c:export.log
    即將導(dǎo)出指定的用戶...
    . 正在導(dǎo)出用戶gxmisdba的外部函數(shù)程序庫名稱
    . 正在導(dǎo)出用戶gxmisdba的對象類型定義
    即將導(dǎo)出gxmisdba的對象 ...
    . 正在導(dǎo)出數(shù)據(jù)庫鏈接
    . 正在導(dǎo)出序號
    . 正在導(dǎo)出群集定義
    . 即將導(dǎo)出gxmisdba的表通過常規(guī)路徑 ...
    . . 正在導(dǎo)出表     aaaaa          0 行被導(dǎo)出
    . . 正在導(dǎo)出表  evt_carrier_configuration   0 行被導(dǎo)出
    . . 正在導(dǎo)出表    tbl_aj_agks       331 行被導(dǎo)出
      .
      .
      .
    . 正在導(dǎo)出同義詞
    . 正在導(dǎo)出視圖
    . 正在導(dǎo)出存儲的過程
    . 正在導(dǎo)出參考資料一致性約束條件
    . 正在導(dǎo)出觸發(fā)器
    . 正在導(dǎo)出后期表活動
    . 正在導(dǎo)出快照
    . 正在導(dǎo)出快照日志
    . 正在導(dǎo)出作業(yè)隊列
    . 正在導(dǎo)出刷新組和子組
    在沒有警告的情況下成功終止導(dǎo)出。

    3.數(shù)據(jù)導(dǎo)入
    在nt服務(wù)器上通過ftp命令將導(dǎo)出的輸出轉(zhuǎn)存二進制文件expdat.dmp(使用binary傳輸模式)傳輸至digital unix服務(wù)器上。
    用oracle for digital unix 數(shù)據(jù)導(dǎo)入工具命令行方式進行數(shù)據(jù)導(dǎo)入
    $imp gxmisdba/manager file=/expdat.dmp full=y log=u01import.log
    connected to: oracle8 enterprise edition release 8.0.4.0.0 - production
    pl/sql release 8.0.4.0.0 - production
    export file created by export:v08.00.05 via conventional path
    . importing gxmisdbas objects into gxmisdba
    . . importing table   "aaaaa"            0 rows imported
    . . importing table  "evt_carrier_configuration"   0 rows imported
    . . importing table   "tbl_aj_stk"         331 rows imported
    imp-00017: following statement failed with oracle error 2437:
    "alter table "tbl_kj_jlry" add constraint "pk_tbl_kj_jlry" primary key ("fld_kj_jlry_bh","fld_kj_jlry_xm") using index pctfree 10 initrans 2 maxtrans 255 storage (initial 10240 next 10240 minextents 1 maxextents 2147483645 pctincrease 50 freelists 1 freelist groups 1 buffer_pool default)"
    "      enable novalidate"
    imp-00003: oracle error 2437 encountered
    ora-02437: cannot enable (gxmisdba.pk_tbl_kj_jlry) - primary key violated
    .
    .
    .
    import terminated successfully with warnings.
    數(shù)據(jù)導(dǎo)入出現(xiàn)20多個以上類似錯誤,后分析其中報錯的"tbl_aj_stk"表,發(fā)現(xiàn)"fld_kj_jlry_xm"字段值(關(guān)鍵字組成之一)為中文字符而在digital unix服務(wù)器oracle數(shù)據(jù)庫中"fld_kj_jlry_xm"字段值顯示的為"????"(在客戶端用oracle sql plus查看),從而造成關(guān)鍵字沖突。
    在客戶端oracle sql plus對某行顯示"????"的字段值進行修改,如改成中文值”測試”,提交后,用sql語句查看,剛修改的行中顯示"????"的字段值變成了”測試”,這說明了digital unin服務(wù)器上的oracle數(shù)據(jù)集可以存儲中文字符,但oracle 8.0.4 for digital unin的導(dǎo)入工具imp未能將oracle 8.0.5 for windows nt imp80導(dǎo)出的中文數(shù)據(jù)進行轉(zhuǎn)換。

    4.查看字符集參數(shù)
    4.1查看oracle 8.0.5 for windows nt props$內(nèi)容
    sql> connect sys/change_on_install
    sql> col value$ format a40
    sql> select name,value$ from props$;
    name              value$
    ---------------------------------------
    dict.base            2
    nls_language           american
    nls_territory          america
    nls_currency           $
    nls_iso_currency         america
    nls_numeric_characters     .,
    nls_calendar           gregorian
    nls_date_format         dd-mon-yy
    nls_date_language        american
    nls_characterset         zhs16gbk
    nls_sort            binary
    nls_nchar_characterset     zhs16gbk
    nls_rdbms_version        8.0.5.0.0
    global_db_name         oracle.world
    export_views_version      7
    已選擇15行。

    4.2查看oracle 8.0.4 for digital unin 的props$內(nèi)容
    sql> connect sys/change_on_install
    sql> col value$ format a40
    sql> select name,value$ from props$;
    name              value$
    ---------------------------------------
    dict.base            2
    nls_language           american
    nls_territory          america
    nls_currency           $
    nls_iso_currency         america
    nls_numeric_characters      .,
    nls_calendar           gregorian
    nls_date_format         dd-mon-yy
    nls_date_language        american
    nls_characterset         zhs16cgb231280
    nls_sort             binary
    nls_nchar_characterset      zhs16cgb231280
    nls_rdbms_version        8.0.4.0.0
    global_db_name          orcl.world
    export_views_version      7
    15 rows selected.
    發(fā)現(xiàn)oracle 8.0.4 for digital unin 采用了oracle在digital unix環(huán)境下建議的中文字符集zhs16cgb231280,兩者的字符集不同,于是本人就在digital unin服務(wù)器上重新安裝oracle,選擇了與nt上同樣的字符集zhs16gbk(中國簡體漢字16位國標庫)。安裝完成后,通過查看props$的內(nèi)容,確認了oracle 8.0.4 for digital unin和oracle 8.0.5 for windows nt的字符集一致。于是用oracle 8.0.4 for digital unin的導(dǎo)入工具imp重新進行數(shù)據(jù)導(dǎo)入,但還是報同樣的錯誤,問題還未得到解決。

    5.問題解決辦法
    后來本人發(fā)現(xiàn)在oracle 8.0.5 for windows nt的服務(wù)器(或裝有oracle 8.0.5 for windows 95/98的工作站)上直接用oracle 8.0.5 for windows nt的導(dǎo)入工具imp80遠程對oracle 8.0.4 for digital unin數(shù)據(jù)庫進行數(shù)據(jù)導(dǎo)入,問題竟得到解決。
    5.1在nt的服務(wù)器上,修改tnsnames.ora(或通過oracle net8 easy config)設(shè)置數(shù)據(jù)庫連接字符串gxmis(可自行設(shè)定)指向oracle 8.0.4 for digital unin服務(wù)器。

    5.2在nt的服務(wù)器上進行數(shù)據(jù)遠程導(dǎo)入
    c:>imp80 gxmisdba/manager@gxmis file=c:expdat.dmpfull=y log=c:import.log

    已連接到:oracle8 enterprise edition release 8.0.4.0.0 - production
    pl/sql release 8.0.4.0.0 - production
    經(jīng)由常規(guī)路徑導(dǎo)出由export:v08.00.05創(chuàng)建的文件
    . 正在將gxmisdba的對象導(dǎo)入到 gxmisdba
    . . 正在導(dǎo)入表 "aaaaa" 0行被導(dǎo)入
    . . 正在導(dǎo)入表 "evt_carrier_configuration" 0行被導(dǎo)入
    . . 正在導(dǎo)入表 "tbl_aj_agks" 331行被導(dǎo)入
    .
    .
    .
    準備啟用約束條件...
    成功終止導(dǎo)入

    5.3把oracle 8.0.4 for digital unin字符集重新又改成zhs16cgb231280,進行數(shù)據(jù)遠程導(dǎo)入測試,數(shù)據(jù)也同樣地導(dǎo)入成功。說明zhs16cgb231280字符集可以兼容zhs16gbk字符集。

    6.經(jīng)驗總結(jié)
    6.1在oracle 8.0.4 for digital unin服務(wù)器上(字符集zhs16gbk)用8.0.4 for digital unin的導(dǎo)出工具exp將已正常(即可存儲和顯示中文)的數(shù)據(jù)庫導(dǎo)出。
    $ exp gxmisdba/manager file=/u01/expdat.dmp log=/u01/export.log
    顯示成功導(dǎo)出。
    在用oracle 8.0.4 for digital unin的導(dǎo)入工具imp進行導(dǎo)入
    $imp gxmisdba/manager file=/u01/expdat.dmp full=y log=u01import.log
    錯誤又重現(xiàn)。

    6.2在nt服務(wù)器上通過ftp命令將在oracle 8.0.4 for digital unin服務(wù)器上剛導(dǎo)出的輸出轉(zhuǎn)存二進制文件expdat.dmp下載至nt服務(wù)器上,用imp80進行遠程導(dǎo)入。
    c:>imp80 gxmisdba/manager@gxmis file=c:expdat.dmp full=y log=c:import.log
    已連接到:oracle8 enterprise edition release 8.0.4.0.0 – production
    pl/sql release 8.0.4.0.0 – production
    imp-00016: 不支持要求的字符集轉(zhuǎn)換(從類型1到852)
    imp-00000: 未成功終止導(dǎo)入

    6.3在nt服務(wù)器上對digital unin服務(wù)器上的數(shù)據(jù)進行遠程導(dǎo)出(備份)
    c:>exp80 gxmisdba/manager@gxmis file=c:expdat.dmp log=c:export.log
    顯示成功導(dǎo)出。再進行遠程導(dǎo)入
    c:>imp80 gxmisdba/manager@gxmis file=c:expdat.dmp full=y log=c:import.log
    顯示成功導(dǎo)入。通過客戶端oracle sql plus查看中文顯示正常。
    從而說明在oracle 8.0.4 for digital unin服務(wù)器上對含有中文的數(shù)據(jù)庫的數(shù)據(jù)移植、備份、數(shù)據(jù)恢復(fù)不要用oracle 8.0.4 for digital unin本身自帶的導(dǎo)入導(dǎo)出工具imp,exp,應(yīng)使用能進行中文導(dǎo)入導(dǎo)出的工具,如imp80,exp80。

    posted on 2005-10-28 15:41 閔毓 閱讀(506) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫心得與體會
    主站蜘蛛池模板: 免费看美女裸露无档网站| 特级做A爰片毛片免费看无码 | 四虎永久在线精品视频免费观看| 亚洲视频一区网站| 最近2019中文免费字幕| 亚洲国产精品乱码在线观看97| 2021在线观看视频精品免费| 久久精品国产亚洲av影院| 亚洲av日韩av永久无码电影| 青春禁区视频在线观看直播免费| 激情亚洲一区国产精品| 四虎国产精品免费久久| 精品亚洲456在线播放| 四虎永久在线精品免费网址| 亚洲欧洲尹人香蕉综合| 国产精品久久免费| 亚洲视频无码高清在线| 国产伦一区二区三区免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久精品亚洲综合| 理论秋霞在线看免费| 亚洲精品国产综合久久一线| 国色精品va在线观看免费视频| 911精品国产亚洲日本美国韩国| 最近中文字幕免费2019| 亚洲色在线无码国产精品不卡| 桃子视频在线观看高清免费视频| 亚洲欧洲春色校园另类小说| 永久免费观看的毛片的网站| 亚洲神级电影国语版| 最近中文字幕mv免费高清视频7| 色多多www视频在线观看免费| 久久精品亚洲综合专区| 午夜神器成在线人成在线人免费| 亚洲性色高清完整版在线观看| 日本最新免费不卡二区在线| 好吊色永久免费视频大全| 91亚洲精品视频| 亚洲第一页综合图片自拍| 亚洲毛片免费观看| 黄色a三级免费看|