您的位置:

phporacle字符集,Oracle字符集

本文目录一览:

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的报警信息