当前位置:首页 » 操作系统 » oracle条数据库

oracle条数据库

发布时间: 2022-07-12 08:26:22

Ⅰ Oracle数据库是什么

ORACLE是一种适用于大型、中型和微型计算机的关系数据库管理系统,它使用sql(Structured guery language)作为它的数据库语言。

SQL主要包括数据定义、数据操纵(包括查询)和数据控制等三方面功能。SQL是一种非过程化程度很高的语言,用户只需说明"干什么"而无需具体说明"怎么干"语言简洁、使用方便功能强大,集联机交互与嵌入于一体,能适应广泛的使用环境。ORACLE数据库由三种类型的文件组成:数据库文件、日志文件和控制文件。

数据字典是由ORACLE自动建立并更新的一组表,这些表中记录用户的姓名、描述表和视图以及有关用户权限等的信息。数据字典是只读的,只允许查询。也就是说数据字典是一种数据库资源,每个用户都可以访问数据字典,DBA可通过数据字典来监视ORACLERDBMS的使用,并帮助用户完成其应用。ORACLE RDBMS本身也要利用数据库字典来管理和控制整个数据库。

提起数据库,第一个想到的公司,一般都会是Oracle。该公司成立于1977年,最初是一家专门开发数据库的公司。

Oracle在数据库领域一直处于领先地位。1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle的下一个版本,版本5,率先推出了分布式数据库、客户/服务器结构等崭新的概念。Oracle的版本6首创行锁定模式以及对称多处理计算机的支持……最新的Oracle8主要增加了对象技术,成为关系-对象数据库系统。目前,ORACLE产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。

Ⅱ oracle 数据库的优势在哪

你好,由oracle公司开发的,面向internet计算的,支技关系对象型的,分布式的数据库产品。是一个高度集的互联网应用平台,为企业数据数据存储提交高性能的数据管理系统。
Oracle数据库的主要特点:
1、支持多用户、大事务量的事务处理
2、数据安全性和完整性控制
3、支持分布式数据处理
4、可移植性
5、Oracle数据库基于客户端/服务器技术

Ⅲ Oracle数据库

希望这些内容能够帮助他们提高的安全性。
一、 锁定不用的帐户。
在Oracle安装的时候,会自动建立几个默认的数据库服务器帐户。当安装完成后,系统会自动把某些帐户锁定或者设置为过期;但同时也会打开一些有用的帐户,如SYS、SYSTEM、SYSMAN等等。如果安装了数据库实例,可能还会建立scott帐户。为了的安全性考虑,我们最好能够把一些不用的帐户锁定掉。一般来说,若是系统提供的帐户,我们只需要保留SYS、SYSTEM、SYSMAN这三个用户名即可,其他的系统自建的用户名可以锁定掉。
另外,在数据库维护中,我们还会建立自己的管理员帐户。如笔者在维护数据库系统的时候,就不喜欢用系统提供的管理员帐户。而是会先利用他们的帐户登陆进去,然后建立自己喜欢的用户名与密码。所以,当数据库系统理有你前任数据库管理员留下来的用户名而你又不想用的时候,请各位高抬贵手,及早把它锁定掉。这可以提高数据库的安全性。可惜的是,笔者有时候给客户进行数据库有偿维护的时候,发现数据库中有很多莫名其妙的管理员帐户。问他们数据库管理员这些帐户有什么用时,他们说是前任留下来的,他们也不知道。对于这些帐户,笔者的建议是,尽快的把他们锁定掉或者过期掉。不然的话,对于Oracle系统来说,是一颗定时炸弹。一旦爆炸,就会给这个数据库带来不可换回的损失。二、 实施口令管理。
这准确来说,不是笔者的建议,而是Oracle官方的建议。我在参加Oracle培训的时候,他们的教授就跟我们说,应该将数据库所提供的基本口令管理准则,如口令长度历史纪录、复杂性等等,应用于所有的用户密码中,并要求所有的管理员帐户养成定期更改密码的习惯。
依赖于密码管理的数据库系统来说,需要保证密码在任何时候都是保密的。可是在实际工作中,密码可能会泄露,如在输入密码的时候被人看到或者被人利用密码窃取工具窃取到密码等等。故为了更好的控制数据库的安全,中通过概要文件来保障数据库口令的安全。这可以说是的一个独创的功能了。
具体的来说,Oracle在口令管理上,有如下规则。
1、口令历史。这跟微软操作系统中的口令历史一致。主要是用来指定在一个时间间隔内用户不能使用相同的密码。我们可以利用CREATE语句创建一个用户概要文件,虽然利用REUSE_TIME与REUSE_MAX参数指定间隔天数。TIME参数用来指定在多久后可以采用相同的密码;而MAX参数则指定,在可以再次使用当前口令之前,用户必须改变该口令的次数。
2、口令的期限。若一个密码时间越长,其泄露的几率越长。最理想的状态是,每用过一次后,就修改一次密码。但是,这显然不怎么容易实现。所以,我们需要根据一定的情况,设置一个密码有效的最长期限。当这个期限过后,原来的密码就失效,用户必须重新修改密码。我们可以利用CREATE语句为某一个用户创建一个概要文件,然后利用LIFE?_TIME参数指定口令的最长有效时间。当然,也可以为到期的密码指定延长期。当用户的口令到期后,用户第一次登陆数据库的时候,用户需要输入延长期。在这个延长期内,用户仍然可以使用原有的密码,只是每次登录数据库,系统都会提醒用户修改密码,直到延长期结束。当延长期满后,用户必须更改原有的口令。否则的话,系统会一直提醒用户更改密码,而拒绝登陆系统。另外,口令的期限往往跟上面的口令历史一起使用,从而把密码的安全性提高到一个新的层次。
3、密码的复杂性管理。我们都知道,纯数字的密码要比数字、字符混合的密码好破解的多。故为了加强用户名密码的安全性,设置一定的复杂性密码管理规则是必须的。系统中,提供了很多的密码复杂性检查。如可以规定密码的最小长度;可以设置密码不能与用户名相同;可以规定密码中必须包含字符、数字、标点符号等等;还可以设定密码不能为简单的单词以及密码的前面几个字符不能够相同等等。通过这些复杂性管理,可以最大程度的保障密码的安全性。如此的话,若想要通过数字字典破解密码的话,难度就会比较大。不过,密码虽然复杂了,但是用户最好不要随便拿张纸记一下,这样的话,密码仍然容易泄露。最好把密码记熟了,然后把纸撕掉或者烧掉,以确保密码不会被泄露。
三、 帐户自动锁定。
我们在利用银行卡帐户的时候,当密码输入错误超过一定的次数时,这卡就会被锁住。其实,在中,也可以实现这个目的。当某个管理员帐户,或者普通的帐户,其失败的登陆次数超过了我们指定的次数时,服务器就会自动锁定那个用户帐号。
一般来说,我们只需要给管理员帐户设置自动锁定策略即可。因为相对于普通用户来说,由于其不怎么熟悉操作,所以密码输入错误的几率会比较高。若我们为他们设置密码锁定策略的话,那我们很大一部分工作就是给他们进行解锁。所以,没有特殊必要的话,不要给普通帐户设置自动锁定策略,或者说,至少要把这个密码输入错误次数设置的高一点。
另外,若是前台应用程序直接连接到数据库的话,也会有用户名与密码。这个用户名与密码笔者建议是不要设置密码锁定策略,否则的话,我们维护起来会很麻烦。
四、 合理分配终端用户的权限。
终端用户就是企业员工实际用的帐户。针对普通员工的权限控制,一般有两种方式。一是通过前台的应用软件来控制;二是通过数据库的用户权限来实现。
如果我们是利用数据库自身的权限管理器来管理帐户权限的话,则我们需要考虑对终端用户进行分组,然后为这些用户组创建不同的角色。数据库管理员可以先给每个角色赋予必要的权限,然后再将这些角色赋予相应的用户组。也就是说,我们不建议直接给用户赋予相关的权限,而是通过角色与组来管理数据库的访问权限。在特殊的情况下,如某个权限只有一个特定的帐户具有时,则可以直接把权限赋予这个帐户。否则的话,我们不建议给用户直接赋予权限。

Ⅳ 数据库oracle简介

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

特点

1、完整的数据管理功能:[2]

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

2、完备关系的产品:

1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

2)保证访问的准则

3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化

4)数据物理性和逻辑性独立准则

3、分布式处理功能:

ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。

4、用ORACLE能轻松的实现数据仓库的操作。

这是一个技术发展的趋势,不在这里讨论。

优点

■ 可用性强

■ 可扩展性强

■ 数据安全性强

■ 稳定性强

Ⅳ Oracle数据库有什么特点

oracle 优势很多,大部分银行保险电信大部分是用oracle处理的
优势主要 有
1、处理速度快,非常快
2、安全级别高。支持快闪以及完美的恢复,即使硬件坏了 也可以恢复到故障发前的1s
3、几台数据库做集群数据库,可以做到几秒s以内故障转移,而且数据物理完全一致,现在集群一直是最优秀的解决方案,对于银行保险没有其他太多的选项{数据不丢,快速切换,负载均衡}
4、网格控制,以及 数据仓库方面 也非常强大
对了免费 以及 开源的 言论 都是错误的。。。oracle产品及服务都是付费的,而且价格不菲。比其他数据库要贵,物有所值。oracle不是开源的。不过可以在redhat 或者其他开源操作系统上安装。
mysql在sun没被oracle收购是开源的,免费的,之后oracle公司打算 把mysql打造成不开源,收费模式的。

Ⅵ oracle数据库和mysql数据库的区别

Oracle数据库与MySQL数据库的区别是本文我们主要介绍的内容,希望能够对您有所帮助。
1.组函数用法规则
mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错
eg:
select name,count(money) from user;这个放在mysql中没有问题在oracle中就有问题了。
2.自动增长的数据类型处理
MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。
CREATE SEQUENCE序列号的名称(最好是表名+序列号标记)INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
其中最大的值按字段的长度来定,如果定义的自动增长的序列号NUMBER(6),最大值为999999
INSERT语句插入这个字段值为:序列号的名称.NEXTVAL
3.单引号的处理
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
4.翻页的SQL语句的处理
MYSQL处理翻页的SQL语句比较简单,用LIMIT开始位置,记录个数;PHP里还可以用SEEK定位到结果集的位置。ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置,并且只能用ROWNUM<100,不能用ROWNUM>80。
以下是经过分析后较好的两种ORACLE翻页SQL语句(ID是唯一关键字的字段名):
语句一:
SELECT ID, [FIELD_NAME,...] FROM
TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID
FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) WHERE NUMROW > 80 AND NUMROW
< 100 ) ORDER BY 条件3;
语句二:
SELECT * FROM (( SELECT ROWNUM AS
NUMROW, c.* from (select [FIELD_NAME,...] FROM TABLE_NAME WHERE 条件1
ORDER BY 条件2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY
条件3;
5.长字符串的处理
长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节,如果要插入更长的字符串,请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
6.日期字段的处理
MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为SYSDATE,精确到秒,或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)年-月-日24小时:分钟:秒的格式YYYY-MM-DD
HH24:MI:SS TO_DATE()还有很多种日期格式,可以参看ORACLE
DOC.日期型字段转换成字符串函数TO_CHAR(‘2001-08-01’,’YYYY-MM-DD HH24:MI:SS’)
日期字段的数学运算公式有很大的不同。MYSQL找到离当前时间7天用DATE_FIELD_NAME
> SUBDATE(NOW(),INTERVAL 7 DAY)ORACLE找到离当前时间7天用 DATE_FIELD_NAME
>SYSDATE - 7;
MYSQL中插入当前时间的几个函数是:NOW()函数以`'YYYY-MM-DD
HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。例:insert
into tablename (fieldname) values (now())
而oracle中当前时间是sysdate
7.空字符的处理
MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容。按MYSQL的NOT NULL来定义ORACLE表结构,导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。
8.字符串的模糊比较
MYSQL里用字段名like%‘字符串%’,ORACLE里也可以用字段名like%‘字符串%’但这种方法不能使用索引,速度不快,用字符串比较函数instr(字段名,‘字符串’)>0会得到更精确的查找结果。
9.程序和函数里,操作数据库的工作完成后请注意结果集和指针的释放。
=======================================================================================

1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。
2. Oracle支持大并发,大访问量,是OLTP最好的工具。
3. 安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。
4.Oracle也Mysql操作上的区别
①主键

Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长;Oracle没有自动增长类型,主
键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可。
②单引号的处理
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
③翻页的SQL语句的处理
MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置, 记录个数;ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能用
ROWNUM<100, 不能用ROWNUM>80
④ 长字符串的处理
长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,方法借用
ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
⑤空字符的处理
MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容。按MYSQL的NOT NULL来定义ORACLE表结构, 导数据的时候会产生错误。因此导数据时要对空字符
进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。
⑥字符串的模糊比较
MYSQL里用 字段名 like '%字符串%',ORACLE里也可以用 字段名 like '%字符串%' 但这种方法不能使用索引, 速度不快。
⑦Oracle实现了ANSII SQL中大部分功能,如,事务的隔离级别、传播特性等而Mysql在这方面还是比较的弱。

Ⅶ Oracle数据库是什么

ORACLE是一种适用于大型、中型和微型计算机的关系数据库管理系统,它使用SQL(Structured guery language)作为它的数据库语言。

SQL主要包括数据定义、数据操纵(包括查询)和数据控制等三方面功能。SQL是一种非过程化程度很高的语言,用户只需说明"干什么"而无需具体说明"怎么干"语言简洁、使用方便功能强大,集联机交互与嵌入于一体,能适应广泛的使用环境。ORACLE数据库由三种类型的文件组成:数据库文件、日志文件和控制文件。

数据字典是由ORACLE自动建立并更新的一组表,这些表中记录用户的姓名、描述表和视图以及有关用户权限等的信息。数据字典是只读的,只允许查询。也就是说数据字典是一种数据库资源,每个用户都可以访问数据字典,DBA可通过数据字典来监视ORACLERDBMS的使用,并帮助用户完成其应用。ORACLE RDBMS本身也要利用数据库字典来管理和控制整个数据库。

提起数据库,第一个想到的公司,一般都会是Oracle。该公司成立于1977年,最初是一家专门开发数据库的公司。

Oracle在数据库领域一直处于领先地位。1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle的下一个版本,版本5,率先推出了分布式数据库、客户/服务器结构等崭新的概念。Oracle的版本6首创行锁定模式以及对称多处理计算机的支持……最新的Oracle8主要增加了对象技术,成为关系-对象数据库系统。目前,ORACLE产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。

Ⅷ 1.1 什么是Oracle数据库

在这里我必须插几句,说说我对拉里•埃里森的崇拜之情。我曾经崇拜过乔布斯,不过那是我对80年代发明苹果电脑的乔布斯的崇拜,也许iPhone是乔布斯人生辉煌的顶点,但是我只崇拜发明了那台绿色字符的小电脑的乔布斯;我也曾崇拜比尔•盖茨,不过那是我对DOS 3.0的崇拜。但自从听说了拉里用锤子为办公室开辟网线通道的故事(不管这个故事是不是真实的),我就开始崇拜他了。用圣迹来命名一家公司和一个产品,这不是我们这种凡夫俗子能够做到的。Oracle也确实像圣迹一样,深深地影响着全世界。 Oracle RDBMS是一款十分优秀的关系型数据库产品,Oracle从头到尾都是一个RDBMS,是针对OLTP系统进行设计的,这一点从它底层的块结构就可以看出。Oracle在大并发量和海量数据关系型检索方面具有十分优越的性能,但是它并不擅长OLAP,因为它不支持列压缩存储(当然,从exadata开始,Oracle也能够支持混合列压缩,这是一种行存储和列压缩的混合模式,目前只在exadata数据库一体机上实现)。与其他关系型数据库相比,Oracle在某些方面更为优秀,但也有其不足的地方,因此它绝对不是万能的。优势和劣势都是与生俱来的,这是由Oracle数据库的基本架构和数据存储的基础结构所决定的,优化只能解决局部性的问题,有限度地提升其性能,但是绝对无法完全掩盖结构性问题带来的负面影响。Oracle的优势在于大并发量下的高吞吐能力,因此很适合大型企业级应用。但是如果我们在一个并发量和数据量都不是很大的系统中,对Oracle和MS SQL Server进行比较,就不难发现Oracle并没有多大的优势,甚至在某些方面还不如后者。 再往更为本质的方面去探讨,Oracle是一个RDBMS系统,也是一款应用软件。Oracle数据库除了将数据存储于文件中外,还通过一个被称为实例的后台机制向外提供服务,这两部分我们将在随后的两节中详细介绍,这里不做过多的描述。我们在这里仅仅讨论作为应用程序的Oracle RDBMS系统,它必须依赖于某个操作系统或硬件体系。和我们自己编写的程序一样,Oracle必须适应于某个操作系统,并充分利用操作系统提供的资源,反过来,操作系统也必须能够将资源提供给Oracle数据库使用。在一个仅仅运行Oracle RDBMS的系统上,操作系统应该被调整为能够将绝大多数的资源都提供给Oracle数据库。这样,Oracle的进程就能够最大可能地得到足够的系统资源。 讨论这个似乎又有点跑题了,其实不然,只有充分了解Oracle的本质,我们才不会神化Oracle。Oracle的本质就是一款软件、一个程序,那么它就具备程序的一切特征,包括可能出现的bug。 但是Oracle不是一个简单的程序,而是十分复杂的体系。首先,Oracle需要将数据存储在数据文件中,为了能够支持大量的并发用户访问数据库,并且提高数据库的访问性能,Oracle需要引入共享内存,从而实现资源的共享。比如,针对SQL引擎,每个SQL最终将会被解析为一系列的执行步骤,这就是我们常说的执行计划。如果同一个SQL执行多次,每次都要重新生成执行计划,那么效率就比较低下了,Oracle引入了共享池来实现这方面的共享。同样,如果一个数据块每次读取都要访问文件,那么效率就不高了,于是Oracle引入了DB Cache来缓存这些数据。同一个数据块可能被多个用户修改,如果每次修改就要直接存盘,那么效率也会降低,于是Oracle设计了DBWR进程,来专门负责将数据块写入文件。这似乎很复杂,不过这一切对于架构师来说很好理解。架构设计的目的就是有效地将功能划分成不同的组成部分,然后让这些部分能够很好地协同工作,从而达到最好的效果,因此架构师很容易做出类似的设计。 实际上,作为一个应用程序的Oracle,它的实现原理是十分朴实的,并不像我们想象的那么神秘。前几天我碰到一个案例,有个客户的Oracle 9.2.0.6数据库突然出现了故障,sqlplus通过sysdba能够登录,并且能够访问一些系统视图,比如v$session,但如果使用普通用户登录就会被挂起。通过HANGANALYZE工具分析,没有发现任何异常。然而,在检查Oracle后台进程的时候,我们发现所有的Oracle后台进程和绝大多数前台进程都消失了。客户很是不解,为什么会这样呢?检查日志,没有发现任何异常。于是我们使用shutdown abort关闭了实例,并且进行了重启。我们都觉得没有日志,很难分析,也就没有深入研究。 第二天,客户又找到了我,说数据库又出现了昨天的情况,这回所有的Oracle进程,包括前台进程、后台进程,统统没有了,而且没有任何的日志产生。我考虑了半天,突然有所感悟,Oracle的实例实际上也是一款应用软件,由多个进程组成,任何一个进程发现系统存在异常,都会第一时间记录日志,如果问题十分严重,就会关闭实例。我们可以使用sysdba账号登录系统,并且能够在HANGANALYZE工具中看到会话的信息,说明Oracle的共享内存还存在,只是所有的进程都没有了。这种情况只有一种可能,就是所有的Oracle后台进程都是在同一个时间点被终止的,而且不是程序自己退出的(因为程序自己退出,应该有机会完成自己的退出业务逻辑,比如写日志记录故障),而是被外力强行终止的。 从上面的分析,很自然就能联想到Oracle的后台进程很可能是被人为杀掉了。于是我做了一个实验,发现如果杀掉所有的后台进程,Oracle的共享内存还是存在的,并且能够通过sysdba账号访问,普通用户登录由于缺乏后台进程的支持,会被挂起。这个现象和客户目前碰到的问题十分相似。 发现这个问题的真相只有一个渠道,就是从应用程序本质上去考虑,这样才能得出所有的后台进程都是在同一时间被终止的结论,并找出其原因。只有外部力量的介入,才有可能出现所有后台进程全部终止,而共享内存还保持正常的现象,这绝对不是某个bug能产生的结果。排除了bug的影响,我们才能把主要精力集中在正确的方向上。 到这里,对于这个案例的分析就接近尾声了,本节并没有很深入地介绍什么是Oracle,而是更加直接地介绍了Oracle的本质。Oracle在本质上就是一组应用软件,它也具备所有应用软件所具备的特征。了解这一点,是我们今后解决任何问题的基础。任何看似妖异的现象,都离不开Oracle作为应用软件的本质,都无法违背应用软件所遵循的规律。 作为应用程序的Oracle,必须依赖于其运行的系统环境,Oracle数据库的处理能力和性能也依赖于主机硬件、存储、网络和操作系统等因素,因此作为DBA不能仅仅就Oracle而论Oracle,还必须熟悉Oracle运行所依赖的环境。作为应用程序的Oracle,会和操作系统中的其他进程竞争有限的系统资源,因此,在数据库服务器上做一些比较大的操作时,一定要谨慎,因为这些操作可能会使Oracle数据库出现问题。 Oracle不仅是特殊的应用程序,更是庞大的数据库管理系统,它包含了一个RDBMS管理系统和其他一系列应用程序。Oracle的核心RDBMS管理系统包含在$ORACLE_HOME/bin/oracle映像、$ORACLE_HOME/lib/libclntsh.so等中,而sqlplus、exp等则是一些Oracle数据库的工具。tnslsnr是Oracle的网络连接部件,用于连接客户端到RDBMS。这些应用程序都被安装在ORACLE HOME目录下。 通过上述应用程序,RDBMS管理系统及其工具,用户就可以创建、管理数据库。另外,用户还可以通过sqlplus工具,使用create database命令去创建一个数据库,也可以使用startup和shutdown命令去启动和关闭数据库。 数据库是独立的,从物理结构上看,它是由一系列文件组成的,包括参数文件、口令文件、控制文件、数据文件、日志文件等。一套完整的数据库,只要其所有的文件都是完整的,那么即使数据库的RDBMS管理系统遭到破坏,只要重新安装和数据库版本一致的RDBMS管理系统,该数据库就可以重新启用。其实所谓重新启用,本质上就是可以在某个实例中打开这个数据库,供客户使用。 另外需要注意的是,Oracle数据库是一个RDBMS管理系统,其本质是关系型数据库。关系型数据库是十分适合OLTP应用的,因为它存储的是一系列的关系,各种关系以表的形式被存储起来。比如,春节前铁路网上售票系统崩溃,有人分析这是由于铁路系统固步自封,没有使用国外某大厂商的产品,而选用了通用RDBMS数据库产品所导致的性能问题,如果选用了某国际知名厂商的网状数据库,就不会有问题了。这个说法看似有理,实际上,如果足够了解RDBMS,就知道其不值一驳了,因为铁路售票系统是十分典型的OLTP应用。 另外,由于Oracle是行存储的RDBMS数据库,这一特点也使其十分适合OLTP应用。从Oracle数据库的内部数据结构可以看出,Oracle在行存储数据方面下足了功夫,甚至连行锁都是设置在行头中的。在行锁的性能方面,Oracle的表现极为优秀,这一点毋庸置疑。不过这种设计,可能不适合一些经常以列为访问对象的OLAP系统,列压缩技术才是实现这类应用的最佳解决方案。

Ⅸ 什么是oracle数据库

Oracle数据库:

驱动程序包名:ojdbc14.jar

驱动类的名字:oracle.jdbc.driver.OracleDriver

JDBC URL:jdbc:oracle:thin:@dbip:port:databasename

说明:驱动程序包名有可能会变

JDBC URL中黑色字体部分必须原封不动的保留,为该驱动识别的URL格式。红色字体部分需要根据数据库的安装情况填写。其中各个部分含义如下:

dbip –为数据库服务器的IP地址,如果是本地可写:localhost或127.0.0.1。

port –为数据库的监听端口,需要看安装时的配置,缺省为1521。

databasename –为数据库的SID,通常为全局数据库的名字。

举例如果要访问本地的数据库allandb,端口1521,那么URL写法如下:

jdbc:oracle:thin:@localhost:1521:allandb 下载地址如下:

http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

热点内容
html文件上传表单 发布:2024-09-17 03:08:02 浏览:783
聊天软件编程 发布:2024-09-17 03:00:07 浏览:725
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662
情逢敌手迅雷下载ftp 发布:2024-09-17 01:32:35 浏览:337
安卓如何让软件按照步骤自动运行 发布:2024-09-17 01:28:27 浏览:197
Z包解压命令 发布:2024-09-17 01:27:51 浏览:221