ORACLE体系结构(精选11篇)
ORACLE体系结构 篇1
目前,工程中常用数据库管理系统主要集中Oracle、SQL Server、My SQL等,其中Oracle是大型关系型数据库管理系统,相对于其他DBMS而言Oracle主要有以下突出的特点:
(1)支持大数据库、多用户的高性能的事务处理。
(2)Oracle遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。
(3)实施安全性控制和完整性控制。
(4)支持分布式数据库和分布处理。
(5)具有可移植性、可兼容性和可连接性。
因此Oracle已成为B/S架构中底层dbms首选。
要了解Oracle的体系结构必须了解数据库的内部结构,也就是Oracle数据库的存储结构,包括数据的逻辑存储结构和物理存储结构。逻辑存储结构指数据概念上的组织,如数据库或表;物理存储结构是数据库实际的数据存储单元,如文件和数据块。
1 Oracle物理存储结构
1.1 数据文件
Oracle数据库的每个表空间包括一个或多个数据文件。Oracle数据库中所有的数据信息都存放在数据文件中,数据文件是存储在文件系统中实际的物理文件。数据文件用来存储数据库中的全部数据,如存储数据库表中的数据和索引数据。通常为后缀名为.dbf格式的文件。
数据文件可以存放两种类型的数据。用户数据:用户应用系统的数据。系统数据:管理用户数据和Oracle系统本身的数据。用户建立的表名、列名,这些数据自动被存放在系统表空间对应的system01.dbf;Oracle系统内部的数据字典、表如DBA_USERS、DBA_DATA_FILES等存放的数据属于Oracle系统内部的数据-à存放在系统表空间对应的system01.dbf。
查询当前数据库的所有的表空间及其对应的数据文件。
Select file_name,tablespace,bytes from dba_data_files;
需要注意的是:
(1)一个数据文件只能属于一个表空间。
(2)数据文件创建后可改变大小。
(3)创建新的表空间需创建新的数据文件。
(4)数据文件一旦加入到表空间,就不能从表空间移走,也不能和其他表空间发生联系。
Oracle数据库、表空间和数据文件之间的关系如图1所示。
1.2 日志文件
日志文件(又称重做日志文件),用于记录数据库所做的全部变更(如增加、删除、修改)及由Oracle内部行为而引起的数据库变化信息。目的:记录数据的改变,提供数据库的恢复。一个Oracle数据库至少需要两组重做日志文件。日志按照有序循环的方式被使用。即当一组日志文件被填满后,循环覆盖下一组日志文件,不断循环。当所有日志文件都被写满后,就回到第一个日志文件。
根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG(归档日志)或NOARCHIVELOG(非归档日志)模式。归档文件的后缀为ARC。ARCHIVELOG模式:采用生成归档日志的模式;NOARCHIVELOG模式:不生成归档日志。
查询日志信息通过数据字典v$logfile,语句为Select member from v$logfile。
1.3 控制文件
Oracle数据库系统在运行前要首先转到控制文件。以检查数据库是否良好。每个Oracle数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。控制文件名字通常为Ctr*.ctl格式。
控制文件中的内容只能够由Oracle本身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。
控制文件用以记录与描述数据库的外部结构。
可以通过数据字典v$controlfile查找控制文件信息。
1.4 配置文件
配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通常为*.ora格式。如SPfile.ora文件,数据库实例初始化文件init SID.ora,listener.ora文件,sqlnet.ora文件,tnsnames.ora文件。
2 逻辑存储结构
Oracle数据库的逻辑存储结构主要从表空间(TA-BLESPACE)、段(SEGMENT)区(EXTENT)、数据块(BLOCK)4个方面考虑。
2.1 表空间
Oracle数据库在逻辑上可以划分为一系列的逻辑空间,用于存放数据库表、索引、回滚段等对象,每一个逻辑空间就可以称为一个表空间。表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外)。
一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大小。一个数据文件只能从属于一个表空间。如果表空间只对应一个数据文件,该表空间中所有的对象都存储在此数据文件中。如果表空间对应于多个数据文件,可将一个对象的数据存储在该表空间的任意一个数据文件中,也可将同一个对象的数据分布在表空间的多个数据文件中。
Oracle系统安装成功后,自动建立多个表空间。
SYSTEM表空间用于存放Oracle系统内部表和数据字典的数据。如表名、列名、用户名。不建议用户创建的表、索引等存放在system表空间。system表空间对应的数据文件为system01.dbf和systemo2.dbf。
SYSAUX表空间是Oracle 10g新增加的表空间,主要存放Oracle系统内部的常用样例用户的对象。一般不存储用户的数据,由系统自动维护。
撤消表空间:UNDO表空间是存储撤销信息的表空间。当对数据库表进行修改时,Oracle系统自动使用UNDO表空间临时存放修改前的数据(Before Image)。
用户可以根据应用系统的规模及其所要存放对象创建多个表空间,以区分用户数据和系统数据。
查询表空间通过SQL>select*from dba_data_files;实现。查询表空间的空闲信息可以通过SQL>select*from dba_free_space;实现。
2.2 段
设计数据库结构时需要将表、索引或簇存储在一个已存在的表空间上,表、索引或簇都是占空间的对象,Oracle把占空间的对象统一称为段(Segment)。数据库模式对象在逻辑上是以段来占据表空间的大小。一个非分区表就是一个segment,分区表的一个分区是一个segment。index,cluster,index partition,temporary segment,undo segment等都是一个segment。
段基本可以分为以下4种:数据段(Data Segment),索引段(Index Segment),回滚段(Rollback Segment),临时段(Temporary Segment)。
可以通过SQL>select*from user_extents;语句来查询用户的数据段信息。
2.3 区
段由多个区(extents)组成。区是磁盘空间分配的最小单位,磁盘按区划分,每次至少分配一个区。在一个段中可以存在多个区间,区间是为数据一次性预留的一个较大的存储空间,直到那个区间被用满,数据库会继续申请一个新的预留存储空间,即新的区间,一直到段的最大区间数(Max Extent)或没有可用的磁盘空间可以申请。
可以通过字典dba_tablespaces查询表空间中区的信息。可以通过字典user_tables查询段中区的信息。可以通过字典user_extents查询区的分配状况。
2.4 数据块(BLOCK)
区由一组连续(块的编号地址相邻)的Oracle数据块(block)构成。数据库块也称逻辑块或Oracle块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db_block_size(在文件init.ora中)决定。Oracle创建数据文件时实际上是将磁盘的操作系统块重新格式化成Oracle数据块,并且每个Oracle数据块都有唯一的标识。一般Oracle数据块是操作系统块的整数倍。如(Os)block=2048B(Oracle)block=8192B。
3 Oracle物理结构和逻辑结构之间的关系
如图2所示。
需要注意的是:表空间和数据文件是物理存储上的一对多的关系。表空间和段是逻辑存储上的一对多的关系。段不直接和数据文件发生关系。一个段可以属于多个数据文件。
4 结语
一个Oracle数据库可以有多个实例,但是一个实例却不可能对应多个数据库,在一般的情况下都是用单节点数据库,即一个实例仅仅对应一个数据库。论述了Oracle体系结构中的两个核心内容物理存储结构和逻辑存储结构以及它们之间的关系。Oracle体系结构中还包括Oracle实例的组成,主要由内存SGA和后台进程组成。
参考文献
[1]赵慧勤,李秀兰.Oracle数据库应用系统的优化策略.计算机工程与应用,2003,(27):213-215.
[2]吕华,杜忠军.数据库性能优化.计算机应用,2003,23(5l):172-174.
[3]戴小平.Oracle9i数据库性能调整与优化.安徽工业大学学报,2006,23(03):315-319.
Oracle中国大破大立 篇2
“在亚太企业应用市场,我们已经让SAP感觉如芒刺在背。”
2005年4月26日的新闻发布会上,Oracle亚太区应用及行业副总裁Mark Gibbs的开场白借用了两个重量级拳击手的画面。其中红色腰带的一方代表Oracle,而蓝色腰带的一方,Mark Gibbs则以美国式幽默让大家“随便怎么猜”,但很明显,以蓝色为主色调的SAP就是这一红蓝相争的另一主角。
这是过去1年以来,Oracle在中国公开场合露面的最高级别官员,此次发布会也是Oracle在中国就系列收购行动首次作出说明。事实上,在此之前不到半个月的时间里,Oracle与中国媒体已经有过连续两次不断升级的沟通。4月13日,京城不少媒体都接到Oracle的邀请,由Oracle中国北方区董事总经理李翰璋向媒体通报其2005财年第三季度在亚太地区的业绩;4月22日,Oracle全球客户计划亚太高级总监Tony Banham来到中国,希望打开Oracle网格计算的市场局面。现在看来,这不过是Mark Gibbs在中国向SAP宣战的路演。
在对PeopleSoft的世纪大收购尘埃落定,中国区组织架构调整完毕的时候,Oracle希望人们的目光更多聚焦在它与竞争对手在应用软件和技术产品领域的贴身肉搏战上。
而事实上,Oracle过去一年来让人眼花缭乱的变化并不是简单地为了今天向SAP宣战,Oracle业务板块面临重重挑战的内在事实以及全球软件行业的整体气候变迁才是其背后的变化逻辑。年营业额几乎是SAP两倍的Oracle在应用软件上对SAP的挑战只不过是虚晃一枪,这只是Oracle战略布局的一个小棋子。作为全球第二大的软件厂商,Oracle不会改变它将微软掀翻马下的“野心”,应用软件在Oracle体系中的现时突出将随着对微软斗争路线的变化而改变。
史无前例地重视“应用软件”
“2004年9月份的重组是有史以来Oracle亚太地区软件业务上最重要的事件。”Mark Gibbs告诉记者。2004年9月,Oracle宣布调整其亚太地区销售和咨询业务模式,把业务重点放在3个核心领域—应用产品、技术产品和行业,即所谓“三驾马车”,并配备专业队伍。而Oracle中国公司把原有的技术部门和应用部门分别支持7大行业的业务模式,改为应用产品、行业、技术产品和区域4大块。原有的制造、消费品、电信、金融、政府、高科技和交通等7个行业除了电信、金融、政府3大行业(这3大行业占Oracle利润总额的30%以上)以外,其他几个行业包括汽车制造、能源、交通运输等则归属应用产品部门。
在这之前,Oracle的应用软件业务是在和专售应用产品的软件公司进行竞争,对于以底层数据库技术产品起家的Oracle来说,难以掌握应用软件上的先发优势,在Mark Gibbs看来,重组是业务模式调整的必然选择,这一次重组也“对应用软件赋予了史无前例的重视”。
而在李翰璋对记者的解释中,这一次重组更是Oracle的一个战略选择,一种自我定位的改变。“Oracle的目标是做全球大而全的信息公司”,而不再是技术产品的供应商。
“信息公司”的概念根据Oracle老板拉里·埃里森“大的客户只会找大的IT厂商”的思路提出,一向个性张扬的埃里森希望从底层数据库到应用层面一统天下,铺全企业级应用软件产品。“这种思路的成形源于,一方面客户对这种供货商不必有被收购的担心,另一方面,客户不必因购买多种不同厂商的产品而增加IT成本,”李翰璋告诉记者。
已在Oracle工作14年的Mark Gibbs对Oracle的这一变化轨迹有着清晰认识。“当我和企业的CIO们谈论集成的信息架构时,他们两眼放光,因为他们都承认,如今企业IT环境的复杂性和局限性。有了Oracle,他们就可以只选择一家软件公司既为他们提供数据管理和集成技术,又为他们提供完整的应用套件。”
而在上海国通供应链管理有限公司市场总监战秀强看来,“Oracle现在的业务模式更多是出于市场销售的策略,以技术产品带动应用产品的销售。”数据库是企业应用软件正常运行的基础,在3驾马车不能并驾齐驱的时候,领先的数据库业务就成了其他两者的发动机。事实上,在中国市场上,早在2000年,Oracle就已经采取这种打包销售的方式,只是以后会更加明显。
“对于Oracle和微软这样的软件巨头来说,竞争不在技术和市场层面,业务模式之争才是最为关键的。Oracle希望借助商业模式的调整寻求突围。”独立软件分析师李际告诉记者,“但Oracle要做这种大而全的软件公司,其实存在很大的风险。一个公司的市场生存要求它的内部业务板块要相对均衡发展,Oracle是否能够以它的发展速度来抵消这种不均衡带来的风险性,还有待观察。”
事实上,Oracle在这3个领域都将面对强大对手,IBM、BEA以及SAP和微软等都不是等闲之辈。
没有绝对领导人的Oracle中国
与此同时,Oracle中国公司开始为其全球业务模式的变化让路,中国区由此接二连三地上演了人员入局出局的公司大戏。
2004年6月,张书恒这个人称在Oracle做的职位最高的“大陆仔”从Oracle辞掉中国区副总经理的职务,并以职业经理人罕有的姿态旗帜鲜明地公开批评其上司—Oracle大中华区总裁陆纯初,称其缺乏对中国市场的了解,并在辞职前绕过陆纯初,向Oracle亚太区总裁直陈陆治下的Oracle中国区域市场的诸多问题。
随后,陆纯初开始发动反击,公开宣称张书恒是由于不合格而被Oracle“炒鱿鱼”。正当人们为此嘘唏不已的时候,3个月后的2004年9月,陆纯初也颇为悲壮地离开Oracle,其直接原因是Oracle从此取消大中华区总裁的位置,将原先由其负责的市场范围“肢解”为华北、华南和中国香港、华东和华西几个区域,并受Oracle亚太区的直接管理。
同时,Oracle在中国的运营模式整体变阵,以矩阵式管理进行市场运作,与3驾马车的业务模式进行结合。“现在是以行业为矩阵纵向,而技术产品和应用产品横向插入行业中”,Oracle一位经理告诉记者,“这也是国际上公认的比较好的业务管理模式。”
以前要对销售业绩负责的区域老总们,现在不再背负销售任务,“角色转为对客户、合作伙伴、社区的维护和商业机会的寻觅”,与之前张书恒等人前线将军的身份和权力有着天壤之别。事实上,如今Oracle中国区不像以前,已经没有绝对领导人,每个地区的董事总经理都可以在自己的区域代表Oracle。
而在Mark Gibbs看来,这种运营机制符合Oracle全球范围的统一风格,中国区必须服从Oracle全球范围的商业利益。“重组之后,我们有了一支专注于应用软件产品的专业销售队伍。”矩阵式的管理模式也让Oracle的技术产品和应用产品能够捆绑在一起,打入各个行业领域。事实上,各个区域总经理其实还分别负责不同的行业,比如李翰璋就同时是Oracle中国区通信行业总经理,负责Oracle在中国电信市场打单前后的工作,“这样一来,以行业为先导,技术产品和应用产品跟上来就比较容易了。”Oracle经理告诉记者。
“当然,这并不代表Oracle以前在中国的运营模式就不对,只是现在更适合这种模式。”在这位Oracle经理看来,Oracle全球范围的系列收购以及在中国的变化都是基于“Oracle要做大而全的信息公司”的定位变化这一背景。
Oracle在中国区的变阵更像是一场“削藩”。“张书恒等本地代表是真正的藩主,而陆纯初不过是Oracle做掉这些藩主的工具。”业内某位不愿透露姓名的知名人士告诉记者,Oracle要收权,推行变阵,张书恒等人才是真正的障碍,所以用了大半年的时间煞费苦心导演了这一场戏,当陆纯初的历史使命已经完成的时候,离开就是一个必然选择。
但跳出Oracle公司层面,在不少业内人士看来,这表示跨国公司全球化运动时代的到来,这一点这位经理也表示认同。“以前中国市场有不少不规范的操作方式,对于讲究商业规则的跨国公司来说,这只能是暂时的。”Oracle经理告诉记者,“Oracle中国今后更多的是按照Oracle全球的做法来运营。”
渠道:静悄悄的黎明
尽管纷纭繁杂,但Oracle的变化已由内向外悄然开始。
黄庆是上海一家IT咨询公司老板,做Oracle代理已有近两年时间,主要做Oracle企业应用软件的实施。2005年3月,Oracle亚太区来人突然造访,这让黄庆有些吃惊,“这在过去两年是没有的事。”在与黄庆对话的时候,造访者很认真地记录了黄庆针对Oracle渠道政策的意见,并表示Oracle将在中国改变一些渠道政策,重新扶持一批重要的合作伙伴。
在过去的几年中,Oracle在中国市场上的渠道商被人们嗤笑为Oracle的“提款机”—不管产品是否落实在最终客户身上,代理商们要先将所有款项打到Oracle账上,而且用户名不可更改,这样一来,如果初始谈判的客户变卦,代理商只能为Oracle买单。正因为如此,造成曾经不少Oracle金牌合作伙伴由于现金流压力要么死掉,要么倒向竞争对手。
事实上,Oracle在中国执行的是其全球通行的政策,只是前几年在中国遭遇全球规则之外的潜规则问题,由此衍生的台下交易在之前Oracle技术产品和应用产品的售前过程中屡见不鲜。
而在售后,Oracle“与民争利”的现象也很多见。“有一家叫OSC的公司挂靠在Oracle下面,我们在做实施的时候就经常碰上他们。”黄庆告诉记者。很明显,类似OSC这样的公司与Oracle有着千丝万缕的利益关系,“不明就里的客户往往更愿意相信OSC,我们有的时候很难做。”
这些问题Oracle迟早要面对,在其计划中,2005年5月底完成对PeopleSoft的整合后,处理好与合作伙伴共生共存的关系将成为Oracle在中国的一大主题。
在李翰璋看来,与合作伙伴和客户加强关系是与Oracle中国区组织架构的调整同步进行的。“在2005年,我们将继续推动‘金色中国’计划,除了在应用软件和技术产品领域加大力度外,加强业务伙伴关系和市场承诺也是我们的重要工作。”
而在《互联网周刊》记者此次对Oracle合作伙伴和客户的调查中,尽管Oracle中国公司内部调整不断,但这种变化似乎还没有这么快传递到合作伙伴和客户身上。
在李际看来,“中国区的调整更多是为了配合Oracle全球的调整步伐,中国市场的合作伙伴和客户感觉不到变化很正常。”
内部正在经历阵痛的Oracle中国,在其最核心的业务—渠道、销售层面,颇给人一种“这里的黎明静悄悄”的感觉,但谁也不能轻易否认,变化正在悄悄波及。
豪门争锋
没有人敢肯定Oracle最后一定能胜出。
在2005年的媒体答谢会上,SAP大中华区总裁西曼要求在场媒体记者举杯“为SAP中国干杯”,“由于PeopleSoft被Oracle购并,SAP减少了一个重要的竞争对手,这将直接推动SAP走进快速增长的轨道。”西曼的得意与Mark Gibbs宣布挑战SAP时的兴奋相得益彰,而这只是孔翰宁和拉里·埃里森各自心情在中国前台的表现。
与此同时,分析师Dominy表示,现在Oracle拉开3条战线,可能产生的结果之一就是IBM与SAP进行更密切的合作。IBM多年以来一直是Oracle除微软之外的一大竞争对手,IBM告诉第三方应用软件厂商说,它不会像甲骨文希望的那样与它们在应用软件领域进行竞争。
“今后只有像Oracle这样大而全的软件公司才有可能活得更好!”这样的话李翰璋和Tony Banham以及Mark Gibbs都向记者表述过,在Oracle看来,现在SAP也在“跟着Oracle学”,意图进入应用服务器领域,摆脱单一产品线可能遭遇的瓶颈。“但SAP的发展速度很难跟上Oracle。”—从收购PeopleSoft开始,Oracle就一直在以这样自励的语气鼓励自己。
而在中国市场上谁将领跑?在专注汽车领域的软件提供商QAD中国区总经理缪青看来,Oracle要想如愿以偿,关键在两个方面,“一是人员和组织架构的调整,这一系列调整需要基于全球战略和中国市场的结合;二是整合PeopleSoft和J.D.E的速度。”
对于Oracle中国区组织架构的调整,缪青认为,“更像是为了架构调整而调整”,缺乏有规律的变化节奏,这样的调整只能让自己的市场大伤元气,并给竞争对手创造虎口夺食的机会。
而关于对PeopleSoft和J.D.E的整合,Oracle经理告诉记者,“中国区这边现在进行得很顺利,不久两边就可以一起办公了。”对于双方产品方面的整合,Mark Gibbs介绍说,这已列入Oracle赶超SAP制定的4大战略之一,“我们将遵守承诺推进‘合成工程’。”其中合成工程是指Oracle下一代应用软件、集成和架构组成的解决方案,准备在2008年推出。“下一版本的Oracle电子商务套件、PeopleSoft Enterprise 9和J.D.Edward 8.12中将包括合成工程的许多模块。”
而在整合Peoplesoft之后,甲骨文大中华区企业应用软件总经理王春文告诉记者,Oracle正在展开一系列全球并购行动,目标集中在如同Retek(零售、分销ERP软件提供商)一样按行业区分的解决方案提供商,从而在3到5年的时间里,丰富甲骨文在应用套件方面的技术能力与客户群。
ORACLE体系结构 篇3
数据库的基本原理与应用技术已经成为信息社会的核心技术和重要基础,它研究如何存储、使用和管理数据,有较强的理论性和实用性[1]。Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。数据库既是科学又是艺术,从某种意义上讲,数据库是典型的一门计算机课———理工结合,互相渗透[2]。目前,数据库原理与Oracle应用严重脱节,如何使数据库的原理与Oracle技术进行有机衔接[3],如何为数据库的学习人员奠定扎实的数据库理论知识,如何在理论基础之上进行Oracle技术的提高,如何互相渗透,相辅相成,使理论与实践更好地结合,使新旧知识产生水到渠成的联系就是书写的根源。
2 存在的问题与改进
2.1 课程设置合理化
目前大多数高校开设数据库系统概论,系统讲述数据库系统的基础理论、基本技术和基本方法,力求通过本课程学习,使学生系统地掌握数据库系统的基本原理和基本技术。与此形成鲜明对比的是一些计算机职业技术学校则着力进行目前最为流行的关系数据库技术Oracle课程的教授,力求培养学生在最短的时间内具有数据库实践操作动手能力。以上两种课程设置都忽略了数据库的特性——理工结合,互相渗透,导致数据库原理与Oracle的应用严重脱节。所以在传统数据库系统概论教学基础上进行改革,连续6个学期开设《数据库原理与Oracle应用》课程。
2.2 教学内容科学化
当前大多数高校的数据库课程都遵循数据库概述、关系数据库、SQL、查询优化、数据库设计、数据库安全性、数据库备份与恢复、数据库应用的章节依次进行内容的推进。但是数据库应用的知识其实是贯穿整个数据库教学的。例如,若采用的是Oracle数据库,那么Oralce数据库的安全性、备份与恢复以及SQL语句的执行语法都是与传统数据库教学有区别的。如果学期初单纯地进行知识讲解,没有引入数据库应用软件,那么学生无法理解理论与实践的结合。同理,如果在数据库应用中单纯地进行实例的演练,学生也无法理解数据库设计等相关知识点的重要性和目的性。
所以,在最初的学习中就引入Oracle数据库服务器软件,强调数据库的工具特色,带领学生认识与理解经典的原理。当然对于学生来说,当时不能完全理解的知识完全可以先沉淀下去,随着他们知识的增加,实践经验的积累,这些知识将会在他们脑子里复活,真正做到融会贯通。具体的课程内容分配如表1所示。
2.3 教学方法灵活化
在当前大多数高校数据库课程教学过程中,教师的教学方法缺乏灵活性、互动性与连贯性。其一:理论内容单调枯燥且往往只注重理论教学,从而加重了概念的抽象性和复杂性,降低了学生学习的激情和动力。其二:实践内容简单零散且只注重实践结果,从而忽略了数据库理论的深化与扩展,在一定程度上虽然满足了学生的自信,但是却使学生知识脱节,做不到融会贯通,限制了学生在数据库方向的发展和深造。
所以,可以首先将数据库理论等内容进行压缩、精炼与通俗化;其次忽略“先理论再实践”的传统;最后采用任务驱动方式,自始至终采取一个完整的实例项目,从最初的数据库设计到SQL的使用、到PLSQL高级应用,再到复杂的安全性、并发性、完整性、备份与恢复等实践,真正做到理论用实践来验证,实践中验证理论原理。
下面通过一个实例来灵活地进行SQL到PLSQL的过渡,以及PLSQL中最重要的知识点的串联。如表2所示。
2.4 考核方式多样化
在课程考核时,很多教师只根据学生完成卷面的情况来进行考核,而没有对学生的学习过程和创造能力进行考核,考核标准和方式单一。这种以笔试为主的考核方式来应付考核,忽视了发展和培养学生的实践动手能力,从而导致高分低能现象,所以应丰富考核方式。
3 建立完善的课程体系
通过不断地对《数据库原理与Oracle应用》课程的研究与探索,并融入自己的授课总结以及Oracle Academy项目的参与心得,提出了“一个中心、两个辅助、三个层次的课程体系”。
3.1 一个中心
一个中心,即整个教学活动,围绕以学生为中心。
以学生为中心,也就是让学生尽可能多地参与到课堂教学活动当中来,坚决摒弃过去的整节课堂都是老师讲、灌的教学方式。应该照顾到全体学生,调动所有学生的积极性,让所有的学生都能主动地、自愿地加入到教学活动中来,并且发挥自己的优势。
3.2 两个辅助
两个辅助,即教学软件教学,教学项目教学。
教学软件:数据库原理与数据库应用应有效地结合起来,这就需要一个适应教学的教学软件做支持。Oracle是世界领先的信息管理开发软件,也是目前市场份额最大的数据库产品。其中Oracle 10g安装简单,配备SQL*PLUS编程环境,可以便利地进行数据库中SQL与PLSQL语言的实践。同时Oracle还在官方网站上免费提供APEX(Oracle Application Express),便于集Oracle数据库技术与Web应用于一身,帮助学生快速开发安全、美观、专业的基于Oracle数据库的Web应用程序。
教学项目:使用贯穿始终的案例项目——高校管理系统。从第一节课开始贯穿整个课程始终。通过这个项目让学生理解为什么要使用数据库、数据库如何进行规范化的设计、数据如何高效地查询、数据高级管理以及如何保证数据的安全等。
3.3 三个层次
三个层次,即基础原理层次、提高应用层次和综合实践层次。
基础原理层次,即在数据库的学习初期,扎实学习数据库的基本理论与原理。为数据库的学习与技能的提高奠定夯实的基础。
提高应用层次,即在理论基础上,采用Oracle数据库软件,深化学习并应用SQL与PL/SQL。在此层次中,应该为学生设计多种应用环节,如课堂练习、课外实习、专业实习、竞赛考证等,目的是将所学的理论真正用到实际应用中。
综合实践层次,即在学习完数据库原理与应用课程后,学生自主进行的校外实训与毕业设计真正做到原理与应用的结合,理论联系实践。
4 结语
数据库是信息化社会中信息资源管理与开发利用的基础,数据库技术作为信息领域的基本支撑技术和信息技术专业的骨干课程,在人才培养中具有十分重要的作用。而数据库软件市场的领跑者Oracle是时下的主流数据库技术。所以数据库原理与Oracle应用是最典型的一门计算机课--理工结合,互相渗透,该课程的研究与探索也势在必得。对传统的数据库原理与时下最流行的Oracle数据库应用进行了有效的研究与探索,并融入了多年的授课经验与Oracle Academy全球师资培训的先进理念,提出了“一个中心、两个辅助、三个层次”互动的课程体系。
参考文献
[1]萨师煊,王珊.数据库系统概论[M].高等教育出版社,2000.
[2]苑景.“数据库原理与应用”课程教改实践及发展思考[J].太原教育学院学报,2006,(24):107-109.
怎样学习oracle 篇4
学习Oracle是一个漫长艰辛的过程。如果没有兴趣,只是被迫学习,那么是很难学好的。学习到一定程度的时候,要想进一步提高,就不得不接触很多Oracle之外的东西,如Unix,如网络、存储等。因此,要真的决心学好Oracle,就一定要有兴趣。有了兴趣,就会一切变得简单快乐起来。简单总结一下,那就是:兴趣、学习、实践。
我个人认为还是应该从SQL语句学起。比较好的教材是Oracle OCP认证的《SQL and PL/SQL》(1Z0-045)。学习SQL的时候,尽可能坚持使用Oracle自带的工具:SQLPLUS。有了一定的SQL基础后,就要尽可能的了解Oracle的体系结构,这就涉及到了Oracle管理的内容了。我学习的时候,机械工业出版社的《Oracle9i DBA手册》这本书对我的帮助挺大。或许现在都出11g版本的了吧。Oracle公司的《Oracle Concepts》是非常棒的书,对了解Oracle体系结构很有好处。每个Oracle版本都有对应的版本,可以认真多读几次,每次都会有新的收获。
学习Oracle备份与恢复技术也是必然的事情。大数据量情况下,Oracle 建议用RMAN来进行数据的备份与恢复。目前市场上有很多数据库备份恢复软件,其实好多也是后台调用RMAN。清华大学出版社出版的《Oracle 9i RMAN 备份与恢复技术》是一本非常不错的介绍RMAN的书。有了以上的基础,可以说已经入门了,对遇到的一些初级Oracle问题将不再束手无策。然而我们的学习之路仍然还很漫长。我们的用户可能经常抱怨数据库运行缓慢。这时,如果有一定的优化知识,那就好办了。有时你会看到优化前需要运行几个小时的作业,优化后也许几秒钟就能完成!Oracle9i的性能诊断工具包statspack、Oracle10g/11g的自动工作符合存储库AWR都是调优的好帮手。机械工业出版社出版的《Oracle9i STATSPACK高性能调整》是学习statspack不错的书
ORACLE体系结构 篇5
近日,针对政府、教育、医疗机构,甲骨文推出了全面的解决方案,不仅提供了各个机构在信息化建设和转型中所需的所有关键组件——数据库、中间件和管理软件,并且它们全部基于开放标准; 更提供了全面集成的解决方案——从人力资源和财务管理到采购和公众关系管理; 并遵守了主要的行业标准。
甲骨文公司大中华区应用软件业务总经理卢汝文表示: “越来越多的政府、教育、医疗机构选择了Oracle行业解决方案。甲骨文公司将积极推进融合战略,为中国的政府、教育、医疗机构客户提供更符合他们需要的行业解决方案。”
针对政府部门未来的发展,甲骨文推出了Oracle iGovernment架构,提出了创新、集成和智能是政府及公共事业信息化建设目标的理念。Oracle iGovernment基于开放标准和服务导向架构,结合行业的需求,融合了甲骨文领先的数据库、中间件和应用产品,可帮助政府机关和公共行业的机构实现创新性、集成式和智能化的管理。
而PeopleSoft校园解决方案则支持数字化校园建设。这一方案可以帮助学校在一个安全稳定的环境中管理整个学生生命周期——从招生和入学到学生服务和校友关系。据介绍,PeopleSoft校园解决方案为学院和大学提供了它们所需的灵活性,能有效管理潜在学生和处于摇摆状态的学生。借助PeopleSoft校园解决方案,学校能够集中财务、学生和人力资源数据,从而提高管理效率和信息准确性。
Oracle医疗卫生信息管理资源平台是一个以开放标准和服务导向架构为基础开发的行业化综合管理信息平台,以单一信息架构实现强大的多层次服务能力,融合了从“信息获取、信息整合,到信息资源利用”的一揽子解决方案,适合面对分布式数据孤岛和应用烟囱环境下实现信息整合,支撑业务流程协同整合。
ORACLE体系结构 篇6
2010年6月大庆油田建成并投入使用国内首座同行业中最大的、基于Oracle数据库的录井专业数据库。近年随着录井专业化逐步成熟, 专业内涵不断延伸, 录井数据也向着多样化发展, 种类越来越丰富, 资料采集和数据存储管理均走向标准化和集成化。作为采集勘探第一手资料的单位, 各种仪器设备和应用系统每天都会产生大量的数字信息, 包括传统录井的结构化数字信息 (气测、工程、地质数据) 以及录井新技术应用产生的非结构化数字信息 (定量荧光、岩石热解分析图片, 地质报告、解释图片等) 。这些信息汇集了所有与勘探工作过程相关的数据, 如果其中一部份被孤立在设备和应用系统自身的存储空间中, 形成各个信息孤岛, 得不到及时合理的应用, 数据量的持续爆增也会给企业带来诸多隐患。随着时间的推移, 我们越来越多的意识到合理整合利用数据对油田勘探开发生产的重要性。
Oracle数据库是一种功能非常强大的关系型数据库, 它除了可以有效的管理结构化数字信息, 做好对其的存储、安全备份、共享及应用外, 也提供了针对非关系型数字信息的强大管理功能。在Oracle数据库中, 非结构化数据可以用大对象数据类型LOB (Large Object, 大型对象) 涵盖[1]。这种类型的容量很大 (最多能容纳4GB的数据) , 且在一个二维表格中可以多次使用, 非常灵活, 正适用于像录井这种数据资料庞大的勘探服务领域。
二、Oracle非结构化LOB类型的特殊性
与传统的结构化数据类型相比较, LOB类型数据无论在管理上还是空间利用上, 都有很多特殊之处。对于传统的数据表 (结构化数据) 而言, 一个数据表只会对应一个存储数据段Data Segment对象。当数据表中包括LOB类型的数据列时, 则会创建多个数据段。由图1所示命令结果, USER_SEGMENTS中产生了两个由系统命名的段对象:LOBSEGMENT和LOBINDEX类型, 分别对应LOB段和LOB索引段。
LOB段用于存放数据表LOB列上的数据。LOB索引段是Oracle为每一个LOB类型列强制生成的索引, 主要作用是用于进行LOB类型数据检索加速的操作。它们彼此共生, 如果强制进行删除操作, 是会报错的。因此, LOB类型不能够用简单的DML语句 (INSERT、UPDATE、DELETE) 来完成数据与表的交互操作, 而是需要使用DBMS_LOB包。Oracle提供了许多内置程序包, 它们用于扩展数据库的功能。
三、利用Oracle存储过程实现BLOB类型的上传和下载
我们选择在Oracle 10g R2下进行试验。首先构建出一个试验TABLE, TABLE要建立在普通用户下, 这个普通用户应该具有可以创建和读取任意DIRECTORY的权限, 这里将表命名为TEST。 (图2)
这里选取三个字段, ID用做主键并记录数据个数, BL用于存放BLOB类型非结构化数据体, CMT用于存放BL数据的备注内容。DBMS_LOB包中提供了很多功能强大的过程和函数供用户对内部的LOB字段进行维护。这里针对BLOB的存储操作, 主要用到LOADFROMFILE () 、READ () , 即向LOB中写入数据和从LOB数据中读取指定长度数据到缓冲区的过程。
(1) Oracle存储过程实现上传。首先创建一个存储文件的DIRECTORY (图3) 。注意这个DIRECTORY隶属于Oracle数据库, 是一个“虚拟”路径, 其作用是方便用户可以在Oracle数据库中灵活的对文件进行读写操作。‘D:file’这个路径属于我们计算机的操作系统, 所以注意需要手动在D盘建立这个文件夹。
下面我们来创建并简单分析一下BLOB类型上传至Oracle数据库的存储过程。如下:
执行上面的存储过程, 目录‘D:file’中的文件就可以根据pcmt这个参数找到并上传至Oracle数据库中了。 (图4)
(2) Oracle存储过程实现下载。与上传的过程相类似, 在执行下载BLOB存储过程之前, 也要先建立好一个存放下载的BLOB数据的DIRECTORY, 并将读写这个DIRECTORY的权利赋予给用户。 (图5)
与将BLOB类型数据上传至Oracle数据库不同的是, 在下载的过程中还需要用到UTL_FILE包, UTL_FILE包提供了在操作系统层面上对文件系统中文件的读写功能。在引用文件的时候, 要使用到一个文件句柄来表示对文件的读或写。文件句柄是通过UTL_FILE包[2]中名称为UTL_FILE.FILE_TYPE的公有变量来定义的, 必须声明一个类型为FILE_TYPE的变量来接收通过函数FOPEN () 返回的文件句柄。这个文件句柄将用于之后在文件上的所有操作。
下载到操作系统文件的存储过程。如下:
执行上面的存储过程, 就可得到根据pcmt这个参数找到相应的Oracle数据库BL字段中存放的BLOB类型数据内容, 并将其下载到操作系统的‘D:loadfile’文件夹下。 (图6)
四、.Net/Winform工具实现对BLOB类型数据的上传和下载
与Oracle存储过程相比, 利用代码实现对LOB类型的上传和下载更加简单方便, 且可通过代码循环实现批量处理, 速度上和用户体验度上更为良好, 这里只将设计思做简要介绍。
在设计Oracle数据表时需要注意, 除要有主键及唯一性约束条件, 对于包含有LOB类型的Oracle数据表, 必须要有一个常规字段。程序设计思路是, 通过代码连接并操作Oracle数据库, 实现数据库中BLOB类型数据与计算机操作系统中文件的交互。
.Net/Winform程序中主要用到了以下几个重要的类:System.Data.Oracle Client命名空间下的Oracle Connection类 (用于连接) , Oracle Command类 (用于执行SQL语句) , Oracle Transaction类 (数据库中事务处理) , Oracle Data Reader类 (读取数据行的只进流) , Oracle Lob类 (表示数据类型) , 以及System.IO命名空间下的用于读写文件的File Stream类。上传BLOB的过程, 其本质是将操作系统文件打开后, 读取文件内容, 写入Oracle数据库中相应BLOB字段内的过程;与此相反, 下载BLOB的过程, 实际是将二进制数据流写入新创建的系统文件中。 (图7)
五、结论
录井公司承担着为油田勘探数据采集资料并分析化验的重任, 是勘探资料有效收集, 整合利用的关键环节。对应用者而言, 非结构化数据远比结构化数据要直观, 但结构化数据同样占有及其重要的地位。在信息技术飞速发展的今天, 伴随大数据及云存储等概念的提出, 我们应当把目光更多的投向非结构化数据, 除了对其合理的应用外, 存储管理应也当将会成为未来深入研究的方向。
摘要:本文简要分析了勘探录井行业数据组成现状, 从Oracle存储过程及.Net平台下Win Form工具开发思路两个角度, 以BLOB类型为例, 研究非结构化录井数据在Oracle数据库中的存储及下载, 以实现庞大录井资料的标准存储应用, 有效提升用户对非结构化录井数据的访问速度。
关键词:非结构化数据,Oracle DBMSLOB包,存储过程,.Net/Win Form
参考文献
[1]路川.Oracle 10g宝典 (第2版) [J].电子工业出版社, 2011.
ORACLE体系结构 篇7
Oracle是对象-关系型数据库, 所以我们构建权限平台数据库结构可以很方便的把名词设计为表, 把名词之间的关联设计为子从表。在我们的权限平台的实现设想中, “用户”是最基本的对象, 每个用户对应一种“角色”, 每种角色都有它所对应的各种“权限”, 我们断定某个“用户”是否有某种“权限”, 只需通过查找“用户”所对应的“角色”是否拥有某种“权限”, 这就产生了“角色-权限 (1对N的关系) 关联”。“日志记录”也是权限平台日常维护的需要, 这样可以对“用户”操作进行跟踪。
综上所述, 我们得出了以下名词:“用户”, “角色”, “权限”, “角色-权限 (1对N的关系) 关联”, “日志记录”。这些就是我们以后所要实现的对象, 映射成oracle中的表对象, 我们逐个进行分析完善, 以使之成为我们存储数据的容器。
“用户”映射成oracle中的表对象, 也就是“用户表”, 命名为“USERTBL”, 给它一个主键:“userid”, 以唯一标志一个“用户”, 然后是“用户”的“妮称”和“账号”, “妮称”和“账号”分别都是唯一的, 也就是每个“用户”的“妮称”和“账号”都两两不同, 在oracle中我们表示为:Unique属性 (唯一) 。给它们用英文表示为“fullname” (妮称) , “account” (账号) 。每个“用户”都应有它所“创建的时间” (addtime) 属性, 进入信息系统的“密码” (pwd) , “用户”所登入信息系统的“登陆次数” (loginnumber) , “最近一次登陆时间” (logintime) 也要记录起来, 该“用户”“是否启用” (isenabled) , “用户”所对应的“角色”, 这里我们认为设计出的“角色”所对应的数据库表对象会有一个主键:“角色ID” (Role_id) , 通过“角色ID”我们就能够找到“用户”所对应的“角色”, 于是“角色ID” (Role_id) 设为“用户表”的外键 (oracle中称为forginKey) 。通过以上分析, 我们设计出“用户表”如下所示:
“角色”也就是“角色表”, 首先它有一个主键:“角色id” (Role_id) , 其次它还有“角色名” (name) , 于是我们设计出如下的“角色表”:
“权限”映射到oracle中为“权限表”, 一个权限实例需要唯一标志它的主键“权限ID” (Right_id) , 它的“权限名” (name) , 在编程中所唯一标志权限代码的“响应代码” (code) , 我们使它在oracle中为Unique (唯一) 键。用来详细描述此“权限”的“备注” (remark) 和添加该“权限”的“添加时间” (addtime) 。于是我们设计出的“权限表”如下:
“角色-权限 (1对N的关系) 关联”映射为oracle中的子从表“权限与角色对应表” (Right_Role) , 它是一个关联“权限”和“角色”的关联表, 所以存放“权限表”的主键“Right_id”和“角色表”的主键“Role_id”, 因为角色和权限是1对N的关系, 所以“Right_id”和“Role_id”构成联合主键, 它们组合后不可俩俩相同, 并且各自是外键, 与它们的主表所对应。于是我们得到从表“权限与角色对应表”:
“日志记录”设计为“日志表” (M_LOG) , 它有主键“日志ID”, 为了要记录是哪个“用户”进行了操作, 所以引入外键“userid”。要记录他操作了什么事情, 所以设计出“日志过程” (content) , 为跟踪哪里来的操作于是有“IP”以记录操作者当时的IP地址, 最后是“操作日志的时间” (takeTime) 。这样就有了以下“日志表”:
综上所述一个能满足实际需要的权限平台数据库结构设计完成, 使用该结构配合某种编程语言 (如JAVA) , 实例化以上oracle表对象并实现业务逻辑 (Business Module) , 就能构建出相应的权限控制平台模块。
摘要:本文通过面向对象的设计方法, 使用甲骨文数据库 (Oracle) 的设计出权限平台数据库结构。使用该数据结构能够快速开发出轻量级信息系统权限模块。
关键词:Oracle,权限平台,数据库设计
参考文献
ORACLE体系结构 篇8
1、系统平台的选择
为充分发挥服务器的性能, 保证升级的良好效果, 我们选择了64位Windows Server 2003 Enterprise X64Edition, 数据库为Oracle Database 10g Enterprise X64。
2、升级前的准备
2.1 硬件准备
由于较早购买的服务器一般不支持EMT64, 因而不能运行Windows Server 2003 X64版本。特别是为了应对升级过程中的意外事件, 保证升级的可逆性, 购置一台新的服务器是很有必要的。
2.2 系统测试
首先为了升级的安全性, 系统的压力测试和拷机必不可少。然后就是HIS在新平台上各软件子系统的功能是否正常。这需要有专门的测试人员运行不同的软件模块, 根据我院的运行结果, HIS的软件模块在Oracle 10g上运行没问题, 但不排除别的医院系统会有不同, 如果还有PB4开发的软件必须升级到PB5以上版本再重新编译调试。
2.3 客户端升级
服务器数据库升级到Oracle 10g后, 可支持Oracle8和Oracle8以上版本的客户端, 但不支持Oracle8以下版本的客户端。因此若是Oracle8以下版本的客户端都需要升级。我院早期已将所有客户端数据库升级至Oracle8, 所以这部分工作可以省略。
2.4 升级模拟演练
由于医院HIS系统在医院的重要意义, 为了保证升级成功, 尽量缩短系统停机时间, 必须多次进行升级演练。针对每次演练中出现的问题, 不断修正升级方案, 直至演练完全达到预期效果。
3、升级切换步骤
在升级前的准备工作都完成后, 可选择适当的时间点进行系统。在系统切换前, 为了减少当天的工作量, 应把新服务器的Windows server 2003操作系统及Oracle 10g数据库都安装好, 并将老服务器的Oracle8数据库做好冷备份。同时为了减少系统停机时间, 原数据库主服务器应做一次数据转储。以下为系统切换操作步骤:
3.1 建立表空间
建立HIS系统的TSP_COMM等35个表空间。建立表空间之前, 先从老数据库中提取自动生成建立非系统的表空间的SQL语句, 然后将此语句在新数据库中执行, 建立新表空间。从老数据库中提取表空间的语句样式如下:
3.2 建立系统用户和普通用户
在目标数据库中创建各个系统用户和普通用户 (我院为1032个) , 并赋以迁移时所需的权限。我们继续从系统中提取自动生成建表的SQL语句。语句样式如下:
3.3 建立用户角色
用户创建好了, 必须给予每个用户相应的角色。提取建立角色的SQL语句样式如下:
3.4 建立用户权限
3.5 建立系统权限
3.6 将角色/权限授予所有用户
3.7 数据迁移
为了加快数据迁移速度, 同时为了保证系统切换的可控性, 我们将之前冷备份的数据库和配置文件拷贝至新服务器上。该方法有效、快速并有极大保障。
3.8 建立各类数据库对象
为在写入数据时避免数据之间的相互关联导致写入速度降低, 选择在数据写入完成后再建立VIEWS、SYNONYM、SEQUENCE、PROCEDURE、PACKAGE、FUNCTION、PACKAGE BODY、TRIGGER、TYPE、TYPE BODY等各类数据库对象。类似语句样式如下:
3.9 调整服务器参数
以上工作完成后, 数据库迁移工作已经基本完成, 然后需要将参数修改回运行环境所需的配置, 保证系统运行的效率。最后将数据库更改回归档模式, 将目标服务器IP地址改为原数据库主服务器IP地址后, 数据库关闭再重新打开, 重新启动TNS LISTENER服务。测试数据库连接成功后, 通知各业务部门可以正常使用系统, 至此数据库迁移顺利完成。
4、讨论
4.1 数据导入可有不同的途径
从理论上EXP/IMP完全可以实现系统数据包括各种对象的导入, 但其主要问题是用户基本上无法参与和干预其导入过程。传统上我院HIS数据库的升级都采用EXP/IMP工具进行导入, 而且该方法在Oracle7到Oracle8的升级中, 很多医院都有成功的案例, 但O-racle8到Oracle10g的升级, 而且是32位系统到64位系统的升级, 很少有采用EXP/IMP的报道。在本案例中采用直接将冷备的数据拷贝覆盖进行迁移的方法, 是建立在多次模拟的基础上, 此方法有效可靠。
4.2 系统切换的应急措施准备
由于医院业务系统具有7*24h无法中断的特点, 数据库系统升级切换的风险就非常高, 所以做好各种情况发生时的应急预案十分必要。信息科提出建议应急方案, 由院机关组织各部门参与, 做好各种情况发生时的应对准备措施。在时间点的选择上建议周五半夜开始切换, 这样周六凌晨急诊和各护士站就可展开使用, 有问题可以马上解决。周六上午一般各业务部门子系统都会展开使用, 但门诊患者不会太多, 在有问题发生时处理起来也不至于过于慌乱, 周日又可以再对系统进行完善加固。
4.3 系统切换后的安全备份策略
在Oracle8系统中的安全备份策略到Oracle10g中不一定能用, 而且Oracle10g还有很多新的功能。系统升级完成后, 我院采用了利用RMAN的安全备份策略功能, 实现每天凌晨0点定时在线全备。
浅谈Oracle数据同步技术 篇9
1 Oracle数据同步技术
1.1 Standby/Data Guard (备用数据库/数据保护)
Oracle从7.3开始支持备用数据库 (Standby Database) , 7.3.x及8.0.x时需要手工拷贝所有归档并手工同步, 8i开始实现异步同步 (当时也被称为Automated Standby) , 自Oracle 9i开始, 备用数据库被数据保护 (Data Guard) 取而代之, 成为一个集日志的缺失侦测、自动传输、自动应用三大功能为一体的数据同步体系架构;也就是从9i开始, Data Guard开始采用LGWR (LGWR同步) /LNSn (LGWR异步) 传输日志, 而不仅仅是之前的ARCH传输, 在此基础之上, Oracle开始支持3种不同的数据保护模式。
在9i R2之前, 备库均是通过重演来自源库的重做日志 (redo apply) 达成数据同步, 这样源备库在数据块级是一致的, 这样的备库被称为物理备库 (Physical Standby) ;进入9i R2后, Oracle引入Logminer技术, 在备库反向解析收到的源库重做日志, 形成SQL语句, 然后重新执行解析出的SQL (SQL Apply) 从而达到数据同步的目的;此时备库与源库在逻辑上是一致的, 但在物理层面上 (如数据段的存储子句等) 可以不一样;通过重演SQL同步的备库被称为逻辑备库 (Logical Standby) 。
物理备库与逻辑备库均可用于查询, 但也有不同点:物理备库在查询时必须只读打开, 此时可接收日志但不能应用;而逻辑备库应用SQL时必须打开数据库, 除了可以对受保护的对象做查询外, 也可对其它对象执行DML操作。
在Oracle 10g R2之前, 除非源库执行了日志切换, 否则备库就算接收到了日志 (哪怕是备用日志standby logfile) 也是不能立即应用的。而在10g R2之后, 可以实时地应用联机日志了, 这样就保证了日志应用的连续性, 进一步缩短了数据同步的时间。到了11g, Data Guard进一步改进了物理备库:支持备库在只读状态下实时应用日志, 通过这种方式, 可以很简便地搭建读写分离的高可用平台, 如源库运行OLTP应用, 备库则批量生成报表或运行OLAP应用。
数据保护是Oracle推荐用于高可用、灾难恢复的数据同步技术, 邮政金融系统灾备项目一期即使用了数据保护 (物理备库) 技术以实现异地灾备, 但由于9i中数据保护还不完善, 日志传输是使用第三方软件完成的。
Data Guard的三种数据保护模式如下。
最高性能模式:在不影响源库的前提下提供尽可能高的数据保护等级, 在此模式下只要日志数据写入到源库的联机日志中, 事务即可提交, 这也是默认的保护模式。
最高保护模式:唯一可确保零数据丢失的保护模式, 但也是对源库性能影响最大的。在此模式下, 只有日志数据在源库及至少一个备库的日志文件写入成功事务方可提交, 一旦日志数据无法写到至少一个备库的日志文件则可导致源库关闭, 这极大地影响了源库的可用性, 因此Oracle要求在此模式下, 应该为源库配置至少两个备库。
最高可用模式:此模式的保护性介于最高性能及最高保护两者之间, 在环境允许时, 其工作方式与最高保护一样, 但日志数据无法传输到任意一个备库时, 源库并不会关闭, 而是运行在最高性能模式下, 待相应故障解决并应用完缺失日志后, 源库自动回到最高可用模式。
Data Guard有如下优点。
*使用免费, 配置及管理较简单, 工作可靠。
*物理备库工作在最高保护模式时可实现零数据丢失。
*为主备库提供了平滑切换 (switchover) 及failover (故障切换) 两种切换方式, 可提高系统的可用性。
*可指定归档路径的Delay参数延迟备库上的日志应用, 某种程序上可防止用户失误。
*可减少同构环境下数据移植的时间, 如2010年邮政全国中心搬迁等工程中均使用了数据保护技术。
缺点如下。
*日志传输对带宽及时延要求较高, 如使用lgwr同步传输则对网络时延有很高要求, 否则用户体验会相当糟糕, 更不可能应用于异地灾备。如使用arch传输日志, 虽可应用于异地灾备, 但如果源库发生故障, 最少也会丢失当前联机日志中的内容。
*逻辑备库不能支持所有的数据类型。
*只能同步整个数据库, 灵活性较差。
*不支持异构环境, 要求主备库采用同样的操作系统及数据库版本;不过随着Oracle的版本演进, 这个限制已经逐步减少, 9i可允许源备库的OS及RDBMS小版本号不同, 10g则允许在部分字节序一样的OS上 (如均为大端字节序的操作系统) 跨平台同步, 也可跨大版本号数据库的同步的同步, 不过这要求备库的RDBMS版本要高于源库的版本号 (如10g到11g) 。
*为保证数据的同步, 源库必须打开强制写日志功能, 这样会增加源库生成的日志量, 之前可通过no logging子句完成的某些操作已经无实际意义, 增加的数据库的运维压力。
1.2 Streams (流)
Streams是Oracle9i R2才具有的数据同步技术, 可以将Streams简单理解为Logminer及AQ (高级队列) 的结合体。其工作机制为由Logminer将主库生成的日志解析生成对应SQL, 再通过高级队列发送到目标库应用这些SQL。
在引入Streams之前, 数据在异构平台迁移时, 通常使用实体化视图 (MV) 、高级复制等技术, 但这样技术通常会生成大量的日志或是触发器, 对源库的压力较大;而Streams通过捕获日志, 对源库的系统压力相对较小, 如数据库版本是10g以上, 还可使用异地捕获 (Down Stream:源库日志通过源库的ARCH等进程传输到另一个数据库进行捕获) 进一步降低系统压力, 但这样也会增加网络开销。
在Streams早期工作并不稳定, 它的一些进程总会异常关闭, 导致Logminer、队列表所在的表空间暴涨, 极大的影响了用户体验。从10g R1开始, 新增了streams_pool_size参数, 在10g R1之前, Streams Pool默认从共享池中分配10%的空间, 如果它得到的内存过小, 则很容易导致上述故障, 一般建议Streams Pool不小于200M。此外在2010年北京数据库大会与其它同行交流时也得知, 在实际工作环境中 (多为9i/10g) , 如果应用的日志量过大 (如超过10g) , streams也会频繁宕进程。
进入10g R2后, Streams进一步支持实时异地捕获, 即源库通过LGWR将重做记录发送到远程数据库的备用日志 (Standby Redo Log) , 远程数据库从中捕获相关事务, 这样既减轻了源库的压力, 又减少了源库与备库间数据同步的延迟, 但也相应加大了源库LGWR的负担, 在工作负荷较大的环境中, 要慎用此技术, 一定要确保网络的可靠性。
到Oracle 11g, Streams开始支持同步捕获, 但到目前为止同步捕获仅支持DML操作。当DML操作发生时, Streams将每行的更改转变为一个特殊的Row LCR, 它总是保存一行中所有的列值不管它是否发生了变化, 这样就增加了源库的系统压力。
Stream工作步骤如下。
*捕获 (capture) :由capture进程将redo中的变更记录根据用户制定的捕获规则过滤、组合成一个称为LCR (逻辑变更记录) 的消息等待传播进程处理。当capture进程在源库上时称为本地捕获进程;在另一个数据库上时称为远程捕获进程。如采用远程捕获进程, 则源库只负责通过arch或lgwr将日志传输至捕获进程所在数据库。整个捕获过程又可细分为读取 (Reader) 、准备 (Preparer) 、构造 (Builder) 三个进程, 它们都有自己的捕获队列。
*分段传播:捕获进程生成的LCR存储在队列中, 再通过高级队列机制传播到目标库的队列中。
*消费:目标库的应用进程将LCR取出队列, 并将其应用于目标库, 在此过程中, 应用进程也可根据用户制定的应用规则对LCR进行转换。
Stream数据同步技术适合于数据分发及共享, 也可在一定程度上代替Data Guard的功能。不过Data Guard是专用容灾技术, 它更简单可靠。但流借助于跨平台甚至跨数据库 (异构环境, 如与DB2数据库同步) 的优势, 可实现更为复杂灵活的容灾。如市场上采用同样思想的Quest公司的Shareplex在这方面已经有杰出的表现, 在ebay中被广泛使用以实现数据的水平分割。同类的产品还有DSG公司的Real Sync (已应用于邮政证券) 及2009年被Oracle收购的Golden Gate。
Stream的优点如下。
*高级队列 (10g之后称为流队列) 发送信息的方式有点对点、发布/定阅两种方式, 因而Stream同步技术可支持“一对多”、“一对多”、“多对一”及“多对多”的复制, 适用于数据共享及分发。
*配置灵活, 与Data G uard不同, Str eam可只复制数据库中一部分对象, 如单表复制、单用户复制、单表空间复制甚至是全数据库复制;并可制定规则在复制过程中进行过滤及转换。
*支持双向及多源复制。
*可实现异构平台下的迁移 (有条件限制, 需与透明网关配合使用) 。
*可实现数据仓库的ETL过程。
*双向及多源复制中, 具有自动冲突侦测及解决功能。
缺点如下。
*为保证数据同步, 源库需要开启附加日志 (Supplemental logging) , 增加日志生成量, 加大了源库的工作负荷。
*捕获进程如在源库进行, 则增加源库的工作负荷 (如空间及CPU等) , 如果采用异地捕获, 则对对网络的性能及可靠性有高要求。
*配置相对较复杂, 需要较高技术水平。Streams系统开销相对较大, 介于数据保护和高级复制之间, 不过自10g R2起, Oracle将多个过程封装到较少的过程中, 简化了配置工作。
*不是所有的数据类型都支持, 不过从11g开始已经有所改观, 如支持XML类型、使用透明数据加密 (Transparent Data Encrypt) 技术加密过的数据等。
*在多源铅制中, 自动冲突侦测及解决需要细心配置, Oracle提供的预定规则无法解决所有需求。
1.3 Advanced Replication (高级复制)
在引入Streams之前, 要实现较为灵活的数据同步时, 除了实体化视图就是高级复制了。但高级复制配置极为复杂, 对源数据库性能影响较大的, 实际生产环境中较少使用, 在此只简单介绍源复制及多源复制的工作机制。
高级复制的工作原理是:在复制对象时, 为复制对象生成一系列的内部触发器及存储过程, 在对复制对象进行操作时, 系统通过内部触发器捕获相关操作, 如果是异步复制, 则将其保存在延迟事务队列 (Deferred Transaction Queue) 中, 再通过远程过程调用 (RPCs) 执行远程数据库中的内部过程, 从而完成同步, 异步复制也被称为“存储并转发数据复制” (storeand-forward data replication) 。如果是同步复制, 则情况有所不同, 被捕获的操作在同一个事务中通过RPC调用远程库中的内部过程进行同步, 如果执行失败, 则此操作在所有源站点上均被回滚, 正因为如此, 此同步方法也被称为实时数据复制 (real-time data replication) 。
同步复制虽然避免了潜在的复制冲突, 但要求极其稳定的操作环境, 这在现实生产环境中是很难达成的, 因此实时性要求较高的同步环境下, 一般是采用连续推送 (Continuous Pushs) 配置的异步复制也模拟实时同步—方法是DBMS_DEFER_SYS.SCHEDULE_PUSH过程中的interval
2结语
以上简单介绍了一下Oracle自带的一些数据同步技术, 并非Oracle同步技术的全部, 如实体化视图就没有提及, 高级复制也只是简单带过。每个技术的定位都有自己独特的定位, 某些情况下或可相互替代, 但也都有他们无可取代之处, 用一名话做为本文的结尾:没有最好的技术, 只有最合适的技术。
摘要:本文探讨Oracle数据库自带的多种数据同步技术, 并简单说明其工作原理及优缺点。
ORACLE体系结构 篇10
关键词:Oracle;数据库;性能优化
中图分类号:TP311.138 文献标识码:A 文章编号:1006-8937(2015)15-0073-02
Oracle是一种大型的关系数据库,在多个行业中都得到较好的应用,并是一个重要的数据库平台。随着Oracle的不断应用,其规模也有所扩大,使用的人数不断增加,在这个过程中,Oracle数据库存在的问题也越来越明显。工作人员对这种数据库进行优化,让其能够在合理的条件下,更好的发挥作用,优化系统的使用性能,降低系统的支出,为数据库的推广奠定了良好的基础。
1 性能优化目标
1.1 缩短系统响应时间
该数据库的系统响应时间是指在SQL语句到数据库结果集时所用的时间。相关人员可以适当缩短这个时间,从而降低系统的服务时间,让人们的等待时间减短。该时间单位一般用ms表示,这种做法能够减小处理用户请求的时间,由此提高系统的利用效率。
1.2 提升吞吐量
数据库的吞吐量会受到SQL语句的影响,数据库能够完成的SQL语句数量越多,那么在单位时间内,该吞吐量越大。吞吐量=SQL语句数量/时间,其单位用TPS表示。相关人员要想提高数据库的吞吐量,可以增加单位时间处理SQL语句的数量。
1.3 提升数据库指标命中率
相关人员要制定数据库指标,例如缓冲区的命中率、软解析率等。在数据库工作中,最常用的指标是高速缓冲区命中率,这种指标主要是衡量Oracle数据库的性能,相关人员结合这种情况进行分析。
1.4 优化磁盘
Oracle数据库将数据存储在磁盘和内存中,这种过程与I/O操作有关,所以要合理规划磁盘,通过高速缓存技术,增加系统的吞吐量,从而在一定程度上缩短用户的响应时间,多使用系统内存,避免使用磁盘I/O进行操作。
1.5 合理的应用内存
在大量并发用户的影响下,如果Oracle数据库的存储量不够,会影响程序的处理效率。相关人员要尽量缩短数据库的响应时间,然后确保内存得到合理应用,判断最大回报和最小损失的标准,通过内存的有效使用,提高系统的性能。
1.6 减少磁盘的排序
如果用户提交的SQL语句中有排序或聚合函数,那么要保证这些排序可以在内存上进行,也可以在物理磁盘上。系统的物理磁盘有独特的结构,所以其读写速度比内存读写速度慢,所以相关人员要尽量减小物理操作。
2 影响因素分析
很多因素都会影响Oracle的性能,例如操作系统或CPU性能等,所以相关人员合理设置这些具体方面,降低其对数据库性能的影响。
①在操作系统上,Oracle数据库与系统的服务器运行有非常密切的联系,如果操作系统没有合理设置就会导致Oracle性能的降低。
②CPU占用过高:在系统运行中,CPU是非常关键的资源。如果该资源被占用,那么很可能导致整体数据库的停止运行。
③内存没有合理分配:Oracle性能会受到内存配置的影响,内存分配不合理会导致计算机减少系统的缓冲控制,操作系统频繁转换。
④I/O冲突:因为在系统运行中,磁盘在同一时间段只能满足一个进程的需求,所以当拥有多个进程,就会造成读写冲突,从而降低整个系统的运行速度。
⑤SQL常见错误:应用Oracle数据库,有大量的SQL语句,相关人员容易出现配置和数据迁移的错误。经过长时间的全表扫描,数据库没有得到合理的设置,I/O没有合理规划,SQL语句执行效率较差。
3 优化技术
3.1 数据库优化
应用Oracle数据库中,增加索引是最常见的调优方法,数据库对象是索引。相关人员应充分利用索引对系统中的扫描情况进行描述,通过查询索引能够节省大面积描述。在设置索引内容时,要重视SQL语句的使用,具体情况要结合查询条件。相关人员要比对直接全表的检索情况,然后通过相关数据对I/O进行分析。
工作人员可以完善数据库的数据,掌握这个逻辑关系,能够在数据库使用时,让代码和其他信息分离,这种做法能够有效降低网络的传输量,并提高数据情况的执行能力。相关人员在进行数据存储的过程中,用户可以发出执行命令,并提交SQL语句,从而节省对该语句的分析,充分使用SQL共享池的优势。
3.2 内存优化
Oracle数据库的信息主要存储在内存和磁盘上,从实际应用来看,内存的访问量比较大,明显高于磁盘的访问量。但是这种情况会降低数据库的响应时间,减慢其运行速度,所以相关人员要设置合适的内存尺寸,确保数据库性能得到更好的提升。
例如,相关人员要优化数据缓冲区的高速缓存性能,从而降低系统磁盘中的I/O数据,通过适当对缓冲区尺寸进行调整,能够让缓冲区找到需要的数据,从而对数据库的性能进行优化,减小用户的等待时间和缓冲时间。相关单位可以通过减小全表扫描的方式,得到优化数据库性能的目的。相关人员可以用索引的方式,降低全表扫描的次数,应用全表扫描的次数越少,系统的缓冲命中率越高。
提高共享池性能,能够较快的提高数据库性能。共享池是存放近期使用SQL语句的地方,共享池内的数据字典数据比缓冲区的内存停留时间更长,拥有更好的命中率。所以可以优先度缓冲区进行调整,相关人员可以根据实际情况对每个节点的共享池大小进行记录和分析,从而有利于下一步调整。利用代码重新书写能够快速提高共享池的命中率。针对比较大的对象,例如自定义的程度等,相关人员需要应用共享池,进行有效的解析。相关人员要将重要的对象保存在内存中,这样就能够提高共享池的性能。
3.3 磁盘优化
应用Oracle数据库使用对象产生I/O的机会较多,所以相关人员要将访问量较大的数据文件放置在磁盘中,不同的对象要尽量分开放置,从而为索引创造有利条件。相关人员要注意内存中修改过的数据并不是写入到数据文件中,所以要优先将其写入到日志文件中,并保持其容量。在这个过程中,相关人员应减少对不同对象对磁盘的竞争,合理将日志文件进行分组,一组写满后再换到下一组,这个过程要循环进行。在数据库中,要创建回滚段和其专用的表空间,其中从系统操作失败后得到的恢复数据是回滚段,所以应尽量减小I/O进程之间的竞争,并确保空间竞争能够有效完成。
3.4 SQL优化
SQL语句的执行效率会影响Oracle数据库的性能,所以优化SQL语句能够直接提高Oracle系统执行效率。执行SQL会消耗数据库系统70%-85%的资源,所以合理设计SQL语句非常重要,从而提高系统的利用效率,优秀的SQL语句,能够加快执行的速率,降低网络传输的频率,从而充分发挥数据库的性能。
4 结 语
通过上文对Oracle数据库性能优化研究,可以得出,Oracle数据库规模的增大和用户的增加,该数据库中隐藏的问题会逐渐暴露出来,所以相关人员要对数据库的性能进行优化,并不断调整数据库的各个方面。在这个过程中,要充分掌握数据库系统的性能影响因素,然后针对这些因素,进行合理优化,采用先进的技术调试数据库,从而使系统性能更加优化,为用户提供更多便利。
参考文献:
[1] 郭霞.基于Oracle数据库性能优化技术研究[J].电脑知识与技术,2011,(24).
[2] 魏亚楠,宋义秋.oracle数据库应用系统的性能优化[J].制造业自动化,2010,(8).
[3] 戴伟敏.Oracle数据库系统性能优化与调整[J].赤峰学院学报(自然科学版),2010,(12).
oracle数据库迁移 篇11
伴随着IT行业的迅速发展,IT系统中数据的安全性,已经是对企业运营产生了重大影响。而数据库的安全迁移也为IT系统的可持续运行和数据安全提供一道保护屏障。而且近年来频繁出现的自然灾害或者突发事件也让越来越多的人们意识到,原有的数据存储方式已经无法满足企业的需要。本文正是从数据库迁移的实际操作中总结整理而成。
1 oracle数据库文件构成
数据库是一种物理的存储结构,它是由多种物理文件组成的,在Oracle数据库系统中分为,核心文件和非核心文件两大类[1]。其中核心文件由数据文件,控制文件,日志文件,参数文件组成,非核心文件由密码文件,告警日志文件,各种跟踪文件组成。
控制文件:控制文件是一个二进制的文件,它描述了数据库当前的物理状态,记录了RMAN备份的元数据。控制文件包含有数据库的名称、数据库的创建信息、表空间的信息、数据文件的状态、日志文件的信息、备份的信息、检查点的信息等。
数据文件:,一个数据库中一定至少有一个数据文件(system01.dbf),如果一个数据库存在多个数据文件,应该分别把它们存放在不同的磁盘上,这样做不仅可以提高数据的存取速度,有利于提高数据库的性能,而且还能防止数据文件同时被损坏,实现高度容灾。
日志文件:数据库日志文件包括归档日志和非归档日志,记录了数据库的所有修改信息,归档日志会在数据库切换日志时,备份历史日志,日志记录的是数据库改变的信息、因此当数据库损坏时可以通过日志文件实现数据库的完全恢复、不完全恢复,而非归档日志不会备份历史日志,只能恢复到数据库最后一次备份时的状态[2]。
临时文件:创建数据库对象的时候指定的是使用表空间,一个表空间至少包含一个数据文件,临时文件是临时表空间对应的数据文件,并不是已用完就被删除的,而是指这个文件存储的对象是临时存在的对象。临时文件主要用于大量的排序的时候,如果不能在数据库的内存中做排序,就会把临时文件作为中转。
参数文件:参数文件是记录数据库系统配置的文件,每次数据库一启动,Oracle就会自动地从参数文件中读取系统参数的设置来配置并启动数据库。如内存的大小分配,此次启动可以打开的进程数和会话数等。
2 Oracle数据库迁移的迁移方案
oracle数据库状态分类:
nomount:此状态可以读取初始化参数文件,启动实例,可以进行数据库的创建。
mount:数据库维护状态,读取控制文件。
open:打开数据文件,日志文件,是数据库可以对全体用户提供服务了。
数据库物理迁移过程大体可分为以下四个步骤:
第一步:加载初始化文件
oracle启动后,数据库默认会读取一个二进制的初始化文件spfile<SID>.ora,可在系统启动时指定初始化文件的路径,如startup pfile="pfilesid.ora"nomount或者startup spfile="spfilesid.ora"nomount。初始化过程可根据系统错误提示内容,用pfile进行编辑处理,然后重新startup就可以了。
第二步:加载控制文件,保证在初始化文件中,控制文件的路径正确
在初始化文件中定义控制文件的位置,在确保控制文件路径正确的情况下,才能对控制文件进行加载,其命令是alter database mount。
第三步:加载数据库,包括重做日志文件
加载控制文件之后,执行命令alter database open对数据库进行开启,整个数据库启动过程完成了。
第四步:启动数据库成功之后,就说明迁移成功,可以观察数据是否丢失,然后启动监听和配置文件等。
3 Oracle数据库迁移具体实践
下面以把数据库从文件系统迁移到ASM磁盘组为例进行演示步骤:
首先,ASM是把多个磁盘组织为一个磁盘组,作为Oracle的逻辑卷管理器,利用ASM技术可以把数据均匀分布在这些磁盘上来解决从文件区到物理磁盘块的映射问题。这种设计除了定位文件区非常快速之外,还在增加或删除磁盘时有所帮助,因为文件区的位置不需要调整[3]。
把数据库从文件系统迁移到ASM磁盘组主要是把数据库的控制文件,数据文件和日志文件分别放在不同的磁盘组上,实现对这些文件的一个冗余放置,还简化了对数据文件的管理。
3.1 迁移数据库
①迁移数据库前先在RMAN下备份数据库,设置系统冗余度,并打开优化器和控制文件的自动备份功能
②创建迁移的控制文件存放的目录
③修改参数文件把控制文件的默认位置修改到ASM磁盘组上,然后用Pfile来生成spfile文件
SQL>create pfile from spfile;
④利用RMAN工具恢复控制文件,将数据库启动到mount状态;加载控制文件,如果出现错误,就说明控制文件所在的路径和参数文件路径不一致,要修改初始化参数,文件中控制文件的参数,然后重新加载。
SQL>shutdown immediate;
数据库已经关闭。
SQL>startup nomount;
ORACLE例程已经启动。
RMAN>restore controlfile from'/backup/ctl';
RMAN>alter database mount;
数据库已装载
⑤利用RMAN工具恢复数据库,执行下面的命令
⑥执行下面的命令重置日志组打开数据库
RMAN>alter database open resetlogs;
数据库已打开
3.2 输入下面的查询命令查看数据文件和控制文件是否已成功迁移到ASM磁盘组上
3.3 迁移临时表空间
①输入下面的命令重置临时表空间,先在ASM磁盘组上建立新的临时表空间,结果显示表空间已更改
表空间已更改。
②输入下面的查询命令查看表空间是否已创建
③输入下面的命令删除文件系统中就得临时表空间
表空间已更改。
④输入下面的命令查看表空间是否已成功删除
3.4 迁移redo日志
①输入下面的查询命令查看日志的状态,由查询结果可知第一组是当前日志
②输入下面的命令先往三组日志中各添加一个asm磁盘组上的成员,结果显示数据库已更改
数据库已更改。
数据库已更改。
数据库已更改
③删除非ASM磁盘组上的日志成员,执行完命令后结果显示数据库已更改,删除成功
SQL>alter database drop logfile group 2;
数据库已更改。
SQL>alter database drop logfile group 3;
数据库已更改。
④由查询结果可知第一组是当前日志所以需要切换一下当前日志才能继续删除,执行完命令后显示系统已更改
SQL>alter system switch logfile;
系统已更改。
⑤输入下面的查询命令查看当前日志是否已切换
⑥输入下面的命令删除非ASM磁盘组上的第一组日志组成员,结果显示系统已更改
数据库已更改。
⑦输入下面的命令查看日志组成员状态
⑧输入下面的查询命令查看日志组的物理位置,查看日志组是否已成功迁移到ASM磁盘组上
4 总结与展望
数据库管理技术是现今社会中信息科学与技术的重要组成部分,数据库迁移技术的研究保证了数据安全以及高效的存储[4][5]。在实际操作过程中,Oracle数据库基于Linux系统的迁移过程中会出现各种各样的情况,如果想要安全完整的迁移数据库,一定要先做好备份,然后反复的实验验证,最终才能保证数据库完整安全的迁移。
摘要:本文介绍了Oracle数据库基于Linux系统迁移的研究问题。在数据库领域一直处于领先地位的Oracle数据库以其良好的可移植性、可靠性和高效性,倍受各级用户的推崇和喜爱。随着Oracle数据库的不断更新和发展,其使用用户的群体也在不断的增加,因此对Oracle数据库的存储迁移技术的研究在国内外如雨后春笋般不断发展。
关键词:oracle,数据迁移,跨平台
参考文献
[1]张敏.数据库安全研究现状与展望[J].中国科学院院刊,2011.03.
[2]赵钦,周丹.政府办公自动化信息系统数据迁移解决方案[J].广西科学院学报,2008.24.
[3]段卫国,李俊春.Oracle数据库数据迁移技术研究[J].信息技术,2015.8.
[4]Kathy Rich.Oracle Data Pump,10g Release 2(10.2)[M].Oracle Database Utilities,2005.
【ORACLE体系结构】推荐阅读:
Oracle06-18
ORACLE问题08-07
Oracle数据08-20
Oracle表分区07-10
oracle综合实验报告06-17
oracle设计实验报告08-03
oracle第一次总结08-16
去掉oracle字段的默认值06-05
完全卸载Oracle数据库的方法08-30
oracle列目录的可行性测试08-18