Oracle 11g修改字符集

2021-06-23 09:01:36 字數 1732 閱讀 3967

問題:

imp-00019: 由於 oracle 錯誤 12899 而拒絕行

imp-00003: 遇到 oracle 錯誤 12899

ora-12899: 列 "jackeyj"."jk_register"."opname" 的值太大 (實際值: 21, 最大值: 20)

列 1 523

從9i環境下exp出來的資料,imp到10g

資料庫的時候就出現這個錯誤。

解決方案:

修改oracle 10g的字符集

oracle

修改資料庫字符集為:zhs16gbk

檢視伺服器端字符集sql > select * from v$nls_parameters

修改:$sqlplus /nolog  www.2cto.com  

sql>conn / as sysdba

若此時資料庫伺服器已啟動,則先執行 shutdown immediate 命令關閉資料庫伺服器,

然後執行以下命令:

sql>shutdown immediate

sql>startup mount

sql>alter system enable restricted session

sql>alter system set job_queue_processes=0

sql>alter system set aq_tm_processes=0

sql>alter database open

sql>alter database character set zhs16gbk

error at line 1:ora-12721: operation cannot execute when other sessions are active

若出現上面的錯誤,使用下面的辦法進行修改,使用internal_use可以跳過超集的檢查:

sql>alter database character set internal_use zhs16gbk

sql>shutdown immediate

sql>startup

如startup mount 時遇到遇到

ora-12514: tns: 監聽程式當前無法識別連線描述符中請求的服務

需要在oracle安裝目錄下找到listener.ora,我的是所在目錄為c:\oracle\product\10.2.0\db_1\network\admin\

如果在listener.ora檔案中指定監聽的例項名,則即使資料庫處於關閉狀態,仍然可以連線。

listener.ora

sid_list_listener =

(sid_list =

(sid_desc =

(sid_name = pl***tproc)

(oracle_home = c:\oracle\product\10.2.0\db_1)

(program = extproc) )

(sid_desc =

(global_dbname = orcl)

(oracle_home = c:\oracle\product\10.2.0\db_1)  

(sid_name = orcl)))

listener =

(description_list =

(description =

(address = (protocol = tcp)(host = kun)(port = 1521)) )

)然後重啟監聽

Oracle 11g 字符集修改

1 確認服務端字符集 1 select userenv language from dual 2 修改服務端字符集 首先以 dba 身份登入 oracle。windows 系統下直接在命令列下執行命令 sqlplus as sysdba 或在 sql plus 下執行命令 as sysdba。然後依...

oracle 11g更改字符集

工作需要,安裝裝了oracle 11g,在匯入其他機器上的備份資料的時間,發生乙個錯誤 imp 00019 由於 oracle 錯誤 12899 而拒絕行 imp 00003 遇到 oracle 錯誤 12899 ora 12899 列 zheng d dic dicexplain 的值太大 實際值...

oracle 11g 下修改伺服器字符集

嘗試方法一 在sys sys 下面執行下面語句 失敗 注 sql alter database character set zhs16gbk alter database character set zhs16gbk 結果報下面錯誤 error 位於第 1 行 ora 12712 新字符集必須為舊字...