Oracle数据库是(shì)一款(kuǎn)编(biān)程(chéng)工具软件(jiàn)!Oracle 11g是甲骨文(wén)公司在2007年7月12日推出的最新数(shù)据库软件(jiàn),Oracle 11g有400多项功能,经过了(le)1500万个小(xiǎo)时的测试,开发工(gōng)作(zuò)量(liàng)达(dá)到了3.6万(wàn)人(rén)/月。相对过(guò)往版本而言,Oracle 11g具(jù)有了与众不同的特性。
Oracle 11g版本是甲骨文公司凭借自已30年的(de)设计(jì)经验,成功打造的功能强大的关系数据库管理(lǐ)系统,目前共发(fā)行了linux版(bǎn)本和windows版本,Oracle数(shù)据库的高效性、安全性(xìng)、稳定性、延展性(xìng),是其成功的关键因素,世界上的几乎所(suǒ)有大(dà)型信息化系统都在(zài)应用Oracle技术。
在(zài)甲骨文推出的产品中,Oracle 11g是最具创新(xīn)性和质量最高(gāo)的软件,它具有400多项功能,经过了1500万个(gè)小时的测试,开发工作量前(qián)所未有(yǒu)。Oracle数据库(kù)11g可以帮助企(qǐ)业(yè)管理企业信息、更深入地洞察业务状况并迅速自信地做出调整以适(shì)应不断变化的竞争环境,最新版(bǎn)数据库增强了Oracle数据库独特的数据(jù)库集群、数据中心(xīn)自动化和工作量管理功能(néng),更多(duō)详细的功能请大家查看下面的Oracle 11g新增功能介绍。
1.数据库管理部分
·数据库重(chóng)演(Database Replay)
这一特性可以捕捉整个(gè)数据的(de)负载,并且传递到一个从备份或(huò)者standby数据(jù)库中(zhōng)创建的测试数(shù)据(jù)库上(shàng),然(rán)后重演负责以测(cè)试系(xì)统(tǒng)调优后的(de)效果。
·SQL重演(SQL Replay)
和前一特性类似(sì)。但(dàn)是只(zhī)是捕捉SQL负载部分,而不是全部负载。
·计划管(guǎn)理(Plan Management)
这(zhè)一特性(xìng)允许你将某一特定语句(jù)的查询计划固定(dìng)下来(lái),无论统计数据变化(huà)还是数据库版本变化都不会改变她的查询计划。
·自(zì)动诊断知识库(Automatic Diagnostic Repository ADR)
当Oracle探测到重(chóng)要错误时,会自动创纪一个事(shì)件(incident),并且(qiě)捕捉到和(hé)这一事件相关的信(xìn)息,同时(shí)自动进行数据库健康检查并通知(zhī)DBA。此外,这些(xiē)信(xìn)息还可(kě)以打包发送给Oracle支持团队。
·事件打(dǎ)包服务(Incident Packaging Service)
如果你需要进一步测试或者保留相关信息(xī),这(zhè)一(yī)特性可以将与某一事(shì)件相关的信息(xī)打包。并且(qiě)你(nǐ)还可(kě)以(yǐ)将打包信息(xī)发给oracle支持团队(duì)。
·基于特(tè)性打(dǎ)补丁(Feature Based Patching)
在(zài)打补丁包时(shí),这一特性(xìng)可以使你(nǐ)很容易区分出补(bǔ)丁(dīng)包中(zhōng)的那(nà)些特性是你正在使用(yòng)而必(bì)须(xū)打的。企业(yè)管理器(EM)使(shǐ)你能订阅一个基于(yú)特(tè)性的补丁服(fú)务,因此企业管理器可(kě)以自动扫描(miáo)那些你正在使(shǐ)用(yòng)的特性有(yǒu)补丁可(kě)以打(dǎ)。
·自动SQL优(yōu)化(Auto SQL Tuning)
10g的(de)自(zì)动优化(huà)建议器可以将优化建议写在SQL profile中。而(ér)在(zài)11g中(zhōng),你可以让(ràng)oracle自动将能3倍(bèi)于原有性能的profile应用到SQL语句上(shàng)。性(xìng)能(néng)比较由维护窗(chuāng)口中一个新管理任务来完(wán)成。
·访(fǎng)问建议器(Access Advisor)
11g的访问(wèn)建(jiàn)议(yì)器可以给出分区建议,包括(kuò)对新的间隔分区(interval partitioning)的建议(yì)。间隔分区相当于范围(wéi)分区(range partitioning)的(de)自动化版(bǎn)本,她可以(yǐ)在必要时自动创建(jiàn)一个相同大小(xiǎo)的分区(qū)。范围分(fèn)区和间隔(gé)分区可以同时存在于一张表中(zhōng),并(bìng)且范围分区可以转换(huàn)为间(jiān)隔分(fèn)区(qū)。
·自(zì)动内存优(yōu)化(Auto Memory Tuning)
在9i中,引入了(le)自动PGA优化;10g中,又引入了自动(dòng)SGA优化。到了(le)11g,所有内存可以(yǐ)通过只设定一个参数(shù)来(lái)实现(xiàn)全表自动优化。你只要告诉(sù)oracle有多少(shǎo)内存可用,她就可以自动指定多少内存分(fèn)配给PGA、多少(shǎo)内存分配给SGA和(hé)多少内存分配给操作系统进程。当然(rán)也可以设定最大、最(zuì)小阈值。
·资源管理器(Resource Manager)
11g的(de)资源管理器不(bú)仅可以管理CPU,还可以管理IO。你可以设置特定(dìng)文件的优先级、文件类型(xíng)和ASM磁盘组。
·ADDM
ADDM在10g被引(yǐn)入。11g中,ADDM不仅可以给单个实例建议,还(hái)可以对整个RAC(即数据(jù)库级别)给出建议。另外,还(hái)可以将一些指示(directive)加入(rù)ADDM,使之忽略一(yī)些你不关心的信息。
·AWR 基线(xiàn)(AWR Baselines)
AWR基线得到了(le)扩展。可以(yǐ)为一些其他使用(yòng)到的(de)特性(xìng)自动创建基线。默认会创建周基线(xiàn)。
2. PLSQL部分
·结(jié)果集缓存(Result Set Caching)
这(zhè)一特性能(néng)大大提高很(hěn)多程序(xù)的性能。在一些MIS系统或(huò)者OLAP系统中(zhōng),需(xū)要使用(yòng)到很(hěn)多"select count(*)"这样的查询。在之前,我们如果要提高这样的查询的(de)性能,可能需(xū)要使用物化视图或者查询(xún)重写的技术。在(zài)11g,我们就(jiù)只需要(yào)加一(yī)个 /*+result_cache*/的提示就可(kě)以将结果集缓(huǎn)存住,这样就能大大提高查询性能。当然,在(zài)这种情(qíng)况(kuàng)下,我们可(kě)能还要关心另外一个问题:完整(zhěng)性。因为在oracle中(zhōng)是通过(guò)一致(zhì)性读来保证数(shù)据(jù)的完整性的。而(ér)显然,在这种新特性下,为提高性能(néng),是从缓存(cún)中的结果集中读取数据,而不会从回滚段中读(dú)取数据的。关于这(zhè)个(gè)问题,答案是完全能保证(zhèng)完整性(xìng)。因(yīn)为结果集(jí)是被(bèi)独立缓存的,在查询期间,任何其(qí)他DML语句都不会影响结果集中的内容,因而可以保(bǎo)证数据(jù)的完整性。
·对象(xiàng)依赖性改(gǎi)进
在11g之前,如果有函数或(huò)者视(shì)图依赖(lài)于某张表,一旦这张表发生结构变化,无论(lùn)是否涉及到函(hán)数或视图所依赖的属性,都会使(shǐ)函数或视图变(biàn)为invalid。在11g中,对这(zhè)种情况(kuàng)进行了(le)调(diào)整:如果表(biǎo)改变(biàn)的属(shǔ)性与相关的函数或视图无关,则相关对象状态不会发生(shēng)变化。
·正则表达式(shì)的改进
在10g中,引入了正则(zé)表(biǎo)达式。这一特性大(dà)大方便了(le)开(kāi)发人员。11g,oracle再次对这(zhè)一特性进(jìn)行了(le)改进。其中(zhōng),增加了一(yī)个名为(wéi)regexp_count的函数。另(lìng)外,其他的正则(zé)表达式函数(shù)也得到(dào)了改进。
·新SQL语法 =>
我(wǒ)们在(zài)调用某一函数时,可以通过=>来为特定的函(hán)数(shù)参数指定数据。而在11g中,这一语法也同样可以出现在sql语句中了。例如,你可以写(xiě)这样的语句:
select f(x=>6) from dual;
·对TCP包(utl_tcp、utl_smtp…)支持(chí)FGAC(Fine Grained Access Control)安全控(kòng)制
·增加了只读(dú)表(read-only table)
在以(yǐ)前,我们(men)是(shì)通过触发器或者约束来实现对表的只(zhī)读控制。11g中不需要这么麻烦(fán)了,可以(yǐ)直接(jiē)指(zhǐ)定表为只读表。
·触发(fā)器执行效率提高了
·内部单(dān)元内(nèi)联(Intra-Unit inlining)
在C语言中(zhōng),你可以通过(guò)内联函数(inline)或者宏(hóng)实(shí)现使某些小(xiǎo)的、被频繁调用的函(hán)数内联,编译后,调用内联函数的(de)部(bù)分(fèn)会(huì)编译(yì)成内联函(hán)数的函数体,因而提高函数效率。在11g的plsql中,也(yě)同(tóng)样可以实现这样(yàng)的内(nèi)联函数了(le)。
·设置触发器顺序
可能在一张(zhāng)表上存在多个触发器。在11g中(zhōng),你可以指定它们的触发顺序,而不必担心顺序混乱导致数据混乱。
·混合(hé)触发器(compound trigger)
这是11g中新出现的(de)一种触(chù)发(fā)器。她可以让你在同一触发(fā)器中(zhōng)同时具有申明部分(fèn)、before过(guò)程部(bù)分、after each row过程(chéng)部分和after过程部分。
·创建无(wú)效触发器(Disabled Trigger)
11g中,开发人员可以可以闲创建一个(gè)invalid触发器,需要时(shí)再编译她。
·在非DML语(yǔ)句中使用序(xù)列(sequence)
在之前版本,如果要将sequence的值赋(fù)给变量,需要(yào)通过类(lèi)似以(yǐ)下(xià)语句实(shí)现:
select seq_x.next_val into v_x from dual;
在11g中,不需要这(zhè)么麻烦了,下面语句(jù)就可以(yǐ)实现(xiàn):
v_x := seq_x.next_val;
·PLSQL_Warning
11g中。可以(yǐ)通过设(shè)置PLSQL_Warning=enable all,如果在"when others"没有错误(wù)爆出就发警告(gào)信息。
·PLSQL的(de)可继承性
可以在(zài)oracle对象类型中通(tōng)过super(和java中(zhōng)类似)关键字来实现继承性。
·编(biān)译速度提高
因为不(bú)在(zài)使用外部(bù)C编译器了,因此编译速度提高了。
·改进了DBMS_SQL包
其中的改进之一就(jiù)是DBMS_SQL可以(yǐ)接收大于32k的(de)CLOB了。另外(wài)还能支持用户(hù)自定(dìng)义类型和bulk操作(zuò)。
·增加了continue关键字
在PLSQL的循环语句中可(kě)以使(shǐ)用(yòng)continue关(guān)键(jiàn)字了(功能(néng)和其他高(gāo)级语言中的continue关键字相(xiàng)同(tóng))。
·新(xīn)的PLSQL数据类(lèi)型——simple_integer
这(zhè)是一个比pls_integer效率(lǜ)更高的整数数据类型。
3. 其他部分
·增强的压缩技(jì)术
可(kě)以最多压(yā)缩2/3的空间(jiān)。
·高(gāo)速推进技术
可以大大(dà)提高对文件系统的(de)数据读取(qǔ)速度。
·增强了DATA Guard
可以创(chuàng)建standby数据(jù)库(kù)的快照,用于测试。结合(hé)数据库重演(yǎn)技术,可(kě)以实现模拟生成系统负载(zǎi)的压力测试
·在(zài)线应用升级
也就是热补丁(dīng)——安装升级或打补(bǔ)丁不需要重启(qǐ)数据库
·数据库修复(fù)建议(yì)器
可以在错误诊断和解决(jué)方案实施过程中指导DBA。
·逻辑(jí)对象分(fèn)区
可以对逻辑对(duì)象进行分区,并且可以自动(dòng)创建分区(qū)以方便管理超大数据库(Very Large Databases VLDBs)
·新(xīn)的(de)高性能的(de)LOB基础结构
·新的PHP驱动。
安(ān)装以win7 64位系统为(wéi)例
1、将win64_11gR2_database_1of2和win64_11gR2_database_2of2解(jiě)压到同个(gè)文件夹下(xià)合(hé)并(可以直接左键框住(zhù)右(yòu)键点击一起解(jiě)压),打开运行(háng)其中的(de)setup开始安装,如图所示:
2、稍后进入Oracle 11g安装界面(如(rú)下图:)
3、【配置安全更(gèng)新】邮(yóu)箱以及(jí)口令可以(yǐ)不写,点击下一步,出现提醒,直接点是即可(kě)。
4、【安(ān)装选项】直接选择默认创建和配置(zhì)一(yī)个数据(jù)库(安装完Oracle后,系统会自动创建一个数据库实例)。
5、【系统类(lèi)】个人用户直接选择(zé)默(mò)认的桌面类就可以了,如图所示:
6、【典(diǎn)型安装(zhuāng)】Oracle基目录(lù),软件目录,和数据库文件目(mù)录(lù),Oracle一般会(huì)自动帮(bāng)你选择空间最大的(de)盘和你解压文件的盘符,全部默认即可。管理口令需要输(shū)入(大写+小写(xiě)+数字)的八位密(mì)码,也(yě)有网友指出(chū)此处可以随意设置简单好记的(de)密码,无视软件提(tí)醒(xǐng)即可。
7、【先决条(tiáo)件(jiàn)检查】安(ān)装程序会(huì)检(jiǎn)查软硬件系统是(shì)否满足此Oracle版本的最低要求,安装需要占用(yòng)约2G的C盘(pán)空(kōng)间,内存2G以上(shàng)即(jí)可。如果还是通(tōng)不过要求,选(xuǎn)择全部忽略。
8、【概(gài)要】安装前的(de)一(yī)些相关选(xuǎn)择配置信息,点击完(wán)成。
9、安装正在进行中,请耐心等待。。。。如图所示(shì):
10、Oracle实例创建启动完成后,会自动创建安装一个实例数据库(kù)名称orcl123,(小编用的是orcl123,默认为(wéi)orcl名称(chēng)的(de)数据库)。
11、 安装完成,运行开始菜单>Oracle - OraDb11g_home1>Database Control - orcl123,以IE运行进入(rù)登录(lù)界面或打开(kāi)ie直接(jiē)输(shū)入即可 (此(cǐ)处如果出现证书错(cuò)误(wù)的话,点击继续浏(liú)览此网站(zhàn)即(jí)可(kě))。
12、登录(lù)界面,输入用户名"SYS",口(kǒu)令为之前注册设置的管理密(mì)码,将(jiāng)连接身(shēn)份改(gǎi)为(wéi)SYSDBA,点击(jī)登录,成(chéng)功之(zhī)后你就可以管理你(nǐ)的数据库(kù)实例了。
