




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
OracleERPE-BusinessOracle應(yīng)用技術(shù) Creation October29,Last October23, ReferenceNumber> DRAFT1A<Approver <Approver Copy ControlChange4DraftNoPrevious Copy1LibraryProject2Project34NoteToIfyoureceiveanelectroniccopyofthis andprintitout,pleasewriteyournameontheequivalentofthecoverpage,for controlpurposes.Ifyoureceiveahardcopyofthis,pleasewriteyournameonthefrontcover,forcontrolpurposes. Code Character Cloneand Materialized LossDatainSys Exceed User Background 組合字 系 對(duì) Set Loss Exceed System SYS. SYS. SYS. SYS. SYS. SYS. SYS. Index DBCharacterSetChangingMethod ALTERDATABASECHARACTER CombinationofALTERDATABASECHARACTERSETand Inline ConvertOracleApplicationtoNewCharacterSet DB APPSORA DatabasePackagesand FormResource APPLTEMP OpenandClosedIssuesforthis Open Closed CodeCodePoint就是字符的“內(nèi)碼”,即數(shù)據(jù)實(shí)際將以怎樣的二進(jìn)制串。以“楊”為ZHS16CGB231280的CodePoint是D1EE,UTF8的CodePoint是E69DA8;以“A”為例,ZHS16CGB231280的CodePoint是41,UTF8的CodePoint也是41??梢杂肦AWTOHEX函數(shù)看字符的CodePoint,配合Convert函數(shù),就基本可以看任何字符集的CodePoint,如selectrawtohex(convert('A','UTF8fromdual;也可以使用LocaleBuilder工具可以查看字符集的CodePoint表,該工具在 mon/nls/lbuilder下,如果要看UTF8的CodePoint,需要 同一個(gè)字,在不同字符集下CodePoint可能相同也可能不同;如果字符集A所有的字符在字符集B中都存在,并且CodePoint也相同,這個(gè)時(shí)候我們說字符集A是字符集B的Select*Fromnls_database_parametersSIMPLIFIED_.ZHS16GBKCharacter下面是UCS-2和UTF8的CodePointUCS-2bitUTF-8bitUTF-8byte70x0000-1(內(nèi)碼相同0x0080-110xxxxx20x0800-1110xxxx10xxxxxx3Character,RecementCharacter通常是一個(gè)問號(hào)“?”。以“珺”,用LocalBuilder搜索ZHS16CGB23128文件找不到該字,Oracle的ZHS16CGB231280中并沒有“珺”的編碼;搜索UTF8文件,則可以找到,在如果在PL/SQLDeveloper(操作系統(tǒng)NLS_LANG和數(shù)據(jù)庫一樣)中把“珺”Insert到是亂碼,它是無法用函數(shù)轉(zhuǎn)成其他字符集的、在中也是報(bào)告為L(zhǎng)oss以通過設(shè)置PL/SQLDeveloper的Grid的字體來驗(yàn)證。CharacterSetScanner是Oracle提供的字符集掃描工具,可從OTN,掃描需要通過掃描可以發(fā)現(xiàn)幾類數(shù)據(jù):Changeless(CodePoint相同)、Convertible(CodePoint不同但可以找到對(duì)應(yīng)的內(nèi)碼)、ExceedSize(CodePoint不同且可以找到對(duì)應(yīng)的CSSNCvertile、ExeedSze、Lss6csmg$csscansystem/managerFULL=YFROMCHAR=ZHS16CGB231280TOCHAR=UTF8ARRAY=102400PROCESS=1CAPTURE=Y。Cloneand Object Char類型的數(shù)據(jù),極可能出現(xiàn)ExceedSize錯(cuò)誤。原因很簡(jiǎn)單,因?yàn)镃har類型字段,其MaterializedLossDatainSysExceedMetalink124721.1說“NEVERextendacolumninorderto modatetheexistingdata”,這個(gè)是有道理的。修改字段的風(fēng)險(xiǎn)是無法估計(jì)的:Oracle升級(jí)/Patch是否會(huì)不再滿足字段長(zhǎng)度的要求;Form中字段的MaxLength默認(rèn)都和做Form時(shí)數(shù)據(jù)庫字段User是Export/Import,字符集轉(zhuǎn)換沒有轉(zhuǎn)換這些數(shù)據(jù);而加密基礎(chǔ)是的CodePoint,由于新環(huán)境下字符相同的同一串,其CodePoint不同,這樣,用同樣的算法加密Background一些程序,如Job、Schedule的ConcurrentProgram、系統(tǒng)的回寫等,他們可ConcurrentManager停掉再運(yùn)行CSSCAN。OracleDBLink可以自動(dòng)進(jìn)行字符集轉(zhuǎn)換,所以不用當(dāng)心不同字符集Instance之間的連從本DB讀:對(duì)本DB沒有影響,但系統(tǒng)如果讀到自己沒有編碼的字符,就會(huì)變成亂ZH16CGB231280廣多了);或者讀到的字符轉(zhuǎn)成自己的編碼后ExceedSize了(比如UTF8系統(tǒng)從ZH16CGB231280系統(tǒng)讀數(shù),所以目前BIS系統(tǒng)的字段基本是EBS的3SetLoss有在新字符集下一一更新成正確的CodePoint了。Exceed一是用ROWID,速度最快,適合單個(gè)修改。Scan出來結(jié)果會(huì)哪個(gè)表哪個(gè)ROWID哪個(gè)字段有問題,可以直接用UpdateTable_NameSetField_Name=New_DataWhereROWID=SCAN_ROWIDandField_Name=OLD_DATA。后面這個(gè)條件是個(gè)二是用Rece,適合有規(guī)律的批量修改,全表掃描全表更新。比如要把某一字段中所有“XXX中民XXX”改為“XXX X”,語句:UpdateTable_NameSetField_Name=Rece(Field_Name,’中民’,’中國’)。第三,ROWID可能變了,那么也可以通過UpdateTable_NameSetField_Name=New_DataWhereField_Name=OLD_DATA,該方法全表掃描、局部System SYS.SYS. SYS.SYS.SYS.SYS.SYS.源代碼包含和新字符集CodePoint不同的字符,這個(gè)問題比較常見,因?yàn)榇a中通常如果源代碼沒有Loss和ExceedSize數(shù)據(jù),也可以采用Inline轉(zhuǎn)換的方法,即用Convert函數(shù)轉(zhuǎn)換CodePoint(這一步可以和處理用戶數(shù)據(jù)時(shí)一起處理),再用AlterObject_TypeOwner_Name.Object_NameCompile。<Stopallqueueswithdbms_aqadm.stop_queue(queue_name=>'<queuename>');>SHUTDOWN<doafulldatabasebackup>STARTUPMOUNT;ALTERSYSTEMENABLERESTRICTEDSESSION;ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;ALTERSYSTEMSETAQ_TM_PROCESSES=0;ALTERDATABASEOPEN;<makesurewhatthecurrentcharactersetiswiththefollowingselect:selectvaluefromnls_database_parameterswhere<settheNLS_LANGenvironmentvariabletothesamethecharacterset<exportsys.RULE$<exportanyotherconvertible(user)dataifthereisanyleft>TRUNCATETABLESYS.METASTYLESHEET;TRUNCATETABLE<truncateordeletetheother(user)datathatwasexportedALTERDATABASECHARACTERSETINTERNAL_USE<new_character_set>;SHUTDOWNIMMEDIATE;STARTUPALTERSYSTEMENABLERESTRICTEDSESSION;ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;ALTERSYSTEMSETAQ_TM_PROCESSES=0;ALTERDATABASEOPEN;<makesurethatNLS_LANGisstillsetthesameaswhentheexportwasdone<importsys.RULE$<importanyotherdatathatwasexportedUPDATESYS.JOB$SETNLSENV=CONVERT(NLSENV,<newcharacterset>,'<oldcharacterset>');<For9.2:<For9.0.1:SHUTDOWNIMMEDIATE;<startthequeuesagainIndex運(yùn)行請(qǐng)求RebuildHelpSearchIndex(實(shí)際調(diào)用$FND_TOP/sql/aflobbld.sql)的時(shí)候$sqlplusSQL>dropindexFND_LOBS_CTX;SQL>exit;$cd$FND_TOP/admin/sql(或者sqlplusSQL>startAFLOBCX3.sqlapplsysDBCharacterSetChangingMethodALTERDATABASECHARACTER為僅僅是修改數(shù)據(jù)庫的字符集申明,并不改變實(shí)際數(shù)據(jù)的CodePoint。所以如果舊字CombinationofALTERDATABASECHARACTERSETandALTERDATABASECHARACTERSETInline對(duì)于那些Convertible的數(shù)據(jù),從底層看,當(dāng)用ALTERDATABASECHARACTERSET改變數(shù)據(jù)庫字符集之后,其CodePoint還是原始的CodePoint。Setcolumn_nameconvert(column_name,’New_CS’,’OLD_CS’)直接處理,同++ALTERDATABASECHARACTERConvertOracleApplicationtoNewCharacter cdautoconfigcontextfile=<SID>.xmlConvertcharacterGeneratemessageGenerateformGeneratereportGenerateproductJARCompile$IAS_ORACLE_AddTypetext/htmlhtmhtml改為AddType"text/html;charset=utf-8"htm$ORACLE_DBDB$ORACLE_APPSORA$ORACLE_$ORACLE_添加NLS_LANG="AMERICAN_AMERICA.UTF8";exportNLS_LANG,如果沒有的DatabasePackagesandFormResourcecd$ORACLE_HOME/forms60/admin/resource/ZHScpfmrweb.resfmrweb.res.bakcpfmrweb_utf8.res !
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)直播平臺(tái)用戶數(shù)據(jù)安全保護(hù)與管理協(xié)議
- 創(chuàng)新驅(qū)動(dòng)海外礦產(chǎn)投資項(xiàng)目實(shí)施與監(jiān)管合同
- 《醫(yī)學(xué)理論與實(shí)踐》投稿須知(官方認(rèn)證)
- 江蘇名校2025屆高三第三次調(diào)查研究考試物理試題理試題含解析
- 吉林省普通高中聯(lián)合體2024-2025學(xué)年高三月考試題(二)生物試題試卷含解析
- 醫(yī)療產(chǎn)品購銷合同
- 化學(xué)工業(yè)分析基礎(chǔ)試題庫
- 群文閱讀總結(jié)模版
- 2023年教育基礎(chǔ)知識(shí)試題庫及答案
- 譯林版三年級(jí)起點(diǎn)五年級(jí)下冊(cè)《Grammar Fun time》教學(xué)設(shè)計(jì)
- 宿遷市宿城區(qū)項(xiàng)里社區(qū)治理存在的問題及對(duì)策研究
- 阿司匹林的研究進(jìn)展
- 裝配鉗工(中級(jí))試題庫
- 養(yǎng)老護(hù)理員職業(yè)技能等級(jí)認(rèn)定三級(jí)(高級(jí)工)理論知識(shí)考核試卷
- 餐飲業(yè)消防安全管理制度
- 研發(fā)費(fèi)用加計(jì)扣除政策執(zhí)行指引(1.0版)
- GB/T 20647.9-2006社區(qū)服務(wù)指南第9部分:物業(yè)服務(wù)
- 海洋油氣開發(fā)生產(chǎn)簡(jiǎn)介課件
- 重慶十八梯介紹(改)課件
- 一級(jí)病原微生物實(shí)驗(yàn)室危害評(píng)估報(bào)告
- 起重吊裝作業(yè)審批表
評(píng)論
0/150
提交評(píng)論