本文目錄一覽:
oracle資料庫裡面怎麼查看字符集
1、查詢Oracle Server端的字符集:
有很多種方法可以查出oracle server端的字符集,比較直觀的查詢方法是以下這種:
SQLselect userenv(『language』) from dual;
結果如下:AMERICAN _ AMERICA. ZHS16GBK。
2、查詢dmp文件的字符集:
用Oracle的exp工具導出的dmp文件也包含了字符集信息,dmp文件的第2和第3個位元組記錄了dmp文件的字符集。如果dmp文件不大,比如只有幾M或幾十M,可以用UltraEdit打開(16進位方式),看第2第3個位元組的內容,如0354,然後用以下SQL查出它對應的字符集:
SQL select nls_charset_name(to_number(‘0354′,’xxxx’)) from dual;
ZHS16GBK
3、查詢Oracle client端的字符集:
這個比較簡單。在Windows平台下,就是註冊表裡面相應OracleHome的NLS_LANG。還可以在Dos窗口裡面自己設置,比如:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
如果檢查的結果發現Server端與Client端字符集不一致,請統一修改為同Server端相同的字符集。
如何查看oracle用的什麼字符集
查看oracle字符集方法如下:
1、單機電腦做小腳windows圖標,輸入框中輸入「cmd」
2、回車,進入dos窗口
3、登錄oracle資料庫,使用sys用戶以dba身份登錄。輸入「SQLPLUS」,回車,然後再在用戶名下輸入「SYS AS SYSDBA」,回車
4、密碼後面輸入「SYS」,回車。這裡輸入密碼是隱式的,所以看不見,只要輸入就好了
5、這裡輸入SQL查詢語句,「select * from nls_database_parameters where parameter=’NLS_CHARACTERSET’;」然後回車。注意單引號內的內容必須大寫,sql語句後面的分號。這裡可以看到,資料庫使用的是簡體中文的字符集。
擴展資料:
甲骨文公司,全稱甲骨文股份有限公司(甲骨文軟體系統有限公司),是全球最大的企業級軟體公司,總部位於美國加利福尼亞州的紅木灘。1989年正式進入中國市場。2013年,甲骨文已超越 IBM ,成為繼 Microsoft 後全球第二大軟體公司。
2017年6月7日發布的2017年美國《財富》500強,甲骨文公司排名第81位。 2017年6月,《2017年BrandZ最具價值全球品牌100強》公布,甲骨文公司排名第46位。
字元(Character)是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。字符集(Character set)是多個字元的集合,字符集種類較多,每個字符集包含的字元個數不同,常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。計算機要準確的處理各種字符集文字,需要進行字元編碼,以便計算機能夠識別和存儲各種文字。中文文字數目大,而且還分為簡體中文和繁體中文兩種不同書寫規則的文字,而計算機最初是按英語單位元組字元設計的,因此,對中文字元進行編碼,是中文信息交流的技術基礎。
參考資料:
百度百科-字符集
百度百科-甲骨文公司
php+Oracle中文亂碼。PHP是utf8環境,Oracle字符集是US7ASCII。用PHP已配置連接
首先了解什麼是外部表,與其它表的區別,建立一個簡單的外部表(主要看操作過程),最後我們用外部表查看ORACLE報警日誌
1.了解oracle外部表
外部表定義:結構被存放在數據字典,而表數據被放在OS文件中的表
作用:在資料庫中查詢OS文件的數據,還可以將OS文件數據裝載到資料庫中
與其它表的區別:在外部表上不能執行DML操作,也不能在外部表上建索引,只能執行select操用
2.建一個簡單的外部表1.建一個OS上的文件
因為外部表主要是查看OS上的文件,首先在OS上建一個文件
mkdir -p /oracle/ext
vi /oracle/ext/ext.dat
10,20,30
40,50,60
70,80,90
2.授予用戶許可權,並建立目錄對象
在此我們先建一個新用戶
create user test identified by 「123」 default tablespace test quota unlimited on test;
用戶授權
SQL grant create any directory to test;
建立目錄對象
SQL conn test / 123
Connected.
SQL create directory ext as ‘/oracle/ext’;
Directory created.
3.建立外部表
SQL create table exttable(
id number,name varchar2(10),i number
)organization external
(type oracle_loader
default directory ext
access parameters
(records delimited by newline
fields terminated by ‘,’
)location(‘ext.dat’)
);
4.測試
SQL select * from exttable;
ID NAMEI
———- ———- ———-
10 20 30
40 50 60
70 80 90
測試成功,可見在資料庫中可以查詢OS文件的數據
2. 使用外部表查看oracle報警日誌
由於在上面實驗中已建立了一個用戶,並賦相應的許可權,而且也有了OS文件(即報警文件alert_SID.log),所以在此直接建立目錄對象並建立外部表就可以了。
1.建立目錄對象
SQL conn test / 123
Connected.
SQL create directory bdump as ‘/oracle/u01/app/oracle/admin/db2/bdump’;
Directory created.
2.建立外部表
SQL create table alert_log(
text varchar2(400)
)organization external
(type oracle_loader
default directory bdump
access parameters
(records delimited by newline
)location(‘alert_db2.log’)
);
3.測試
首先查看能否查到alert_db2.log的內容
SQL select * from alert_log where rownum 10;
TEXT
——————————————————————————–
Thu Jun 11 00:51:46 2009
Starting ORACLE instance (normal)
Cannot determine all dependent dynamic libraries for /proc/self/exe
Unable to find dynamic library libocr10.so in search paths
RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/a
de/aime1_build2101/oracle/has/lib/:
LD_LIBRARY_PATH is not set!
The default library directories are /lib and /usr/lib
Unable to find dynamic library libocrb10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
9 rows selected.
測試成功
然後我們測試查報警信息』ORA-%』
SQL select * from alert_log where text like ‘ORA-%’;
TEXT
——————————————————————————–
ORA-00202: control file: ‘/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
.dbf’
ORA-27037: unable to obtain file status
ORA-205 signalled during: ALTER DATABASE MOUNT…
ORA-00301: error in adding log file ‘/home/oracle/oracle/oradata/testdb/redo01.l
og’ – file cannot be created
ORA-27040: file create error
ORA-1501 signalled during: CREATE DATABASE db2
ORA-00200: control file could not be created
TEXT
——————————————————————————–
ORA-00202: control file: ‘/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
.dbf’
ORA-27038: created file already exists
ORA-1501 signalled during: CREATE DATABASE db2
ORA-00200: control file could not be created
ORA-00202: control file: ‘/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
.dbf’
ORA-27038: created file already exists
ORA-1501 signalled during: CREATE DATABASE db2
測試成功,
可見我們可以使用外部表來方便的查看ORACLE的報警信息
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247806.html