oracle经验总结
oracle经验总结(精选9篇)
oracle经验总结 第1篇
Oracle数据库学习中的六条经验总结
以下的文章主要是介绍在Oracle数据库学习中的六条经验总结,其实想学好Oracle数据库并不是一件很困难的事情,很多人都认为Oracle数据库的体系过于庞大,在学习的过程中摸不到头绪,以下的文章就会给你提供相关的解答方法。
1、如果有一定的数据库基础知道SQL是怎么回事,即使写不出来简单的SQL,但可以看动它们,你就可以跳到2。否则请先看一下数据库基础和SQL语言,不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用边学习、记忆。
2、要想学好Oracle数据库,首先要学习ORACLE的体系结构,现在你不需要深入理解它们,但要分清几个关键的概念:instance&database, memory structure,process&those files,such as data file, control file,init parameter file etc以及database ,tablespace,data file和tablespace,segmnet,extent & block它们之间的关系。
当然还要分清undo tablespace & redo log file等,对于很多初学者来说,能够对这些概念有个较为清晰的认识并不是一件容易的事,而这些并非Oracle的全部。
3、是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程中你将对SQL和ORACLE体系结构有个更深入的了解。
4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA,请继续。
5、现在你可以根据自己的实际情况,进行有选择的学习,也就是说下面的内容没有特别顺序要求。可以选择深入学习ORACLE数据库的管理、备份与恢复、性能调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样你可以在实际中成长,学会TROUBLE SHOOTING。
6、当然在学习的过程中,你可以在网站或论坛中与他人进行交流,可以看别人的一些经验文章,也可以自己写一些心得体会。技术进步的本身就是经验的积累和提炼过程,希望大家共同成长,欢迎大家相互交流。
oracle经验总结 第2篇
夜了~~所以不打算多说了~简单回顾一下今天行程,因为~~今天算是到现在为止的另一番求职体验.
最初计划是去华师招聘会的~因为看中了两家公司,保利和新思维.
一切都准备好了,可惜东风转方向了...昨天下午小猫又跑来问我有没收到通知,我才知道ORACLE发邮件给我了,花园酒店宣讲加笔试.忙乱了一晚上,准备打印材料,查阅公司资料,查PAC EXAM...晚饭变成11点消夜...一直撑到1点多..倒床不起~ 早上6点45,突然自己就醒了...连闹钟也省了...梳洗后一边等小猫一边继续看公司资料(不过其实看来看去还是一样..等下解释...)
7点50去小猫宿舍等...臭小猫磨磨蹭蹭,过了8点才出门.车站堆满了人,无论是甲骨文还是华师,都要坐245,车又迟到了...等了半小时,刚决定回头打的,车就来了.刷...车门塞了起码50多人.好不容易挤上车.摇摇晃晃,9点07才到花园酒店...脚已经开始不行了...那对很烂的高跟鞋....
进去连身份证都没检我,找了个最靠右边的位置坐.9点24,宣讲开始. 睡得不够,差点听睡着了,硬撑着,眼皮快掉下来时就那起水杯喝(原因快睡着时拿水杯很容易掉...要抓紧点...就醒来了...)宣讲还OK, 就是那2个培训生分享那段2个人都赶时间的说,太急了,很多值得说的都没交代.QNA时大家问题太多延长了时间(其实有些人的问题好没水平...重复人家问过的也有,提之前宣讲强调过的问题也有...浪费机会...)本来准备了个问题,问关于对非IT专业学生的IT掌握程度的,有人问了类似的问题,作罢. 快12点才结束,然后说休息半个钟,门口一人一袋吃的.出去排队拿~一小袋饼干和西点(那个叉烧酥好难吃~饼干倒不错).厕所也得排长龙...然后在门口不远开吃,聊天,碰见晓华,碰见慧平,碰见慧琪,回座位时还碰见ADREAMS,吹了一下水.回座位时发现前面倒了一堆人,太困了吧~不想睡,怕闭了眼睛等下会更困,连忙翻进场时派的公司介绍(全英....),看了大半页,隔壁的女生搭讪(原来她广工的英文专业,发现她有个习惯,看到有纸就在上面涂鸦,画圈的...还写字~呵呵~看来她内心可能有点寂寞哦~)吹了一下就断了.继续看报.然后就12点45笔试时间了.听了一通纪律问题,要求等等,发卷.填信息,看例题.开始.
具体考了什么不全记得了,10部分,前7部分中文,有流程图推理,其实就跟SQL时学的那个什么IF..的那个形式一样,只是IF那里改成什么抽到红球抽到黑球之类.第一个还算可以,第2个就开始有点乱了,第3个图完全看不明白,飞了,第4个还是有点晕...做完剩5分钟,回头撞第3个图.好象是15分钟的题.然后停止,下一部分,顺序忘了,速算,3分钟10题(还是5分钟??).记得是用估算做得比较快,有些不会,代个数进去计...有一部分好象是数学推理,题型忘了...那个时候最容易忘事,完全投入混乱的计算当中...然后是做得最快的一部分...IT知识题...全蒙的...什么5 的什么叉树什么二进制是多少,胡乱填,做完了居然剩5分钟(那个监考很抵死,在我旁边的走道走来走去,可能很诧异我提前做完了,居然停在我身边不走了,隐约感受到他的奇异的眼神,估计他刚开始时以为碰到牛人了,结果仔细一看答卷,立刻明白是来白撞的,所以站了不够10秒就走了).另外还有判断题,给个表, 对照题目,看有没错字,号码数字等有没错.中文部分只记得这些了,然后是英文.先是语法题,巨简单,还给了10分钟,不够5分钟就完了,百无聊赖的等.然后是选反义词,好象有13个词...看得懂的只有3题...其他又继续蒙...又提前做完了.最后一部分阅读,挺长的.讲潮涨潮落的.有些题目答案不大清晰,找了很久都不SURE...然后就到时间了.先收题目,收完再收答卷.中间等的时候突然发现对错题有一题很奇怪的在5里画了圈(那里只可能有1和2 选,对和错),一瞄广工的发现那题也还是选1,2的,估计是选2时混乱了填了5去了,偷偷擦了改了.然后收答卷,走人.整个过程有点平淡,不过单是花园酒店估计也算是不错的`记忆了.反正它全国才招200人,其中100研发的,估计也轮不到我面试,经历了就罢了.
出来了以后迷迷糊糊跟小猫逛什么建设六马路,发现了上次那个意大利餐馆,那个广场原来叫宜安广场...然后发现找不了回去的公交,又硬撑着高跟鞋一扭一扭的走回花园酒店那头...等车,上车,还是没位子,继续站......(不过还好,车上的电视分散了我的痛苦,是在说海南的一个观音庙和九王庙的来历的,有趣)后来觉得有点不适想吐,怕是在摇晃的车子盯屏幕久了,放弃看电视.两头望.过了大金钟路才有位.到站,下车,快步回宿舍,脱掉鞋子.这段旅程终于告一段落了... 下星期天还会有一场笔试,给今天考不了的人备的.当然也提醒我们不能重复考,重复的只取最低分等等.
ORACLE之旅到此应该结束了.可惜去不了华师.听说很多人,逼爆,连新思维也很多人.回来到处问人家那边情况,为了3号有充足点的准备.希望有用吧~
经验总结的经验 第3篇
任何组织都存在一个经验的自然传播过程,上下级之间的工作指导,师傅与徒弟的传帮带,年终或季度总结会上的回顾,同事之间平时的聊天,同一个项目组在工作配合时的互相学习等,都会把好的经验传播开。
但是,按照整体目标复制销售团队经验,必须对“经验发现和经验提炼”过程进行管理。这就包含两个过程:
发现和收集经验
实际上,在每一个团队中,每一个销售人员的实践中都隐藏着很多经验教训,但通常是分散的,不成系统。让他们在日常业务工作中整理、加工和传递自己的经验,是不太容易的。这个过程不会自然发生,需要有效的管理,要赋予每个团队和每个人员以承担这项责任的意愿和能力。
具体方法就是对日常的销售会议制度和日报制度进行改造。
改造日常销售会议制度的要点
通过销售会议弄清楚:
哪些经验对销售人员最有价值?业绩好的团队与差的团队,其行为和能力差异何在?销售人员当天处理的最大问题是什么?他们在业务工作中感觉最吃力的是什么?他们在工作中最欠缺的能力是什么?从自身和团队的角度,业绩提高的障碍是什么?
改造日报制度的要点
让销售人员接受这样一个基本理念:要使上司的决策有助于销售业务的展开和业绩提升,他必须向上司贡献自己掌握的信息、知识、经验、对策和信念。他必须时时问自己:应该报告一些什么,才能让上司做出正确的决策。
同时,依靠制度性规范约束销售人员,按照规定的要求做出报告:
事情的背景是什么?发生了什么?涉及哪些关键方面?事情的进展遇到哪些问题?针对问题采取了什么对策?取得了什么效果?有何改进?有何风险或机会?有何具体的对策?
如果需要寻找系统思考问题和综合解决问题的经验典范,就要找到最优秀的团队和最优秀的销售人员,追踪业绩最好的团队,追踪最成功的案例。
因此,日常销售会议制度的重点是:关注优秀的市场和优秀的团队,关注成功的典型案例。日报制度的重点是:关注所有团队、全部销售人员,关注他们每天的具体业务工作。
提炼和总结经验
销售团队的经验要能大规模、有组织地复制,必须经过系统化、知识化的总结提炼,一般分为两个方面:
一是提炼成完整的案例,展示一个团队对市场的系统思考以及综合解决问题的过程,比如进入一个空白市场的案例,主要表现为团队作业的整体经验;
二是提炼出解决“关键过程以及难点”的有效办法,主要表现为个人的独到经验。
完整案例提炼法
要提炼完整案例,就需要在每项重要任务或者关键活动之后,进行回顾总结——无论成功还是失败。而且,必须以故事的方式进行总结,使之富有感染力,易于接受。
这些经验案例中包含着创新的方法、有效的谈判技巧、团队的良好合作、对市场的独到理解、思路复杂而操作简单的方案等,都需要演绎成故事,不仅要经常被讨论、学习和思考,而且要被口头传播给新员工。
演绎成故事并不需要夸张,而是把经验发生的前因后果交代清楚。在陈述事实之外,多去关注当事人的想法和思维过程,强调达成目标的阶段、困难和方法。像传诵英雄事迹一样去重视这些最佳实践,这样经验才更容易传播。销售人员也因为感觉被关注、被依靠、被认同,而更有成就感和归属感。
总结案例时,容易产生的误区是:当面交流起来很好的经验一旦变成纸上的,大部分信息就被遗漏,活生生的事例变成死板的文字。我们需要的经验,变成文字后往往只是一些信息。那些让人豁然开朗、激动人心的东西再也找不出来,经验复制就会变成形式主义,毫无价值。
要避免这个问题,重点案例一定要讲清楚来龙去脉,与其给团队员工提供10个简单故事,不如把一两个案例阐述透彻。真正产生价值、达到复制团队效果的经验案例不是普遍性的原则,而是具体的做法,是事情发生的过程,是经验教训。
这就需要企业安排专门的人员,比如人力资源部的培训部门,跟踪重点案例的采集,而不是让销售人员自己总结——他们往往没有精力,也没有专长去用文字阐述一个完整的过程。
有效的做法是:让有营销工作经验的培训部专门人员,按照一个完整的逻辑结构,采访每一个重要的当事人,详细记录每一个重要的细节。案例总结过程就是一个研究的过程。
个人经验提炼法
总结日常业务工作的经验,是每个优秀业务员必须养成的良好习惯,这种制度在大多数企业都被使用过,但做得好的很少。大多数时候都会走样,变成应付上司的任务,或变成不认真填,或者确实不知道怎么填写报表反馈的信息没有人去关注,提出的困难没有人去帮助——本来还有一部分人在认真填写,因为管理者不关注,逐渐地也丧失了积极性。
如何避免这种形式主义,让销售人员养成反思和总结的习惯,不是靠几张表格可以实现的,必须通过会议和讨论等方式,围绕他们日常工作流程上的要点和难点来总结,帮助他们深入剖析业务过程,关注那些花费他们大量精力、让他们头疼、又能让他们一讨论就兴奋的事,让他们体会到通过反思和讨论找到成长的兴奋感。
关键过程和难点上的经验,可以从每周总结“三点经验”和“三点教训”做起。
1.总结。
三点经验和三点教训的总结过程,不可能一蹴而就、一步到位,要循序渐进,尤其需要基层团队经理的重视和组织。具体做法可以如下:
把每个人的经验教训拿出来讨论,每次指定2~3人,不仅把三点经验和三点教训说出来,更要回顾事情发生的过程,回到事情的目的、计划和实际的进展上。不管是经验还是教训,都要多问为什么。主管上级要指导帮助,提出具体改进建议,让当事人体会到反思和总结的价值,最终让其进入反思角色,养成反思习惯。
如果每周总结太频繁,也可以在完成一项工作后总结。尤其是团队协作的活动中,小而简单的事可以少花时间,比如一小时;大而复杂的活动结束后,就是花上半天或一天的时间来总结,也是值得的。
2.汇邑。
三点经验和三点教训汇总起来,就是关键过程的操作指南,是难点问题的改进办法,是销售人员能力提升的经验点。
汇总要从基层团队开始,从5~8个人独立的行动团队开始,比如一个项目组,或一个地市业务团队。汇总时不需要掺杂个人意见,录入电脑并按照要求归类即可。
然后以分公司或业务部门为单位,进行第二次汇总,这时候就需要总结提炼而不仅仅是汇总。按照专题和重要顺序整理好,从中发现可以进一步挖掘总结的经验亮点,总部可以围绕这些亮点进一步编写专题性的案例。
所有的经验和教训到公司总部再进行第三次汇总,根据实际运作的成效,一般在第二天就可以下发到各分公司供学习参考。
提示:团队经验总结提炼能否执行到位的关键
基层团队和营销人员的经验能否转变为原始信息,取决于团队经理能不能让他们把有效的信息表达出来。
为让基层重视,可以把经验总结作为基层团队经理和分公司经理的考核指标。基层团队经理由他的直接上级评价,分公司由总部的培训部门评价,评价的依据就是信息反馈的情况。
甲骨文(Oracle)笔试经验 第4篇
考试时间:1小时15分钟
地点:北京交通大学
申请职位:Management Trainee
测试类别:English Test
题型&主要内容:
1、动词正确时态填空(高中水平)
2、介词填空
3、改错
4、名词解释(English to English)
Solution, Value Creating, Consumer centric, Integrated, partnership,。。(不记得了) 5、阅读并回答问题(open questions)
6、快速阅读(true or false questions)
7、作文(两个)
题目感觉不是很难,不会像NewEgg那次通篇GRE单词。但是时间非常紧张,本人没有做完作文。旁边的一个GG居然两个作文都写的`满满当当,汗!
网友二:甲骨文(oracle)技术笔试题
技术方面,英语的和MT差不多。
不过技术测试,主要是考java和数据库,后面五道题,
1.什么叫Normalization.什么叫3NF,并请列出1NF和2NF..
2.什么叫revised key index
3.什么叫死锁,举一个引起数据库操作中死锁的例子
4.BYTE[] buf = BYTE[1024];
in.read(buf)
in是一个接收图像数据的网络IO流,请指出这段代码有什么问题,并请用java代码改进它
oracle视图总结 第5篇
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。
视图的优点:
1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。2.用户通过简单的查询可以从复杂查询中得到结果。3.维护数据的独立性,试图可从多个表检索数据。4.对于相同的数据可产生不同的视图。
视图的分类:
视图分为简单视图和复杂视图。
两者区别如下:
1.简单视图只从单表里获取数据,复杂视图从多表获取数据; 2.简单视图不包含函数和数据组,复杂视图包含; 3.简单视图可以实现DML操作,复杂视图不可以。
视图的创建:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] 其中:
OR REPLACE:若所创建的试图已经存在,ORACLE自动重建该视图; FORCE:不管基表是否存在ORACLE都会自动创建该视图; NOFORCE:只有基表都存在ORACLE才会创建该视图: alias:为视图产生的列定义的别名;
subquery:一条完整的SELECT语句,可以在该语句中定义别名;
WITH CHECK OPTION : 插入或修改的数据行必须满足视图定义的约束; WITH READ ONLY : 该视图上不能进行任何DML操作。
例如: Sql代码
1.CREATE OR
REPLACE
VIEW dept_sum_vw
2.(name,minsal,maxsal,avgsal)
3.AS SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)
4.FROM
emp e,dept d
5.WHERE e.deptno=d.deptno
6.GROUP BY d.dname;
视图的定义原则:
1.视图的查询可以使用复杂的SELECT语法,包括连接/分组查询和子查询; 2.在没有WITH CHECK OPTION和 READ ONLY 的情况下,查询中不能使用 ORDER BY 子句;
3.如果没有为CHECK OPTION约束命名,系统会自动为之命名,形式为SYS_Cn;4.OR REPLACE选项可以不删除原视图便可更改其定义并重建,或重新授予对象权限。
查询视图:
视图创建成功后,可以从视图中检索数据,这点和从表中检索数据一样。示例:
SQL>SELECT * FROM dept_sum_vw;
修改视图:
通过OR REPLACE 重新创建同名视图即可。
删除视图:
DROP VIEW VIEW_NAME语句删除视图。删除视图的定义不影响基表中的数据。
只有视图所有者和具备DROP VIEW权限的用户可以删除视图。视图被删除后,基于被删除视图的其他视图或应用将无效。
查询视图定义:
SELECT view_name,text from user_views;其中text显示的内容为视图定义的SELECT语句,可通过DESC USER_VIEWS 得到相关信息。
视图上的DML 操作: DML操作应遵循的原则:
1.简单视图可以执行DML操作; 2.在视图包含GROUP 函数,GROUP BY子句,DISTINCT关键字时不能删除数据行; 3.在视图不出现下列情况时可通过视图修改基表数据或插入数据:
a.视图中包含GROUP 函数,GROUP BY子句,DISTINCT关键字; b.使用表达式定义的列; c.ROWNUM伪列。
d.基表中未在视图中选择的其他列定义为非空且无默认值。WITH CHECK OPTION 子句
通过视图执行的INSERTS和UPDATES操作不能创建该视图检索不到的数据行,因为它会对插入或修改的数据行执行完整性约束和数据有效性检查。(也就是说在执行INSERTS、UPDATES时,WHERE条件中除需要INSERT、UPDATE本身的限制条件之外,还需要加上视图创建时的WHERE条件。)
例如:
CREATE OR REPLACE VIEW vw_emp20 AS SELECT * FROM emp WHERE deptno=20 WITH CHECK OPTION constraint vw_emp20_ck;视图 已建立。
查询结果:
SELECT empno,ename,job FROM vw_emp20;EMPNO
ENAME
JOB---------------------
--------------
-------------7369
SMITH
CLERK 7566
JONES
MANAGER 7902
FORD
ANALYST 修改:
UPDATE vw_emp20 SET
deptno=20 WHERE empno=7902;将产生错误:
UPDATE vw_emp20 * ERROR 位于第一行:
ORA-01402:视图WITH CHECK OPTION 违反WHERE 子句
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1,Oracle是可以通过视图来修改Base table的。所谓base table就是用来构建视图的表,也就是视图的数据来源表。但是这种修改是有条件的。比如: create view v_emp as select empno,ename,job,deptno from emp where deptno=10 with check option constraint emp_cnst;如果有这个限制,那么通过视图v_emp 插入数据的deptno字段的值必须是10,否则就会报“ORA-01402: 视图 WITH CHECK OPTIDN 违反 where 子句”的异常。
2,联结视图:
create view dept1_staff as select e.ename, e.empno, e.job, d.deptno, d.dname from emp e,dept d where e.deptno in(10,30)and e.deptno = d.deptno; 将两个表的数据联结起来,看起来应该是一个内联结(Inner joint)。
对于联结视图(Joint view)的修改规则稍显复杂,设计到所谓key_preserved table的概念。通过联结视图来修改基表,只有那些key_preserved 的表才能被修改。上述创建视图语句中emp和dept通过deptno进行联结构成视图时,emp就是key_preserved 表,而dept不是。为什么?因为在dept1_staff 中empno的值唯一的而deptno不是唯一的。所以emp是key_preserved 而dept不是。因此只能通过该视图来修改emp,而不能修改dept的数据。
3,Oracle视图非常强大的功能之一在于其可以创建一个带有错误的视图。比如说视图里的字段在基表里不存在,该视图仍然可以创建成功,但是非法的且无法执行。当基表里加入了该字段,或者说某个字段修改成视图里的该字段名称,那么视图马上就可以成为合法的。这个功能很有意思。例子:
创建基表: create table v_test(name varchar2(32),age number(12));创建带错误的视图:
create force view view_test as select name,age,address from v_test;(注意加上force选项)
由于address字段在v_test里不存在,所以会报warning: View created with compilation errors的警告,而且执行select * from view_test;时会报“ORA-04063: view “SCOTT.VIEW_TEST” 有错误”的异常。但是如果在v_test里加上address字段,那么视图就会合法。对基表进行修改:
alter table v_test add(address varchar2(128));
现在再执行select * from view_test;就会执行成功了。
from:http://www.blogjava.net/jinhualee/archive/2006/07/14/58115.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其他问题总结:
1、视图上是否可以创建索引?
Oracle实训总结 第6篇
在这一周Oracle数据库管理与应用的实训的时间里,实训老师针对我们本学期的学习,有针对性地对我们进行了很有价值的实训工作,从最基础的字段类型,到一般的Oracle语句,如创建数据表、视图、存储过程、触发器等,给我们细心讲解,虽然Oracle数据库管理与应用的课已经学习了将近一学期,但对其简单的知识点运用的都不是很熟练,没能真正去融会贯通。
不过,经过为期一周的针对性实训,我学到了很多知识,把以前学的所有知识点都贯穿到一起,又温习了一遍,让我们能从真正意义上了解到Oracle数据库的用处。
oracle数据库迁移 第7篇
摘 要:本文介绍了Oracle数据库基于Linux系统迁移的研究问题。在数据库领域一直处于领先地位的Oracle数据库以其良好的可移植性、可靠性和高效性,倍受各级用户的推崇和喜爱。随着Oracle数据库的不断更新和发展,其使用用户的群体也在不断的增加,因此对Oracle数据库的存储迁移技术的研究在国内外如雨后春笋般不断发展。
关键词:oracle,数据迁移,跨平台
中图分类号: TP391 文献标识码: A 文章编号: 1673-1069(2016)25-195-2
0 引言
伴随着IT行业的迅速发展,IT系统中数据的安全性,已经是对企业运营产生了重大影响。而数据库的安全迁移也为IT系统的可持续运行和数据安全提供一道保护屏障。而且近年来频繁出现的自然灾害或者突发事件也让越来越多的人们意识到,原有的数据存储方式已经无法满足企业的需要。本文正是从数据库迁移的实际操作中总结整理而成。
1 oracle数据库文件构成
数据库是一种物理的存储结构,它是由多种物理文件组成的,在Oracle数据库系统中分为,核心文件和非核心文件两大类[1]。其中核心文件由数据文件,控制文件,日志文件,参数文件组成,非核心文件由密码文件,告警日志文件,各种跟踪文件组成。
控制文件:控制文件是一个二进制的文件,它描述了数据库当前的物理状态,记录了RMAN备份的元数据。控制文件包含有数据库的名称、数据库的创建信息、表空间的信息、数据文件的状态、日志文件的信息、备份的信息、检查点的信息等。
数据文件:,一个数据库中一定至少有一个数据文件(system01.dbf),如果一个数据库存在多个数据文件,应该分别把它们存放在不同的磁盘上,这样做不仅可以提高数据的存取速度,有利于提高数据库的性能,而且还能防止数据文件同时被损坏,实现高度容灾。
日志文件:数据库日志文件包括归档日志和非归档日志,记录了数据库的所有修改信息,归档日志会在数据库切换日志时,备份历史日志,日志记录的是数据库改变的信息、因此当数据库损坏时可以通过日志文件实现数据库的完全恢复、不完全恢复,而非归档日志不会备份历史日志,只能恢复到数据库最后一次备份时的状态[2]。
临时文件:创建数据库对象的时候指定的是使用表空间,一个表空间至少包含一个数据文件,临时文件是临时表空间对应的数据文件,并不是已用完就被删除的,而是指这个文件存储的对象是临时存在的对象。临时文件主要用于大量的排序的时候,如果不能在数据库的内存中做排序,就会把临时文件作为中转。
参数文件:参数文件是记录数据库系统配置的文件,每次数据库一启动,Oracle就会自动地从参数文件中读取系统参数的设置来配置并启动数据库。如内存的大小分配,此次启动可以打开的进程数和会话数等。
2 Oracle数据库迁移的迁移方案
oracle数据库状态分类:
nomount:此状态可以读取初始化参数文件,启动实例,可以进行数据库的创建。
mount:数据库维护状态,读取控制文件。
open: 打开数据文件,日志文件,是数据库可以对全体用户提供服务了。
数据库物理迁移过程大体可分为以下四个步骤:
第一步:加载初始化文件
oracle启动后,数据库默认会读取一个二进制的初始化文件spfile
第二步:加载控制文件,保证在初始化文件中,控制文件的路径正确
在初始化文件中定义控制文件的位置,在确保控制文件路径正确的情况下,才能对控制文件进行加载,其命令是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状态;加载控制文件,如果出现错误,就说明控制文件所在的路径和参数文件路径不一致,要修改初始化参数,文件中控制文件的参数,然后重新加载。
4 总结与展望
数据库管理技术是现今社会中信息科学与技术的重要组成部分,数据库迁移技术的研究保证了数据安全以及高效的存储[4][5]。在实际操作过程中,Oracle数据库基于Linux系统的迁移过程中会出现各种各样的情况,如果想要安全完整的迁移数据库,一定要先做好备份,然后反复的实验验证,最终才能保证数据库完整安全的迁移。
参 考 文 献
[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数据库工作总结 第8篇
班级:13高软班
数据库技术是计算机科学技术中发展最快的领域之一,也是应用最为广泛的技术之一,它已经成为计算机信息系统与应用的核心技术和重要基础。所以在学习这门课时,注重学生实际操作能力,安排了理论与上机操作相结合。以下是我的工作总结:
1、课前准备:备好课。认真学习贯彻教学大纲,钻研教材。了解教材的基本思想、基本概念、结构、重点与难点,掌握知识的逻辑。
了解学生原有的知识技能的质量,他们的兴趣、需要、方法、习惯,学习新知识可能会有哪些困难,采取相应的措施。
考虑教法,解决如何把已掌握的教材传授给学生,包括如何组织教学、如何安排每节课的活动。
2、课堂上的情况。组织好课堂教学,关注全体学生,注意信息反馈,调动学生的注意力,使其保持相对稳定性。同时,激发学生的情感,使他们产生愉悦的心境,创造良好的课堂气氛,课堂语言简洁明了,课堂提问面向全体学生,注意引发学生学习的兴趣,课堂上讲练结合,布置好课外作业,减轻学生的负担。
oracle经验总结 第9篇
oracle的体系很庞大,要学习它,首先让我们了解oracle的框架。在这里,简要的讲一下oracle的架构
1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)
控制文件:包含维护和验证数据库完整性的必要信息、一个数据库至少需要一
个控制文件 数据文件:存储数据的文件 重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件 参数文件:定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大小的参数 归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。密码文件:认证哪些用户有权限启动和关闭Oracle例程
2、逻辑结构(表空间、段、区、块)
表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。
段:是对象在数据库中占用的空间
区:是为数据一次性预留的一个较大的存储空间 块:ORACLE最基本的存储单位,在建立数据库的时候指定
3、内存分配(SGA和PGA)
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收
4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)
数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件 日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件 系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复 进程监控:负责在一个Oracle 进程失败时清理资源 检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。归档进程:在每次日志切换时把已满的日志组进行备份或归档 服务进程:用户进程服务。用户进程:在客户端,负责将用户的SQL 语句传递给服务进程,并从服务器段拿回查询数据。
5、oracle例程:Oracle 例程由SGA 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。
6、SCN(System Change Number):系统改变号,一个由系统内部维护的序列号。当
系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重
要标志。
2.介绍项目中常用的标准SQL知识点
oracle左/右/全连接
inner join--内连接和where相同;相当于join;
left join--左向外连接,返回左边表所有符合条件的right join--右向外连接,返回右边表所有符合条件的full join--完整外部连接,左向外连接和右向外连接的合集
--建立测试数据
create table a(id number);
create table b(id number);
create table c(id number);
insert into a values(1);
insert into a values(2);
insert into a values(3);
insert into b values(1);
insert into b values(2);
insert into b values(4);
insert into c values(1);
--左:
--主流数据库通用的方法
select * from a left join b on a.id=b.id;
--Oracle特有的方法--最好不要用这样,不便于sql语句的移植。
select * from a, b where a.id=b.id(+);
IDID
--------------------
2--右:
--主流数据库通用的方法
select * from a right join b on a.id=b.id;
--Oracle特有的方法
select * from a, b where a.id(+)=b.id;
IDID
--------------------
--内
--主流数据库通用的方法
select * from a join b on a.id=b.id;
--where关联
select * from a, b where a.id=b.id;
IDID
--------------------
--全外
--主流数据库通用的方法
select * from a full join b on a.id=b.id;
--Oracle特有的方法
select *
from a, b
where a.id = b.id(+)
union
select *
from a, b
where a.id(+)= b.id;
IDID
--------------------
对于多表查询,如下:
select * from a
left join b on a.id=b.id
left join c on c.id=b.id;
IDID
--------------------
相当于先进行第一个left join,得到结果集A(3条记录);结果集A再与第二个left join进行查询;
select * from a
left join b on a.id=b.id
right join c on c.id=b.id;
相当于先进行第一个left join,得到结果集A(3条记录);结果集A再与right join进行查询,即以c表为主,因为C表只有一个记录,所以最终才显示一条记录;
3.查询效率优化方式介绍
表索引介绍,表索引的建立技巧
索引优点:
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显着减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
(哪给表中的所有列加上索引是否合理)
索引缺点:
第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就
降低了数据的维护速度。
(索引是建立在数据库表中的某些列的上面。因此,在创建Oracle数据库索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。)
建议创建索引的列: 在经常需要搜索的列上,可以加快搜索的速度; 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度; 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的; 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间; 经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。不该创建索引的列: 对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列
很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索 引,反而降低了系统的维护速度和增大了空间需求。对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很
少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索 速度。对于那些定义为text,image和bit数据类型的列不应该增加索引。这是因为,这
些列的数据量要么相当大,要么取值很少。
第四,当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和
检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改性能远远大于检索性能时,不应该创建Oracle数据库索引。
NESTED LOOP:
对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(大于1 万不适合),要把返回子集较小表的作为外表(CBO 默认外表是驱动表),而且在内表的连接字段上一定要有索引。当然也可以用ORDERED 提示来改变CBO默认的驱动表,使用USE_NL(table_name1 table_name2)可是强制CBO 执行嵌套循环连接。
Nested loop一般用在连接的表中有索引,并且索引选择性较好的时候.步骤:确定一个驱动表(outer table),另一个表为inner table,驱动表中的每一行与inner表中的相应记录JOIN。类似一个嵌套的循环。适用于驱动表的记录集比较小(<10000)而且inner表需要有有效的访问方法(Index)。需要注意的是:JOIN的顺序很重要,驱动表的记录集一定要小,返回结果集的响应时间是最快的。
4.ORACLE常用内部函数
5.ORACLE数据库的特点将结合第2和第3项讲
oracle经验总结
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。