isqlplus亂碼問題
在Redhat上安裝Oracle 10g沒有設定字符集,採用的是作業系統預設字符集:WE8ISO8859P1,將字符集修改為:ZHS16GBK。由於過程不可逆,首先需要備份資料庫。
1.資料庫全備
2.查詢當前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET WE8ISO8859P1
3.關閉資料庫
SQL> shutdown immediate
Database closed.Database dismounted.ORACLE
instance shut down.
4.啟動資料庫到mount狀態
SQL> startup mount
ORACLE instance started.Total
System Global Area 205520896
bytesFixed Size 1266608
bytesVariable Size 100666448
bytesDatabase Buffers 100663296
bytesRedo Buffers 2924544
bytesDatabase mounted.
5.限制session
SQL> alter system enable restricted session;
System altered.
6.查詢相關引數並修改
SQL> show parameter job_queue_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 10
SQL> show parameter aq_tm_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
SQL> alter system set job_queue_processes=0;
System altered.
7.開啟資料庫
SQL> alter database open;
Database altered.
8.修改字符集
SQL> alter database character set ZHS16GBK;
alter database character set ZHS16GBK*ERROR at line 1:ORA-12712: new character set must be a superset of old character set
出現錯誤提示,新字符集必須是老字符集的超集,也就原來字符集是新字符集的子集,可以再Oracle官方文件上查詢字符集包含關係。
下面使用Oracle內部命令internal_use,跳過超集檢查,生產環境不建議使用此方法。
SQL> alter database character set internal_use ZHS16GBK;
Database altered.
9.查詢當前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET ZHS16GBK
10.關閉資料庫
SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down
11.啟動資料庫到mount狀態
SQL> startup mountORACLE instance started.Total
System Global Area 205520896
bytesFixed Size 1266608
bytesVariable Size 100666448
bytesDatabase Buffers 100663296
bytesRedo Buffers 2924544
bytesDatabase mounted.
12.將相關引數改回原來值
SQL> alter system set job_queue_processes=10;
System altered.13.開啟資料庫
SQL> alter database open;
Database altered.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-1145799/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- flex亂碼問題Flex
- mysql亂碼問題MySql
- EasyUI 中文亂碼問題UI
- MSSQL中文亂碼問題SQL
- Java 中文 亂碼問題Java
- SpringMVC中文亂碼問題SpringMVC
- 解決SSH亂碼問題
- Python中文亂碼問題Python
- secureCRT顯示亂碼問題Securecrt
- Cookie值中文亂碼問題Cookie
- javaweb 中的亂碼問題JavaWeb
- EM按鈕亂碼問題
- 解決中文亂碼問題
- flashfxp 亂碼,2種辦法解決flashfxp 亂碼問題
- jasperreport HTML格式亂碼問題HTML
- MySQL:亂碼問題處理流程MySql
- Python BeautifulSoup中文亂碼問題Python
- MySql中文亂碼問題解決MySql
- Mysqldump匯出亂碼問題排查MySql
- Jmeter 解決中文亂碼問題JMeter
- Java 解決中文亂碼問題Java
- RDSSQLSERVER解決中文亂碼問題SQLServer
- Python爬蟲亂碼問題Python爬蟲
- 解決MySQL中文亂碼問題MySql
- ubuntu 中文顯示亂碼問題Ubuntu
- 各位高手幫下,亂碼問題
- Oracle EM按鈕亂碼問題Oracle
- Java,MySQL中文亂碼問題求教JavaMySql
- PHP顯示MySQL亂碼問題PHPMySql
- 插入資料庫亂碼問題資料庫
- MYSQL亂碼問題解決方法MySql
- java處理中文亂碼問題Java
- vscode中文亂碼問題VSCode
- LoadRunner錄製指令碼亂碼問題指令碼
- sybase EDCA異構訪問oracle 亂碼問題Oracle
- java中亂碼問題解決方法Java
- mysql亂碼的問題如何解決MySql
- Java GBK 中文亂碼問題分析Java