oracle数据库的特性
‘壹’ Oracle数据库的特点
1、完整的数据管理功能:
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的操作。
这是一个技术发展的趋势,不在这里讨论。
优点
■ 可用性强
■ 可扩展性强
■ 数据安全性强
■ 稳定性强
‘贰’ 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数据有什么特点
1. 11 g 扩展了 Oracle 独家具有的提供网格计算优势的功能,来提高用户服务水平、减少停机时间以及更加有效地利用 IT资源,同时还增强全天候业务应用程序的性能、可伸缩性和安全性,利用真正应用测试尽量降低更改的风险
2. 11 g降低了数据库升级以及其他硬件和操作系统更改的成本,显着简化了更改前后的系统测试以便您可以识别和解决问题。如:利用 Database Replay在数据库级别轻松捕获实际的生产负载并在测试系统上重新播放,这样有效的全面测试系统更改(包括关键的并发特性)的影响。
3.利用自学功能自动进行 SQL 优化系统全局区和程序全局区的内存缓存区的自动、统一调整新的 advisor用于分区、数据恢复、流性能和空间管理针对自动数据库诊断监视器的增强,能够提供 Oracle 真正应用集群环境中的更好的性能全局视图以及改进的性能比较分析功能。
‘肆’ oracle11g数据库最新的优势有哪些
现在已经是Oracle12c了。
你要的是这个吗?
Oracle 11g比10g多了哪些新特性?
1. 11 g 扩展了 Oracle 独家具有的提供网格计算优势的功能,来提高用户服务水平、减少停机时间以及更加有效地利用 IT资源,
同时还增强全天候业务应用程序的性能、可伸缩性和安全性,利用真正应用测试(RAT)尽量降低更改的风险
2. 11 g降低了数据库升级以及其他硬件和操作系统更改的成本,显着简化了更改前后的系统测试以便您可以识别和解决问题。如:
利用 Database Replay在数据库级别轻松捕获实际的生产负载并在测试系统上重新播放,这样有效的全面测试系统更改(包括关键的并发特性)的影响。
3. SQL Performance Analyzer识别结构化查询语言 ) SQL(执行计划更改和性能回退。可以使用 SQL Tuning Advisor解决识别的问题,
方法是还原到原始的执行计划或进一步优化。利用管理自动化提高 DBA 效率
4. Oracle 数据库 11 g继续致力于显着简化和完全自动化 DBA 任务。
5.利用自学功能自动进行 SQL 优化系统全局区(SGA)和程序全局区( PGA)的内存缓存区的自动、统一调整新的 advisor用于分区、数据恢复、
流性能和空间管理针对自动数据库诊断监视器 (ADDM)的增强,能够提供 Oracle 真正应用集群 (Oracle RAC)环境中的更好的性能全局视图以及改进的性能比较分析功能。
6.利用故障诊断快速解决问题
7.故障诊断功能使客户在发生错误后捕获 Oracle
8.Support所需的数据变得极为简单。这可以加速问题的解决,减少客户重现问题的需要,尽量降低停机成本
9.通过 Oracle Data Guard快速恢复数据 Oracle Data Guard在本地和远程服务器之间协调数据库的维护和同步以便从灾难或站点故障快速恢复。
Oracle数据库11 g提供了大量显着的 Oracle Data Guard增强,包括可以在物理备用系统上运行实时查询用于报表和其他目的、
可以通过将物理备用系统暂时转换为逻辑备用系统执行联机的、滚动的数据库升级
10.支持测试环境的快照备用系统
11.物理和逻辑备用的性能都有提高。逻辑备用现在支持可扩展标记语言(XML)类型字符大型对象 (CLOB)数据类型和透明的数据加密。现在支持自动的、快速启动的故障切换以支持异步传输。
12.支持滚动升级
13.自动坏块检测和修复
14.快速镜像重新同步,该功能可以有效地重新同步存储网络连接性暂时丢失时自动存储管理镜像的存储阵列
15.自动存储管理的性能增强使得大型数据库可以更快地打开并减少 SGA 内存消耗。这些增强还允许 DBA增加存储分配单元大小以加快大型序列输入/输出 (I/O),显着增加正常运行时间
16.Oracle数据库11 g使您可以应用很多一次性数据库补丁(包括诊断补丁),而没有停机时间。新的数据恢复 advisor通过快速识别故障根本原因、为 DBA提供可用的恢复选项,
极大地减少了停机时间,在某些情况下,还通过“自我恢复”机制自动纠正问题。
17.自动编译数据库中的 PL/SQL 和 Java
18.更快的触发器,包括更加有效地调用每行触发器
19.更快的简单 SQL 操作
20.更快的 Oracle Data Guard 和 Oracle Streams 复制
21.与网络文件系统( NFS) 存储设备更快、更可靠的直接连接、更快的升级
22.大型文件更快的备份/还原更快的备份压缩
23.Oracle 数据库 11 g包括大量新的 ILM特性,例如
新的分区功能,包括 按父/子引用分区、按虚拟列分区
Oracle数据库11 g还具有带 Oracle闪回数据归档的 Total Recall,可以在选定的表中查询以前的数据,从而提供了一种简单实用的向数据中添加时间维度的方法以便于更改跟踪、 ILM、审计和合规。
24.Oracle 数据库 11g还有其他高可用性增强,包括:
Oracle闪回事务查询,提供带其他相关事务更改的流氓事务的按钮更改
具有更多可传输选项的增强的平台移植和数据移动,包括可传输分区、
模式和跨平台数据库
Oracle恢复管理器 (RMAN)支持 Windows Volume Shadow Copy
Service ( VSS )快照,从而实现与 Windows备份更紧密的集成
优化性能和可靠性
合规、法律取证以及整合数据仓库的趋势导致数据库的大小每两年就会增加两倍,这极大地影响了大型数据库的存储成本和性能、可靠性以及可管理性
Oracle 数据库 11 g使组织可以使用低成本的服务器和模块化的存储器轻松伸缩大型的事务和数据仓库系统并提供快速的全天候数据访问。
Oracle 数据库11 g提供新的创新特性以进一步提高要求极严格的环境的性能和可伸缩性。
利用 SecureFiles安全地存储您的所有数据
SecureFiles 是 Oracle用于在数据库中存储大型对象) LOB (例如图像、大型文本对象或包括 XML、医学成像以及地理空间栅格对象在内的高级数据类型)的下一代产品。
SecureFiles提供能够完全与文件系统相媲美的卓越性能。此外,它还提供高级功能,例如智能压缩、透明加密以及透明的重复删除。
通过联机事务处理压缩提高性能并尽量降低存储成本
Oracle 数据库 11 g支持联机事务处理 (OLAP)应用程序中常用的更新、插入和删除操作的数据压缩。以前的 Oracle数据库版本支持数据仓库应用
程序常用的批量数据加载操作的压缩。 Oracle 数据库 11 g OLTP表压缩通过更加高效地使用内存来缓存数据以及减少表扫描的 I/O提高了数据库性能
利用 OLTP表压缩,您可以利用最小的处理开销达到 2 到 3倍的压缩比。
‘伍’ obiee 在访问oracle 数据库上有何特性
12c中提出了In-Memory Option,虽然在12.1.0.1中还未引入该特性,12c in-memory database cache的灵魂是 in memory in compressed columnar 简称IMCC ,在数据库中所有启用了IMCC 的表 将被加载在 in-memory snapshot store. 中。这个 in-memory snapshot store要通过 transaction journal 来更新。
该In-Memory Option特性致力于使用内存中的列存处理来实现以下4个主要目标:
显着增快SQL的全表扫描处理速度, 全表扫描将增快10~100倍,基于CPU的最大数据处理速度,对于简单扫描可以每秒扫描10亿行数据; 对于简单的连接过滤谓词最终选出少量数据行的达到每秒1亿条每秒。 与今日ORACLE数据库中对于内存在的大表访问最多处理2000万行每秒对比,将有巨大的进步。对于长向量CPU处理和压缩 积极使用有效内存
显着增快复杂SQL的处理,在绝大多数场景中连接处理将变快10倍或者更多。聚集,排序,分组也将随之变快。 积极使用内存、物化的连接键合以及压缩将使用in-memory算法大大得益,比之将临时数据溢出到磁盘的效益多出不可以道里计。
显着增快事务处理,DML操作-单行DML和批量DML都将运行地更快; 单行的处理收益主要来源于降低10倍的索引维护。
100%的应用程序透明。类似于OLTP压缩,主要的优势在于对于应用而言完全透明。所有的其他ORACLE特性均将可以与in-memory option一起工作,包括partitioning, indexes, text indexes,而没有明确的数据类型或者存储类型限制。
‘陆’ mysql数据库和oracle数据库的区别
1、体积不同。
Oracle它体积比较庞大,一般是用来开发大型应用(例如分布式)的。而MySQL的体积相对来说比较小,较之Oracle更容易安装、维护以及管理,操作也简单,最重要的是它是三个中唯一一个开源数据库,但目前也属于Oracle公司的产品了。
2、容量不同。
Oracle容量无限,根据配置决定;而MySQL使用MyISAM存储引擎,最大表尺寸为65536TB。 MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定。
3、平台支持及速度的区别。
Oracle支持大多数平台;而MySQL支持各种平台,适合Linux。至于速度,Oracle在Linux下的性能,在少量数据时速度低于MySQL,在千万级时速度快于MySQL。
4、数据库崩溃造成的影响不同。
Oracle数据库崩溃后恢复很麻烦,因为他把很多东西放在内存里;数据库连接要慢些,最好用连接池;而MySQL使用缺省的IP端口,但是有时候这些IP也会被一些黑客闯入,使用MyISAM配置,不慎损坏数据库,结果可能会导致所有的数据丢失。
5、性能的区别。
Oracle全面,完整,稳定,但一般数据量大,对硬件要求较高 ;而MySQL使用CPU和内存极少,性能很高,但扩展性较差。
6、授权价格区别。
Oracle价格较贵,例如Oracle 10G/11G 标准版 [10用户]¥25600 ,Oracle 10G/11G 标准版 [1CPU无限用户] ¥157600。而MySQL采用双重授权,他们是GPL和MySQLAB制定的商业许可协议。如果你在一个遵循GPL的自由项目中使用 MySQL,那么你可以遵循GPL协议免费使用MySQL。否则,你需要购买MySQLAB制定的那个商业许可协议。