oracle字节怎么状态 oracle 状态

如何调整oracle的 sdu

SDU和TDU参数位于tnsnames.ora 和 listener.ora文件中。SDU指定送入网络的信息包的大小,理论上,SDU不应该超过MTU最大值的大小。MTU依赖一个现实的网络实现上,它是一个不变值。SDU在Oracle中的地位和MTU一样。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网络空间、营销软件、网站建设、宏伟网站维护、网站推广。

在Oracle的网络中,TDU的信息包的大小是一个默认值。理想状态下,TDU参数应该被定义为SDU参数的一倍。SDU和TDU默认的值的大小是2048,最大值是32767字节。

下面是使用SDU和TDU的方针:

•SDU永远不要设置的比TDU大,因为你将浪费掉网络资源空间。

•如果你的用户是通过调制调解器来上网,你应该将SDU和TDU的值设置的小一点,因为频繁的再发送会经常发生在调制调解器的线路上。

•在宽带连接中,你应该将你的网络SDU和TDU的值和MTU的值设置得大小一样。在标准的以太网络中,默认的MTU大小是1514字节,在标准的令牌环形网中,MTU默认值大小是4202。

•如果MTS被使用,你必须利用适当的MTU,TDU设置来设置mts_dispatchers。

在主机之间,SDU和TDU设置是连接速度的直接函数。例如T1,设置SDU=TDU=MTU。对于速度慢的调制调解器来说,最好使用值较小的SDU和TDU。

oracle 监听状态怎么查看

【1】1.su oracle

然后启动监听器.

【2】1.lsnrctl start  

会看到启动成功的界面.

【3】1.lsnrctl stop  

停止监听器命令.

【4】1.lsnrctl status  

查看监听器命令.

【1】oracle简介:甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。

【2】甲骨文公司概况:

在成熟的资本市场,市值是衡量一家企业规模、利润及增长状况等综合竞争力的动态结果。根据金融时报1月公布的2010年末全球市值500强的数据,苹果首次夺得了全球IT业市值的年终榜首。能够进入市值十强的公司,都是令人尊敬的IT顶尖企业。以市值顺序排列,这十家企业是苹果、微软、IBM、甲骨文、谷歌、三星电子、英特尔、思科、惠普和亚马逊。

【3】oracle数据库的安全包含两部分:①os的安全。

②网络的安全。

③oracle软件本身的安全。

oracle汉字占多少字节?

Oracle一个中文汉字占用几个字节,要根据Oracle中字符集编码决定。

查询Oracle Server端的字符集方法:

有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:

SQLselect userenv(‘language’) from dual;  

结果如下:AMERICAN _ AMERICA. ZHS16GBK。

字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于有八位,也表示一些计算机编程语言中的数据类型和语言字符。Byte数据类型(字节型)用一个字节(Byte)储存,可区别256个数字,取值范围:0到255。 Byte是从0-255的无符号类型,所以不能表示负数。具体参照数据类型。

在oracle中一个汉字,一个字母,一个数字分别占多少个字符

需要看数据库使用什么字符集?如果是rtf8,那么一个汉字需要3个字节。如果是GBK,它需要2个字节。

从表名中选择*,其中length(NVL(field,'))=1orderbyfield

例如:如何确定具有多个不同长度的列中的数字的长度

如:I_CODE

从表名中选择I_CODE,其中length(I_CODE)=4。所以我们可以算出答案

此外,一个汉字在Oracle数据库中占用的字节数与数据库的字符集有关。当UTF8时,长度为3。从dual中选择lengthb('float')可以查询在Oracle数据库中中国字符占用多少字节

扩展资料:

使用以下函数查询包含字段长度小于10的DNO字段的表

Select * from user_tab_cols t where t。conumn_name,比如'%DNO '和data_length

10;select * from user_tab_cols t where t。conumn_name,比如'%DNO'和data_length 10;

有时,当数据库中有许多包含相同字段的表时,您可以通过询问需要更改什么来更改表字段的长度。

ORACLE中一个字符占多少字节

22.1

问题描述

22.2

解决方案

在oracle中一个字符特别是中文占几个字节是不同的。

比如我创立一个表create

table

test_ly(a

varchar2(4),b

nvarchar2(4))

错!最多能插入一个汉字加一个字母(或数字)。

错!b列最多能插入4个汉字,b列的一个汉字或者其他字符(比如数字或者字母或者英文标点符号)占2个字节。

由此可见,N开头的字段类型(比如NCHAR,NVARCHAR2)中,任何一个字符(包括一个汉字)占2个字节,统一的。

不以N开头的字段类型(比如CHAR,VARCHAR2)中,unicode字符(比如汉字)占3个字节,其他字符占1个字节。

Length

函数求得是占用字符数,lengthb或者vsize函数求得是占用字节数。

你说

中华12

这个字符串占用了多少字符,字节?看sql返回值便清楚了。

select

length('中华12')

from

dual

--返回4,也就是占用4个字符

select

lengthb('中华12')

from

dual

--返回8,也就是占用8个字节,其中中华儿子各占3个字节,而12两个字符各占一个字节

select

lengthb(N'中华1')

from

dual

--返回6,这是将字符串转换成为unicode字符串后,每个字符占用2个字节,3个就是6个字节

select

length(N'中华1')

from

dual

--返回3,因为只有3个字符嘛。

字符串类型字段默认的长度是以字节为单位的,具体取决于参数nls_length_semantics

的值(使用show

parameters可以看到这个参数的值),默认是BYTE,也就是以字节为单位的,如果是CHAR则是以字符为单位的。表的某列可以使用字符为单位吗?当然可以,比如这样创建即可:create

table

test_ly(a

varchar2(4

char))

这样a列就最多能保存4个字符,而不是4个字节了。

oracle如何存储byte类型数据

这个我其实也不大懂 不过以前在仓库中存了这方面的一点小东东 希望对你游泳 嘿嘿 不知道是不是你想要的 先搞上来你看看吧

Oracle中的BLOB和CLOB

一、区别和定义

LONG: 可变长的字符串数据,最长2G,LONG具有VARCHAR2列的特性,可以存储长文本一个表中最多一个LONG列

LONG RAW: 可变长二进制数据,最长2G

CLOB: 字符大对象Clob 用来存储单字节的字符数据

NCLOB: 用来存储多字节的字符数据

BLOB: 用于存储二进制数据

BFILE: 存储在文件中的二进制数据,这个文件中的数据只能被只读访。但该文件不包含在数据库内。

bfile字段实际的文件存储在文件系统中,字段中存储的是文件定位指针.bfile对oracle来说是只读的,也不参与事务性控制和数据恢复.

CLOB,NCLOB,BLOB都是内部的LOB(Large Object)类型,最长4G,没有LONG只能有一列的限制

要保存图片、文本文件、Word文件各自最好用哪种数据类型?

--BLOB最好,LONG RAW也不错,但Long是oracle将要废弃的类型,因此建议用BLOB。

二、操作

1、 get

CLOB

java 代码

//获得数据库连接

Connection con = ConnectionFactory.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//不需要“for update”

ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1");

if (rs.next())

{

java.sql.Clob clob = rs.getClob("CLOBATTR");

Reader inStream = clob.getCharacterStream();

char[] c = new char[(int) clob.length()];

inStream.read(c);

//data是读出并需要返回的数据,类型是String

data = new String(c);

inStream.close();

}

inStream.close();

con.commit();

con.close();

BLOB

java 代码

//获得数据库连接

Connection con = ConnectionFactory.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//不需要“for update”

ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1");

if (rs.next())

{

java.sql.Blob blob = rs.getBlob("BLOBATTR");

InputStream inStream = blob.getBinaryStream();

//data是读出并需要返回的数据,类型是byte[]

data = new byte[input.available()];

inStream.read(data);

inStream.close();

}

inStream.close();

con.commit();

con.close();

2、 put

CLOB

java 代码

//获得数据库连接

Connection con = ConnectionFactory.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//插入一个空对象empty_clob()

st.executeUpdate("insert into TESTCLOB (ID, NAME, CLOBATTR) values (1, "thename", empty_clob())");

//锁定数据行进行更新,注意“for update”语句

ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1 for update");

if (rs.next())

{

//得到java.sql.Clob对象后强制转换为oracle.sql.CLOB

oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOBATTR");

Writer outStream = clob.getCharacterOutputStream();

//data是传入的字符串,定义:String data

char[] c = data.toCharArray();

outStream.write(c, 0, c.length);

}

outStream.flush();

outStream.close();

con.commit();

con.close();

BLOB

java 代码

//获得数据库连接

Connection con = ConnectionFactory.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//插入一个空对象empty_blob()

st.executeUpdate("insert into TESTBLOB (ID, NAME, BLOBATTR) values (1, "thename", empty_blob())");

//锁定数据行进行更新,注意“for update”语句

ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1 for update");

if (rs.next())

{

//得到java.sql.Blob对象后强制转换为oracle.sql.BLOB

oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("BLOBATTR");

OutputStream outStream = blob.getBinaryOutputStream();

//data是传入的byte数组,定义:byte[] data

outStream.write(data, 0, data.length);

}

outStream.flush();

outStream.close();

con.commit();

con.close();

=======================================================================

厚厚发表于 2006年06月27日

网络上很多关于JAVA对Oracle中BLOB、CLOB类型字段的操作说明,有的不够全面,有的不够准确,甚至有的简直就是胡说八道。最近的项目正巧用到了这方面的知识,在这里做个总结。

环境:

Database: Oracle 9i

App Server: BEA Weblogic 8.14

表结构:

CREATE TABLE TESTBLOB (ID Int, NAME Varchar2(20), BLOBATTR Blob)

CREATE TABLE TESTBLOB (ID Int, NAME Varchar2(20), CLOBATTR Clob)

JAVA可以通过JDBC,也可以通过JNDI访问并操作数据库,这两种方式的具体操作存在着一些差异,由于通过App Server的数据库连接池JNDI获得的数据库连接提供的java.sql.Blob和java.sql.Clob实现类与JDBC方式提供的不同,因此在入库操作的时候需要分别对待;出库操作没有这种差异,因此不用单独对待。

一、BLOB操作

1、入库

(1)JDBC方式

//通过JDBC获得数据库连接

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:testdb", "test", "test");

con.setAutoCommit(false);

Statement st = con.createStatement();

//插入一个空对象empty_blob()

st.executeUpdate("insert into TESTBLOB (ID, NAME, BLOBATTR) values (1, "thename", empty_blob())");

//锁定数据行进行更新,注意“for update”语句

ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1 for update");

if (rs.next())

{

//得到java.sql.Blob对象后强制转换为oracle.sql.BLOB

oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("BLOBATTR");

OutputStream outStream = blob.getBinaryOutputStream();

//data是传入的byte数组,定义:byte[] data

outStream.write(data, 0, data.length);

}

outStream.flush();

outStream.close();

con.commit();

con.close();

(2)JNDI方式

//通过JNDI获得数据库连接

Context context = new InitialContext();

ds = (DataSource) context.lookup("ORA_JNDI");

Connection con = ds.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//插入一个空对象empty_blob()

st.executeUpdate("insert into TESTBLOB (ID, NAME, BLOBATTR) values (1, "thename", empty_blob())");

//锁定数据行进行更新,注意“for update”语句

ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1 for update");

if (rs.next())

{

//得到java.sql.Blob对象后强制转换为weblogic.jdbc.vendor.oracle.OracleThinBlob(不同的App Server对应的可能会不同)

weblogic.jdbc.vendor.oracle.OracleThinBlob blob = (weblogic.jdbc.vendor.oracle.OracleThinBlob) rs.getBlob("BLOBATTR");

OutputStream outStream = blob.getBinaryOutputStream();

//data是传入的byte数组,定义:byte[] data

outStream.write(data, 0, data.length);

}

outStream.flush();

outStream.close();

con.commit();

con.close();

2、出库

//获得数据库连接

Connection con = ConnectionFactory.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//不需要“for update”

ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1");

if (rs.next())

{

java.sql.Blob blob = rs.getBlob("BLOBATTR");

InputStream inStream = blob.getBinaryStream();

//data是读出并需要返回的数据,类型是byte[]

data = new byte[input.available()];

inStream.read(data);

inStream.close();

}

inStream.close();

con.commit();

con.close();

二、CLOB操作

1、入库

(1)JDBC方式

//通过JDBC获得数据库连接

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:testdb", "test", "test");

con.setAutoCommit(false);

Statement st = con.createStatement();

//插入一个空对象empty_clob()

st.executeUpdate("insert into TESTCLOB (ID, NAME, CLOBATTR) values (1, "thename", empty_clob())");

//锁定数据行进行更新,注意“for update”语句

ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1 for update");

if (rs.next())

{

//得到java.sql.Clob对象后强制转换为oracle.sql.CLOB

oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOBATTR");

Writer outStream = clob.getCharacterOutputStream();

//data是传入的字符串,定义:String data

char[] c = data.toCharArray();

outStream.write(c, 0, c.length);

}

outStream.flush();

outStream.close();

con.commit();

con.close();

(2)JNDI方式

//通过JNDI获得数据库连接

Context context = new InitialContext();

ds = (DataSource) context.lookup("ORA_JNDI");

Connection con = ds.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//插入一个空对象empty_clob()

st.executeUpdate("insert into TESTCLOB (ID, NAME, CLOBATTR) values (1, "thename", empty_clob())");

//锁定数据行进行更新,注意“for update”语句

ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1 for update");

if (rs.next())

{

//得到java.sql.Clob对象后强制转换为weblogic.jdbc.vendor.oracle.OracleThinClob(不同的App Server对应的可能会不同)

weblogic.jdbc.vendor.oracle.OracleThinClob clob = (weblogic.jdbc.vendor.oracle.OracleThinClob) rs.getClob("CLOBATTR");

Writer outStream = clob.getCharacterOutputStream();

//data是传入的字符串,定义:String data

char[] c = data.toCharArray();

outStream.write(c, 0, c.length);

}

outStream.flush();

outStream.close();

con.commit();

con.close();

2、出库

//获得数据库连接

Connection con = ConnectionFactory.getConnection();

con.setAutoCommit(false);

Statement st = con.createStatement();

//不需要“for update”

ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1");

if (rs.next())

{

java.sql.Clob clob = rs.getClob("CLOBATTR");

Reader inStream = clob.getCharacterStream();

char[] c = new char[(int) clob.length()];

inStream.read(c);

//data是读出并需要返回的数据,类型是String

data = new String(c);

inStream.close();

}

inStream.close();

con.commit();

con.close();

需要注意的地方:

1、java.sql.Blob、oracle.sql.BLOB、weblogic.jdbc.vendor.oracle.OracleThinBlob几种类型的区别

2、java.sql.Clob、oracle.sql.CLOB、weblogic.jdbc.vendor.oracle.OracleThinClob几种类型的区别


网页名称:oracle字节怎么状态 oracle 状态
文章来源:http://pwwzsj.com/article/hhgghd.html