Oracle经验

2024-05-08

Oracle经验(精选14篇)

篇1:Oracle经验

Oracle笔试经验

一个半小时的PAC考试,分10个section,从头到尾都是单选,总体上看时间比较紧,主要内容包括编程原理(程序流程)、数理运算能力、数字敏感度、信息技术常识和英文。

虽说有点不利于非技术类考生,但实际上它的编程原理并不是针对某种特定程序语言的,其实就是考逻辑,不需要任何编程知识,

信息技术常识就是计算机三级信息技术的内容,只有一点点题,随便猜猜吧。毕竟人家招的是Graduate Trainee,包括技术类和非技术类,偶是学会计的,觉得还可以做。

英语分三部分,第一部分考词法超简单,最后一部分考阅读,中间一部分考反义词的`偶做得最快,因为纯粹考单词量,那些单词偶基本都不认识所以涂得最快。

写这个笔经是因为下周末还有一场笔试,一样的形式。没申请的同学这周抓紧了。

忘了交待,偶今天是霸王笔的。

篇2:Oracle经验

夜了~~所以不打算多说了~简单回顾一下今天行程,因为~~今天算是到现在为止的另一番求职体验.

最初计划是去华师招聘会的~因为看中了两家公司,保利和新思维.

一切都准备好了,可惜东风转方向了...昨天下午小猫又跑来问我有没收到通知,我才知道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:浅析Oracle事务

一、事务及特性

(一) 事务

事务是用户定义的由一条或多条SQL语句组成的逻辑操作单位, 是数据库应用程序的基本逻辑单位。事务是保证数据库一致性和完整性的机制。一个事务中的SQL语句, 全部执行时, 就是提交事务, 对数据库的修改会永久的保存到数据库;全部取消执行时, 即撤销事务, 回到执行前的数据库状态。

(二) 事务的ACID特性

对一组SQL语句操作构成事务, 数据库操作系统必须确保这些操作的原子性、一致性、隔离性、持久性。

1. 原子性 (Atomicity)

事务的原子性是指事务中包含的所有操作要么全做, 要么不做, 也就是说所有的活动在数据库中要么全部反映, 要么全部不反映, 以保证数据库的一致性。

2. 一致性 (Consistency)

事务的一致性是指数据库在事务操作前和事务处理后, 其中数据必须满足业务的规则约束。事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

3. 隔离性 (Isolation)

隔离性是指数据库允许多个并发的事务同时对其中的数据进行读写或修改的能力, 隔离性可以防止多个事务的并发执行时, 由于它们的操作命令交叉执行而导致数据的不一致性。

4. 持久性 (durability)

事务的持久性也称永久性, 是指一个事务一旦提交, 它对数据库中数据的改变就应该是永久性的。接下来的其他操作不应该对其执行结果有任何影响。即便是系统在遇到故障的情况下也不会丢失, 这是数据的重要性决定的。

二、事务控制语句

在Oracle数据库中, 没有提供开始事务处理语句, 所有的事务都是隐式开始的, 也就是在Oracle中, 用户不可以显示使用命令来开始一个事务。oracle任务第一条修改数据库的语句, 或者一些要求事务处理的场合都是事务的隐式开始。但是当用户想要终止一个事务处理时, 必须显示使用commit和rollback语句结束。

根据事务ACID属性, Oracle提供了如下的事务控制语句:

(一) Set transaction设置事物属性

set transaction语句可用来设置事物的各种属性。该语句必须放在事务处理的第一个语句。也就是说, 必须在任何insert、update、delete语句以及其他的事务处理。

Set transaction的语句可以让用户对事务的以下属性进行设置:

1. 指定事务的隔离层

2. 规定回滚事务所使用的存储空间

3.命名事务

值得注意的一点是:set transaction只对当前事务有效;事务终止, 事务当前的设置将会失效。

(二) Set constrains设置事物的约束模式

约束模式是指:在事务中修改数据时, 数据库中的约束立即应用于数据, 还是将约束推迟到当前事务结束后应用。

(三)

Commit提交事务对数据库的操作做持久的保存

(四)

Rollback回滚事务取消对数据库所作的任何操作

(五) Savepoint在事务中建立一个存储的点。

当事务处理发生异常而回滚事务时, 可指定事务回滚到某存储点, 然后从该存储点重新执行。

(六) Release savepoint删除存储点

回滚的含义是撤销一个未提交事务中已执行的SQL语句对数据的修改。Oracle使用undo tablespace (或rollback segment) 来存储被修改的数据的原始值。而redo log内则保存了对数据修改操作的记录。

用户可以回滚整个未提交事务。除此之外, 用户还可以部分回滚未提交事务, 即从事务的最末端回滚到事务中任意一个被称为保存点的标记处。

通过本文的分析, 可以看到事务从开始到结束的完整过程, 事务处理技术是数据管理系统的重要组成部分, 如何正确合理的应用以保证数据库的安全性和完整性还需要每个使用者认真的研究。

参考文献

[1]王珊, 萨师煊.数据库系统概论 (第四版) .北京:高等教育出版社, 2006.

[2]《国家人力资源和社会保障部、国家工业和信息化部信息专业技术人才知识更新工程 (“653工程”) 指定教材》丛书编委会.Oracle数据库管理与应用教程.北京:中国电力出版社, 2009.

篇4:oracle数据库迁移

摘 要:本文介绍了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.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状态;加载控制文件,如果出现错误,就说明控制文件所在的路径和参数文件路径不一致,要修改初始化参数,文件中控制文件的参数,然后重新加载。

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.

篇5:Oracle经验

1.案例

前段时间报表中心有一存储过程执行速度过慢,由于另外一个存储过程中用到了那个存储过程中的中间表,因此如果前面的一个过程没有执行完而执行后面的那个过程,后面的过程执行完之后还是没有数据。四月份那个过程执行大约需要两个小时的时间,本以为是过程里面的业务太复杂导致。可前段时间执行的时间超过了十小时。后来才发现是中间表中数据量越来越多导致,大约有五百多万数据,而且每天会增加两万左右的数据,慢的地方主要是在中间表中插入当天的数据之后需要更新某些字段,由于中间表中数据量过大,更新这些字段是速度才很慢(已经建了索引)。

解决方案:创建一个和中间表一摸一样的临时表,先把数据插入到临时表中,在临时表中更新需要更新的字段,更新完后再把临时表中所有的数据插入到中间表中,然后再使用中间表中的数据汇总出报表。

2.如何创建临时表

创建Oracle 临时表,可以有两种类型的临时表:会话级的临时表,事务级的临时表。2.1会话级临时表

因为这个临时表中的数据和你的当前会话有关系,当你当前SESSION 不退出的情况下,临时表中的数据就还存在,而当你退出当前SESSION 的时候,临时表中的数据就全部没有了,当然这个时候你如果以另外一个SESSION 登陆的时候是看不到另外一个SESSION 中插入到临时表中的数据的。

即两个不同的SESSION 所插入的数据是互不相干的。当某一个SESSION 退出之后临时表中的数据就被截断(truncate table,即数据清空)了。会话级的临时表创建方法:

Create Global Temporary Table Table_Name(Col1 Type1,Col2 Type2...)On Commit Preserve Rows ; 举例:

create global temporary table Student(Stu_id Number(5), Class_id Number(5), Stu_Name Varchar2(8), Stu_Memo varchar2(200))on Commit Preserve Rows ; 2.2 事务级临时表

事务级临时表是指该临时表与事务相关,当进行事务提交或者事务回滚的时候,Oracle临时表中的数据将自行被截断,其他的内容和会话级的临时表的一致(包括退出SESSION 的时候,事务级的临时表也会被自动截断)。事务级临时表的创建方法:

Create Global Temporary Table Table_Name(Col1 Type1,Col2 Type2...)On Commit Delete Rows ; 举例:

create global temporary table Classes(Class_id Number(5), Class_Name Varchar2(8), Class_Memo varchar2(200))on Commit delete Rows;2.3 两种类型临时表的区别

会话级临时表采用 on commit preserve rows ;而事务级则采用 on commit delete rows ;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是 commit、rollback 或者是会话结束,Oracle临时表中的数据都将被截断 2.4临时表的不足之处

1)不支持 lob 对象,这也许是设计者基于运行效率的考虑,但实际应用中确实需要此功能时就无法使用临时表了。)不支持主外键关系

3.示例

1.会话级临时表

create global temporary table emp_temp_preserve on commit preserve rows

as select * from emp where 1=2;

insert into emp_temp_preserve select * from emp;commit;

select * from emp_temp_preserve;

在同一个会话中查询有数据,不在同一个会话中查询没数据

在不同会话中查询:

2.事务级临时表

create global temporary table emp_temp_delete on commit delete rows

as select * from emp where 1=2;

篇6:Oracle技术题

非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高

4. 如何建立一个备份控制文件?

解答:Alter database backup control file to trace.

5. 给出数据库正常启动所经历的几种状态 ?

解答:

STARTUP NOMOUNT – 数据库实例启动

STARTUP MOUNT - 数据库装载

篇7:oracle学习日志

1.sql语句的执行过程

连接----安全检查----解析----绑定----执行----返回。2.SGA和PGA的区别

2010年10月3日星期日

篇8:ORACLE讲稿

二、如何配置一个连接和侦听(连接配置文件、侦听文件位置)

三、数据库安装需注意的参数

字符集 内存 会话数 PFILE,SPFILE 自己在客户端配置到数据库服务器的连接

四、PLD工具介绍

1、右键菜单

2、Copy to Excel

3、Select for Update

4、执行单条SQL语句

5、查看执行计划

6、调试存储过程

五、常用DBA视图 Dba_object, dba_data_file, dba_tables, v$sqltext, v$session V$lock, dba_tab_columns, dba_indexes

六、物化视图原理及数据分发常规处理 物化视图刷新时间 生产机和查询机

七、作业调度

八、DBLINK

CTAIS体系结构 表(Table)命名规则(1)表名

表名前缀根据表所操作的业务及功能进行分类,使用具体业务名称的汉语拼音,长度为两个字符。标题使用规范的汉语拼音缩写,标题内容以词组或短语为单位,长度不超过10个字符,词组与词组之间使用‘_’相连接。例如,申报征收模块中小规模纳税人申报增值税表名为:SB_ZZS_XGMNSR。(2)表名后缀

主表与子表是一对多的关系,子表名是在主表名后加后缀:_ZB 例:DJ_BG_ZB 申请表加后缀:_SQ 例:WS_HDZS_SQ 审批表加后缀:_SP 例:WS_HDZS_SP 扩展表加后缀:_KZ 例:DJ_NSRXX_KZ 附表加后缀:_FB 例:SB_ZZS_2003_FB SB_ZZS_2003_FB1 SB_ZZS_2003_FB2

表(Table)命名规则(3)列名

列名由长度不超过30个英文字符和数字的组合,使用规范的汉语拼音缩写。命名规则如下:

凡是参照代码表的列,列名一律加‘_DM’后缀;

例:NSR_SWJG_DM、HY_DM “XX标志”列,当其取值为“真/假”时,数据类型用Char(1),列名加‘BZ’或‘_BZ’后缀。例:NSR_SWJG_BZ CTAIS表的类型 BB_报表 CX_查询 DJ_登记 DM_代码 FP_发票 HD_核定 JC_稽查 KJ_会计 PI_批处理 PZ_票证 QX_权限 RD_认定 SB_申报

WF_维护、工作流 WS_文书 WZ_违章 XT_系统 ZD_字典 ZJ_证件 ZX_执行

ctais部分表

DJ_NSRXX,DJ_NSRXX_KZ,DJ_SZ,DJ_SZ_ZB,DJ_SZ_KZ,DJ_YZCWSBQC RD_NSRZG_LSXX,HD_DSQC_LS WS_DJXX,WS_JMS_SQ,WS_JMS_SP FP_KC,FP_YJ,FP_NSR_JC SB_SBXX,SB_ZZS_2003_YBNSR,SB_ZZS_2003_FB1 SB_ZSXX,SB_JKS,SB_WSZ JC_AJXX,JC_CLJDS,WZ_WFWZXX,WZ_CLCFXX, ZX_ZXXX QX_USER,QX_GNMK,QX_GNMB XT_XTCS,XT_DYCS

如何自己搭建本地的测试库

1. 安装ORACLE服务器版,并修改字符集 2. 创建CTAIS实例 3. 创建表空间 4. 创建CTAIS2用户 5. 执行数据库安装脚本 6. 停止触发器和外键

篇9:oracle学习心得

oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。

因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。

二、学习方法

我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记

看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。

学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。

学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了

很多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性,没有钻研的学习态度,不管学什么东西,都不会成功的。

三、oracle的体系

oracle的体系很庞大,要学习它,首先要了解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):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。

四、深入学习

管理:可以考OCP证书,对oracle先有一个系统的学习,然后看Oracle Concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。

开发:对于想做Oracle开发的,在了解完Oracle基本的体系结构之后,可以重点关注PL/SQL及Oracle的开发工具这一部分。PL/SQL主要是包括怎么写SQL语句,怎么使用Oracle本身的函数,怎么写存储过程、存储函数、触发器等。Oracle的开发工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer这些),学会如何熟练使用这些工具。

篇10:oracle学习计划

学习计划参考

1、一本讲解基本概念的书,这类书很多,ORACLE的官方文档也可,concept,ADMINISTRATOR,RMAN,PERFORMANCE TUNNING等,

这些都是需要经常翻阅的书,随时用,随时翻阅;如果英文阅读不方便,可以到书店随便翻翻,浏览目录和内容,如果觉得适合自己的理解或有帮助,就是不错的书。

2、一本讲解数据库管理的书;内容涉及可能多,这本书要求知道数据库管理涉及那些方面;

3、一本详细讲解rman如何使用的书

oracle 9irman 备份与恢复技术

robert g.freeman 著,梁志敏 蔡建译

4、一本讲解如何优化调优的书

oracle9i statspack 高性能调整 工业出版社

donald k.burleson 著,袁勤勇等编

oracle wait interface 性能诊断与调整实践指南

richmond shee 等著,高锰 江仁容译,清华出版社

高级阶段

5、一本如何进一步优化sql语句的书

6、一本如何高效构建数据库的书

篇11:Oracle面试题库

A.UPDATE

B.EDIT

C.SELECT

D.ALTER TABLE

2.用SQLPLUS的_____命令可以查看表的结构信息,包括列的名称和数据类型

A DESCRIPTION

B DESC

C SHOW TABLE

D SHOW USER

3. Oracle的前端工具是 :

A SQL*PLUS

B C++

C PL/SQL

D JAVA

4. 在SQLPLUS中,如何运行SQL脚本程序

A /

B @脚本

C EXE 脚本

D 不能在SQLPLUS中直接运行脚本

5. 用命令将SQLPLUS缓冲区中的内容保存到文件中,使用下列哪种方法

A 将缓冲区的内容Ctrl+C,然后再Ctrl+V到文件中即可

B 使用SAVE命令参数是文件路径

C WRITE 方式,参数是文件路径

D Oracle会自动保存

6. 用来设置一行能够显示的字符长度的命令是

A SET LINESIZE

B SET LINE

C SET LINEBUFFER

D SET SIZELINE

7. 以下哪个命令用来设置查询显示结果的列宽

A SET COLUMN SIZE

B COLUMN 列 FORMAT 长度

C COLUMN 列 长度

D 长度 OF COLUMN

8. 如何判断数据库的时区?

解答:SELECT DBTIMEZONE FROM DUAL;

22. 解释GLOBAL_NAMES设为TRUE的用途

解答:GLOBAL_NAMES指明联接数据库的方式。如果这个参数设置为TRUE,在建立数据库链接时就必须用相同的名字连结远程数据库

9. 如何加密PL/SQL程序?

解答:WRAP

10. 解释FUNCTION,PROCEDURE和PACKAGE区别

解答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和proceudre的集合

11. 解释TABLE Function的用途

解答:TABLE Function是通过PL/SQL逻辑返回一组纪录,用于普通的表/视图。他们也用于pipeline和ETL过程。

12. 举出3种可以收集three advisory statistics

解答:Buffer Cache Advice, Segment Level Statistics, Timed Statistics

13. Audit trace 存放在哪个oracle目录结构中?

解答:unix $ORACLE_HOME/rdbms/audit Windows the event viewer

14. 解释materialized views的作用

解答:Materialized views 用于减少那些汇总,集合和分组的信息的集合数量。它们通常适合于数据仓库和DSS系统。

15. 当用户进程出错,哪个后台进程负责清理它

解答: PMON

16. 哪个后台进程刷新materialized views?

解答:The Job Queue Processes.

17. 如何判断哪个session正在连结以及它们等待的资源?

解答:V$SESSION / V$SESSION_WAIT

18. 描述什么是 redo logs

解答:Redo Logs 是用于存放数据库数据改动状况的物理和逻辑结构。可以用来修复数据库.

19. 如何进行强制LOG SWITCH?

解答:ALTER SYSTEM SWITCH LOGFILE;

20. 举出两个判断DDL改动的方法?

篇12:Oracle深入学习

开发:对于想做Oracle开发的.,在了解完Oracle基本的体系结构之后,可以重点关注PL/SQL及Oracle的开发工具这一部分,

PL/SQL主要是包括怎么写SQL语句,怎么使用Oracle本身的函数,怎么写存储过程、存储函数、触发器等。 Oracle的开发工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer这些),学会如何熟练使用这些工具。

介绍几本oracle入门的好书

oracle官方文档:《concept》上面讲了oracle的体系和概念,很适合初学者看。

OCP的教学用书,也就是STUDY GUIDE(SG)。

Oracle8i 备份恢复手册

Oracle8高级管理与优化

Oracle8i PLSQL程序设计

篇13:Oracle过关解答

终于把 OCP DBA 的课程都考完了,累啊!总的来说ORACLE的认证值得考,本人有CCNP、MCSE证书,但通过DBA的考试,觉得不仅加深了对现代数据库的了解,还丰富了计算机科学的知识结构。我觉得,从某种角度来说,ORACLE数据库甚至具备一些操作系统的功能。

??ORACLE的考试,要记住的东西相当多,考试要求基本上是以原始的命令行方式,而不是图形界面操作,因此表的名字,以及相应的scripts相当多是要求记住的,整个DBA考试,光书中提到的table就有数百个之多,我想这主要是因为过去ORACLE主要是在UNIX系统上运行的,可供使用的图形界面软件不多!这也相应地增加了考试的难度!整个考试重点在于对概念的理解,对细节考得不是太多,我想国外的考试都是这样吧!例如问lock contention 的原因是什么?然而,oracle的概念可是五花八门,数不胜数!

??最初一门SQL是基础。这门不难,只要多点上机实践,一般都没问题,但是pl/sql的许多概念,例如触发器等,要弄清楚。如果有数据库开发的基础,这门课是小菜一碟!

??第二门,《数据库管理》。可算上是ORACLE的基础课了,也是核心课程,课程中提到了许多在以后的课程中反复使用的概念与方法。例如,instance及相应的进程(pmon,smon,arc0,dbw0,等)。数据库的物理结构由dbf文件,控制文件,redo log文件,archive文件等,

数据库的逻辑构成由tablespace,segment,extent,block等。需要理解的是ORACLE的基本运行过程,oracle读取parameter file 的设置在physical memory中构造instance, 通过dbwr进程将SGA的database buffer中的数据定期或不定期地写入datafile,同时也将sql指令由lgwr进程记录在redolog文件中,系统定期将redolog文件copy成为archive文件,系统为了transactional的需要,提供了rollback segment ,这样保证了read consistence。

??这一门的概念相当多,令人觉得oracle的存储概念相当细,例如对segment 的block还分了pctfree 和 pctuse,顺便也提到了row migrate 与row chain的概念,可见oracle对逻辑及物理对象的管理能够非常细致!再有,scn不仅储存在control file 中,还在datafile的header中,scn的引入是为了保证系统各文件之间的`协调与连惯。本门许多命令的可选参数基本是不用记的,太多了!也不怎么考,这些参数在《性能调整》一门中则作了详细介绍!大家只要记住最基本的语句就行了!

篇14:oracle实训报告

专业计算机应用技术

学号30802001533姓名赵彬彬

实训内容:oracle9i在红旗4.1平台上的安装

一.Oracle 9.2.0.4安装步骤

安装目录/oracle/binbin/product/9.2.0

1.安装环境检查

首先检查软硬件环境是否满足要求。要求:物理内存512M、安装所需磁盘空间约4G、临时存储空间如/tmp约1.5G、32位操作系统。

2.安装前准备

(1)从FTP下载安装文件和所需的操作系统补丁文件。

3个安装文件:disk1.cpio、disk2.cpio、disk3.cpio

1个操作系统补丁文件:p3006854_9204_LINUX.zip

(2)创建目录#mkdir –p /oracle/binbin/product/9.2.0

(3)配置虚拟机的网卡为桥接模式,配置id地址为192.168.1.54。利用ping命令,测试主机是否与linux通信。利用xftp工具,将上面四个文件传入oracle目录下。

(4)用putty登陆linux。创建安装Oracle数据库所要求的Linux用户和组:用户名oracle/oracle、组dba

#groupadd dba

#useradd –g dba oracle

#passwd oracle

输入oracle

再次确认密码

(5)oracle用户需要对/oracle目录有全部权限,修改/oracle目录的所有者为oracle用户所有。

#chown–Roracle:dba/oracle

(6)以oracle用户登录系统,修改oracle用户主目录下的.bash_profile文件,增加以下内容:

#vi /home/oracle/.bash_profile

export ORACLE_BASE=/oracle/binbin

export ORACLE_HOME=/oracle/binbin/product/9.2.0

export ORACLE_SID=binbin

export NLS_LANG=“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_DOC=$ORACLE_HOME/doc

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes1

2.zip

CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/nls_charset12.zip

CLASSPATH=$CLASSPATH:$ORACLE_HOME/sqlj/lib/translator.zip

CLASSPATH=$CLASSPATH:$ORACLE_HOME/sqlj/lib/runtime.zip

CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/*.jar

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jar

CLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib/*.jar

CLASSPATH=$CLASSPATH:.export CLASSPATH

if [!$LD_LIBRARY_PATH ];then

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/jdbc/lib

export LD_LIBRARY_PATH

fi

ulimit-n 65535 >/dev/null 2>&1

(7)以root登录系统为操作系统打补丁。即先将补丁文件解压,再运行shell来安装。

#unzip p3006854_9204_LINUX.zip

#sh rhel3_pre_install.sh

(8)将3个cpio安装文件解压缩。

#cpio –idmv < disk1.cpio

#cpio –idmv < disk2.cpio

#cpio –idmv < disk3.cpio

3.开始安装

注意:oracle目录的拥有者必须为oracle。安装过程中,根据提示运行相应的文件。

(1)以oracle用户登录,启动图形界面(安装需要在图形界面下进行)。

(2)启动终端窗口,进行如下两项环境设置,然后运行安装程序runInstaller进入安装界面。

$export DISPLAY=:0.0

$export LANG=C

$./runInstaller

4.测试安装

#sqlplus /nolog

SQL>conn /as sysdba

SQL>show SGA

Total System Global Area219223120 bytes

Fixed Size451664 bytes

Variable Size201326592 bytes

Database Buffers16777216 bytes

Redo Buffers667648 bytes

SQL> select file_name from dba_data_files;

FILE_NAME

--------------------------

/oracle/binbin/oradata/binbin/system01.dbf

/oracle/binbin/oradata/binbin/undotbs01.dbf

/oracle/binbin/oradata/binbin/cwmlite01.dbf

/oracle/binbin/oradata/binbin/drsys01.dbf

/oracle/binbin/oradata/binbin/example01.dbf

/oracle/binbin/oradata/binbin/indx01.dbf

/oracle/binbin/oradata/binbin/odm01.dbf

/oracle/binbin/oradata/binbin/tools01.dbf

/oracle/binbin/oradata/binbin/users01.dbf

/oracle/binbin/oradata/binbin/xdb01.dbf

SQL> select name from v$controlfile;

NAME

-----------------

/oracle/binbin/oradata/binbin/control01.ctl

/oracle/binbin/oradata/binbin/control02.ctl

/oracle/binbin/oradata/binbin/control03.ctl

二.遇到的问题:

1.磁盘空间不足

解决的方法:关闭虚拟机,选择编辑虚拟机,添加一块磁盘,大小为8G。然后打开虚拟机。用root用户登录,输入fdisk –l,查看系统是否识别硬盘。再输入fdisk /dev/sdb,对SCSI第二块硬盘进行分区。分区后,用mkfs –t ext3 /dev/sdb1进行格式化。最后把/dev/sdb1挂载到/oracle目录下。

2.无法连接到图形界面

解决的方法:把root用户注销,此时就oracle登录系统,并且以oracle用户进入的图形界面。

3.权限不足

解决方法:把三个文件拥有者的权限授予oracle,并查看/oracle目录拥有者是否为oracle。

4.oracle用户无法启动图形界面

解决方法:删除tmp目录下的临时文件。

5.临时文件产生的错误

解决方法:删除先前的临时文件。

三.收获

体会:通过这次安装oracle的实践,充分运用以前所学的linux基础,更好的运用这些知识。体会到光看课本是不行的,必须付出实践,在实践中学习,在实践中增长知识才是最快的。实践能力是最重要的。

上一篇:整改落实方案公示记录下一篇:端午节作文800字叙事