一:oracle 字元集的查看和設定
1:查看資料庫伺服器當前字元集參數設定
SELECT * FROM v$nls_parameters;
或select * from nls_database_parameters
或select userenv(‘language’) from dual;
查詢結果中
NLS_CHARACTERSET表示字元集,
NLS_NCHAR_CHARACTERSET表示國家字元集
NLS_LANGUAGE 語言
NLS_TERRITORY 地區
NLS_CURRENCY 本地貨幣字元
NLS_ISO_CURRENCY ISO貨幣字元
NLS_NUMERIC_CHARACTERS 小數字元和組 分隔開
NLS_CHARACTERSET 字元集
NLS_CALENDAR 日曆系統
NLS_DATE_FORMAT 預設的日期格式
NLS_DATE_LANGUAGE 預設的日期語言
NLS_SORT 字元排序序列
NLS_TIME_FORMAT 時間格式
NLS_TIMESTAMP_FORMAT 時間戳記格式
以上的欄位都可以用 alter system set修改
注意:nls_database_parameters表示資料庫的字元集,在建立資料庫的時候設定的,一般不會改變.
v$nls_parameters 顯示當前會話值 ,他受用戶端nls 的控制。
所以2個視圖的查詢結果是可能不一樣的。
2:修改方法
通過ALTER DATABASE CHARACTER SET語句修改字元集,但建立資料庫後修改字元集是有限制的,只有新的字元集是當前字元集的超集時才能修改資料庫字元集,例如UTF8是US7ASCII的超集,修改資料庫字元集可使用ALTER DATABASE CHARACTER SET UTF8。
AL32UTF8,UTF8、UTFE是UTF-8編碼字元集
3. 查看資料庫可用字元集參數設定
SELECT * FROM v$nls_valid_values;
4:用戶端字元集環境
select * from nls_instance_parameters:
其來源於v$parameter,表示用戶端的字元集的設定,可能是參數檔案,環境變數或者是註冊表
5:會話字元集環境
select * from nls_session_parameters
來源於v$nls_parameters,表示會話自己的設定,可能是會話的環境變數或者是alter session完成,如果會話沒有特殊的設定,將與nls_instance_parameters一致。
注意:client端的字元集通過環境變數NLS_LANG設定 如果檢查的結果發現server端與client端字元集不一致,就可能產生亂碼
二:日期格式設定
select TO_DATE('12-Jan-1985 11:12:11 AM', 'dd-Mon-yyyy HH:MI:SS AM') from dual
顯示無效月份時
解決方案:alter session set NLS_DATE_LANGUAGE = American
三:初始化參數設定
SELECT * FROM V$PARAMETER;有兩百多個參數
alter session 修改當前會話的參數設定
alter system 修改所有會話的參數設定 要 特權使用者或者dba使用者才可以執行
SELECT name,type,isses_modifiable,issys_modifiable FROM V$PARAMETER;
其中isses_modifiable標識初始化參數是否可以使用alter_session 進行修過
其中issys_modifiable標識初始化參數是否可以使用alter_system 進行修過
例如修改:NLS_DATE_LANGUAGE
alter system set NLS_DATE_LANGUAGE = American
四:查看oracle資料庫的系統參數
v$controlfile:控制檔案的資訊;
v$datafile:資料檔案的資訊;
v$log: 記錄檔的資訊;
v$process:處理器的資訊;
v$session:會話資訊;
v$transaction:事務資訊;
v$resource:資源資訊;
v$sga:系統全域區的資訊。
五:修改使用者
1:修改口令字
alter user 使用者名稱 identified by "123456"
2:修改使用者預設資料表空間
alter user 使用者名稱 default tablespace users
3:將使用者加鎖
alter user 使用者名稱 account lock;
alter user 使用者名稱 account unlock;
4:刪除使用者
drop user 使用者名稱;
drop user 使用者名稱 cascade(將使用者及其所建實體全部刪除);
六:sqlplus的設定(set,show命令 )
SQL> show all --查看所有68個系統變數值
SQL> show user --顯示當前串連使用者
SQL> show error --顯示錯誤
SQL> set heading off --禁止輸出資料行標題,預設值為ON
SQL> set feedback off --禁止顯示最後一行的計數反饋資訊,預設值為"對6個或更多的記錄,回送ON"
SQL> set timing on --預設為OFF,設定查詢耗時,可用來估計SQL語句的執行時間,測試效能
SQL> set sqlprompt "SQL> " --設定預設提示符,預設值就是"SQL> "
SQL> set linesize 1000 --設定螢幕顯示行寬,預設100
SQL> set autocommit ON --設定是否自動認可,預設為OFF
SQL> set pause on --預設為OFF,設定暫停,會使螢幕顯示停止,等待按下ENTER鍵,再顯示下一頁
SQL> set arraysize 1 --預設為15
SQL> set long 1000 --預設為80