oracle修改字符集

生產環境的數據表用了 中文字段名。

在生產環境oracle表正常,新建開發環境時,報字符串超長。

原因是

生產oracle字符集是:NLS_CHARACTERSETZHS16GBK

開發oracle字符集是:NLS_CHARACTERSET AL16UTF16


開發oracle需要修改字符集和生產一致。


開發下:

select * from V$nls_Parameters;


cmd,sqlplus登錄

system as dba

密碼


通過 "alter database character set ZHS16GBK;" 方式修改,但并不總是有效。該命令在Oracle8時被引入Oracle,這個操作在本質上并不轉換任何數據庫字符,只是簡單的更新數據庫中所有跟字符集相關的信息。
查詢字符集信息: "SQL> select name,value$ from props$ where name like '%NLS%';",結果有二十行。
修改步驟:
注意:轉換字符集,數據庫應該在RESTRICTED模式下進行. (使用DBA登錄數據庫)
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER SESSION SET SQL_TRACE=TRUE;
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> set linesize 120;
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;

常見問題:
問題1:
SQL> ALTER DATABASE CHARACTER SET ZHS16CGB231280;
ALTER DATABASE CHARACTER SET ZHS16CGB231280
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
原因:
字符集超集問題,所謂超集是指:當前字符集中的每一個字符在新字符集中都可以表示,并使用同樣的代碼點,比如很多字符集都是US7ASCII的嚴格超集。如果不是超集,將獲得以上錯誤。
解決方式:
SQL> alter database character set internal_use ZHS16GBK;
SQL> select * from v$nls_parameters;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
備注:
ALTER DATABASE CHARACTER SET操作的內部過程是完全相同的,也就是說INTERNAL_USE提供的幫助就是使Oracle數據庫繞過了子集與超集的校驗。該方法某些方面有用處,比如測試環境;應用于產品環境大家應該格外小心,除了你以外,沒有人會為此帶來的后果負責。

問題2:
ALTER DATABASE CHARACTER SET ZHS16GBK
*
ERROR at line 1:
ORA-12721: operation cannot execute when other sessions are active
原因:
字符集超集問題。
解決方式:
SQL> alter database character set internal_use ZHS16GBK;
SQL> select * from v$nls_parameters;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;

問題3:
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ALTER DATABASE CHARACTER SET ZHS16GBK
*
ERROR at line 1:
ORA-12716: Cannot ALTER DATABASE CHARACTER SET when CLOB data exists
原因:
數據庫存在CLOB類型字段,那么就不允許對字符集進行轉換
解決方式:
這時候,我們可以去查看alert.log日志文件,看CLOB字段存在于哪些表上:
內容如:
ALTER DATABASE CHARACTER SET ZHS16GBK
SYS.METASTYLESHEET (STYLESHEET) - CLOB populated
ORA-12716 signalled during: ALTER DATABASE CHARACTER SET ZHS16GBK...
對于用戶表,可以先將該表導出,然后把該表刪掉,等字符轉換完畢后在導入。


-------------

更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538708.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538708.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538708.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#獲取當前程序運行路徑的方法集合

2019獨角獸企業重金招聘Python工程師標準>>> // 獲取當前進程的完整路徑,包含文件名(進程名) Console.WriteLine(GetType().Assembly.Location "\tGetType().Assembly.Location"); // 獲取新的 Process 組件并將其與當前活動的進程關聯的主模…

mac安裝python3.7兩個版本_MAC下同時安裝Python2和Python3

第一步:在安裝Python之前,你的電腦需要安裝一下工具:1.xcode(App Store里可以直接下載)2.套件管理工具Homebrew第二步:安裝Homebrew1.打開終端,輸入:ruby -e "$(curl -fsSL https://raw.githubusercon…

Hive thrift服務--beeline使用

hive提供了thrift服務,只要客戶端符合thrift標準就可以與它對接。 這樣可以以在一臺服務器上啟動一個hive,其他用戶通過thrift訪問hive。 hive自帶了一個thrift的客戶端-------bin/beeline 啟動方式: 1、hadoop的core-site.xml增加配置 &l…

vfp控制excel使用sort_使用Python根據索引合并Excel表

有兩張不同大小的excel表表1:字典的選項值,2118行表2:字典名稱,405行表1和表2有共同的列.現在需要根據共同的列,以表1為底,將表2的值對應添加到表1的每一行。下面是代碼:1.加載相關的庫import n…

Redis詳解(三)

一、Redis集群介紹 Clustering:redis 3.0之后進入生產環境分布式數據庫,通過分片機制來進行數據分布,clustering 內的每個節點,僅有數據庫的一部分數據;去中心化的集群:redis集群中的每一個節點,都可以作為集群的接入節…

db2數據庫日期減一天_DB2 數據庫中的日期與時間如何正確操作?(2)

日期函數有時,您需要知道兩個時間戳記之間的時差。為此,DB2 數據庫提供了一個名為 TIMESTAMPDIFF() 的內置函數。但該函數返回的是近似值,因為它不考慮閏年,而且假設每個月只有 30 天。以下示例描述了如何得到兩個日期的近似時差&…

win10計算機從桌面消失了,Windows10家庭版程序窗口在桌面上消失了解決方法

相信大家對于電腦非常不陌生吧,當你遇到Win10程序窗口桌面上消失了怎么辦這個問題該怎么解決嗎?不知道了吧,接下來小編就以程序窗口時所遇到的Win10程序窗口桌面上消失了怎么辦問題來給大家講講,看看小編是如何幫大家解決Win10程序…

如何將hive查詢結果導出成txt文件

原文地址:https://zhidao.baidu.com/question/241683835498891364.html ----------------------------------------------------------------------------- 最近在使用hive時,需要將hive查詢的數據導出到本地文件系統,HQL語法如下&…

MSSQL-最佳實踐-如何監控備份還原進度

title: MSSQL 最佳實踐 如何監控備份還原進度 author: 風移 摘要 本期月報是SQL Server備份還原專題分享系列的第六期,打算分享給大家如何監控SQL Server備份還原進度。 場景引入 由于SQL Server備份還原操作是重I/O讀寫操作,尤其是當數據庫或數據庫備…

搶車位app下載_太方便了!有了這個APP,找車位再也不用“兜圈子”了

對于不少有車一族來說,決定出門是否開車的重要因素之一,那就是目的地是不是好停車,因為找車位可真是一件很頭疼的事,不過未來,滿街找停車位的尷尬情況將會越來越少,近日,鎮江智慧停車平臺正式上…

bmp文件頭_圖像算法原理與實踐——圖像文件存儲

圖像數據在計算機儲器設備中的存儲形式是圖像文件,圖像必須按照某個公開的、規范約終結定的數據存儲順序和結構進行保存,才能使不同的程序對圖像文件順利進行打開或存盤操作,實現數據共享。圖像數據在文件中的存儲順序和結構稱為圖像文件格式…

一共81個,開源大數據處理工具匯總

查詢引擎 一、Phoenix 貢獻者::Salesforce 簡介:這是一個Java中間層,可以讓開發者在Apache HBase上執行SQL查詢。Phoenix完全使用Java編寫,代碼位于GitHub上,并且提供了一個客戶端可嵌入的JDBC驅動。 Phoen…

html5怎么刪除樣式,css怎么刪除一個樣式

css刪除一個樣式的方法:首先創建一個HTML示例文件;然后給div添加css樣式;最后通過“removeClass()”方法從被選元素刪除一個或多個類即可。本教程操作環境:windows7系統、HTML5&&CSS3版、Dell G3電腦。CSS添加樣式、刪除樣…

python語言中內置的字符串排版方法_Python14之字符串(各種奇葩的內置方法)

一、字符串的分片操作其分片操作和列表和元組一樣1 str1 keshengtao2 str1[2:6]3 shen4 str1[:]5 keshengtao6 str1[:4]7 keshView Code二、訪問字符串中的字符注:字符串中的單個字符,同樣也是字符串1 str1 keshengtao2 str1[3]3 hView Code三、字符串…

sqlserver 字符串轉化數值函數_Excel常見函數用法(TEXT函數)

基本語句:=TEXT(數值,文本格式) 用法說明:TEXT函數可通過格式代碼對數字應用格式,進而更改數字的顯示方式。其中,參數①是我們想要改變格式的數值,它可以是文本,也可以是數字;而參數②就是我們想要參數①最終變成的格式,它的作用原理和自定義數字格式一致,基本用法共…

laravel 的 表單請求

在對文章、帖子等信息進行創建、更新的時候,需要進行表單驗證的時候,一般我們使用Request來獲取輸入的值來進行驗證,這樣需要在每一個方法中進行書寫驗證規則。 laravel 提供了創建表單請求,我們可以使用 artisan 來創建一個表單請…

Flume概述

官網 http://flume.apache.org/ 介紹 Flume是一個分布式、可靠、和高可用的海量日志采集、聚合和傳輸的系統。Flume可以采集文件,socket數據包等各種形式源數據,又可以將采集到的數據輸出到HDFS、hbase、hive、kafka等眾多外部存儲系統中。一般的采集需…

日常計算機操作知識試題,關于2017計算機一級考試試題操作題

關于2017計算機一級考試試題操作題在日常學習和工作中,我們很多時候都不得不用到試題,試題可以幫助參考者清楚地認識自己的知識掌握程度。那么一般好的試題都具備什么特點呢?下面是小編為大家整理的關于2017計算機一級考試試題操作題&#xf…

概率分布分位點_概率分布的分位數三.PPT

概率分布的分位數三5.2 常用統計分布 一、常見分布 t 分布具有下列性質: 性質5.6 設 , 則當 時有 性質5.7 設 , 是T的分布密度, 則 此性質說明,當 時,T分布的極限 分布是標準正態分布。 這說明F分布極限分布也是正態分…

mastercam加工報表生成_聽說最厲害的工程師才敢這樣玩五軸加工?

今天讓我們一起來看看五軸有些什么接地氣的玩法:側刃加工(此圖非動圖)相較使用刀具底刃加工,利用刀具側刃加工可以得到更加光滑的加工表面。適用于航空航天工業中復雜型腔工件的精加工。Mastercam提供專用功能可有效防止刀具和零件型腔底部出現過切&…