<video id="71low"></video>

            ITPub博客

            首頁 > 數據庫 > Oracle > Oracle 字符集修改

            Oracle 字符集修改

            原創 Oracle 作者:DBA_每日記 時間:2019-10-23 16:51:53 0 刪除 編輯

            Oracle 字符集修改

            問題背景

            有些客戶在安裝oracle的時候,由于沒有設置正確的字符集,導致一些功能不能正常使用,并在備份數據庫的時候報錯。


            解決辦法:


            1> 查看當前數據庫字符集

            SQL> select userenv('LANGUAGE') from dual;

            USERENV('LANGUAGE')

            AMERICAN_AMERICA.WE8ISO8859P1


            2> 正常關閉數據庫

            SQL> shutdown immediate

            Database closed.

            Database dismounted.

            ORACLE instance shut down.

            3> 將數據庫啟動到mount狀態

            SQL> startup mount 

            ORACLE instance started.

            Total System Global Area 1728053248 bytes

            Fixed Size                  1219832 bytes

            Variable Size             402653960 bytes

            Database Buffers         1308622848 bytes

            Redo Buffers               15556608 bytes

            Database mounted.


            4> 將數據庫設置為受限模式

            SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; 

            System altered.

            SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

            System altered.

            補充: JOB_QUEUE_PROCESSES

            只用于復制環境。它指定每個例程的 SNP 作業隊列進程的數量 (SNP0, ... SNP9, SNPA, ... SNPZ)。要自動更新表快照或執行由 DBMS_JOB 創建的請求, 請將該參數設置為 1 或更大的值。 

            值范圍: 0 到 36 

            默認值: 10(10g是10,9i是1,這個值可以先show parameter JOB_QUEUE_PROCESSES來查看。)

            SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 

            System altered.

            補充: AQ_TM_PROCESSES

            如果大于零, 就會啟用對隊列消息的時間監視。該時間值可用于指定消息的延遲和失效屬性 (用于應用程序的開發)。 

            值范圍: 0 - 10 

            默認值: 0


            5> 打開數據庫

            SQL> alter database open;

            Database altered.

            SQL> alter database character set INTERNAL_USE ZHS16GBK;

            Database altered.

            或者修改為AL32UTF8

            SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8;  

            Database altered.


            6> 關閉數據庫用以驗證

            SQL> shutdown immediate

            Database closed.

            Database dismounted.

            ORACLE instance shut down.

            SQL> select userenv('LANGUAGE') from dual;

            USERENV('LANGUAGE')

            AMERICAN_AMERICA.ZHS16GBK

            此時數據庫字符集已經為修改后的狀態

            startup;

            注意:由于之前你設置了restricted限制了其他用戶的登錄,可能導致其他客戶不能通過pl/sql來登錄

            影響正常使用,

            需要調整回來

            alter system disable restricted session ;     




            來自 “ ITPUB博客 ” ,鏈接:http://www.ep4tq.com/69950231/viewspace-2661153/,如需轉載,請注明出處,否則將追究法律責任。

            請登錄后發表評論 登錄
            全部評論

            注冊時間:2019-10-09

            • 博文量
              40
            • 訪問量
              15076
            妹子图每日分享