fraternite汉化版:Oracle OCM 认证指南

来源:百度文库 编辑:偶看新闻 时间:2024/04/21 00:20:54
标题:Oracle OCM 认证指南 - David Dai 学习 Oracle(转)由 malin 于 星期三, 10/19/2011 - 12:05 发表

OCM考试全称为Oracle Certified Master(Oracle认证大师),是在OCA(Oracle认证专员Oracle Certified Associate)、OCP(Oracle认证专家Oracle Certified Professional)之后更高一级的Oracle技术认证,也是Oracle技术认证最高的一个级别。

 
考试是两天的时间,全部为实际操作的考试,第一天是创建数据库和安装Grid Control,第二天是创建RAC以及部署Data Guard,其中穿插着几乎所有Oracle数据库管理需要用到的常用知识。
 
其实,技术上来说OCM的考试并不很难,考试涉及的内容也是很喜闻乐见的技术架构。但是问题就在于时间,一个数据库管理员用dbca这样的图形化界面在一个小时里面创建完一个数据库这基本上没有难度,但是要求你不能使用图形界面只能用命令行方式呢?你能记得所有create database的语法吗?你能记得所有storage参数的语法吗?你能记得设定ASSM属性那个四个单词的前后顺序吗?
 
也许有人会说,我不需要记得啊,我有Oracle Online Documentation可以查询哦,是的,没错,OCM考试允许你查询Oracle的联机帮助文档(仅仅限于联机文档而不允许使用internet去做搜索),但是你能在几分钟内定位到你想要找的内容呢?又一共有多少个知识点你需要去查文档呢?而两个小时的考试时间又允许你去查多少次联机文档呢?我个人认为我对联机文档已经颇为熟悉了,但是今天上午的经验让我必须承认,如果我不继续加以练习,我绝对无法在规定时间内创建出完全符合考试要求的数据库。而如果第一天上午考试结束的时候你没有创建出需要的数据库,那么这次OCM考试你就失败了,因为后面考试的内容是要使用到这个数据库的。
 
最后,只要是考试就会有压力,当时间一点一滴流逝的时候,你能确保自己在最后的半小时里面还能像刚开始考试时候那样冷静吗?本来一次就能输入正确的SQL语句,会不会就要多输错几个单词,多按几次Delete键,多看到几次ORA报错信息才能完成输入呢?
 
好吧,这一系列文章的目的并不是给大家施加压力,而是准备告诉大家如何应对OCM考试,这几乎已经无关乎技术,而更多的是技巧了。
 
1. 保持平常心和信心,这很重要,当然也要意识到信心是通过考试前多次的自我实验而逐渐累积出来的。
 
2. 请一定在坐到考试桌前之后,尽快检查你面前的机器,会是两台RHEL4的Linux服务器,Gnome的图形界面(喜欢用KDE的兄弟们请去熟悉一下 Gnome的操作),有鼠标有键盘,检查你的键盘输入是否顺畅,检查你的鼠标移动是否顺畅,检查机器的电源插座是否插牢,检查Oracle 10gR2的软件是否已经安装,检查$ORACLE_HOME等环境参数是否已经设置好,检查联机文档是否可以正常读取。按照常理来说,这些都不应该出问题,但是万一你运气好碰到有问题的机器,一旦考试开始计时,那损失的就只能是你自己了。哦,为什么是两台机器呢?因为一台是用来创建数据库,而另外一台是用来安装Grid Control的OMS。
 
下面一篇文章开始正式介绍,如何快速使用命令行方式创建一个数据库,再次强调,这无关乎技术,不是告诉你create database的语法该怎么写。
 
 
开始描述手工创建数据库的快速过程,在这个过程中你只有命令行窗口,如果不习惯使用vi的话,可以用Gnome下的Text Editor,还有本机可以访问的Oracle联机文档。
 
1. 设置环境变量ORACLE_SID
参照考题中需要创建的数据库SID,设置操作系统环境变量,假设要求创建的数据库的SID是TEST。
 
2. 创建最简单的initTEST.ora文件
在$ORALCE_HOME/dbs下可以找到一份已经存在的init.ora文件,这是一份样本(在正式考试的机器上你也可以找到)。打开这份文件可以看到很多被注释的行,让人烦躁,一行一行地修改这个文件比较耗时,使用下面的命令,把所有以#开头和所有的空行全部过滤掉,同时生成最简单的initTEST.ora初始化参数文件。
 
$> cat init.ora | grep -v ^# | grep -v ^$ > initSID.ora
 
然后修改该文件的db_name参数和control_files参数(控制文件放在哪里,需要多少份控制文件,在考题中会清楚地提出要求),其它的参数保持原状不需要修改。
 
3. 启动数据库到nomount状态
此时已经有可供启动的初始化参数文件了,将数据库启动到nomount状态。
 
SQL> startup nomount;
 
4. 创建spfile
实例启动以后立刻创建spfile,然后重启一次数据库,让数据库能够使用到spfile。
 
5. 修改其它必须的初始化参数
为什么需要先快速地将实例启动到nomount状态?因为我们需要使用show parameter命令,在记不清楚那些初始化参数具体怎么敲的时候,show parameter命令能够来帮助我们快速定位其它必须要修改的初始化参数名字的写法。
因为用到了spfile,所以此处我们已经可以使用alter system命令来修改初始化参数了。
 
db_create_file_dest = 考题中要求你创建数据文件时存放的目录
db_create_online_log_dest_1 = 考题中要求你创建联机重做日志文件时存放的目录
audit_file_dest = ...
background_dump_dest = ...
core_dump_dest = ...
user_dump_dest = ...
db_block_size = 考题中可能会要求创建特定block大小的数据库
 
不要一条命令一条命令在SQL*Plus里面敲,用vi或者Text Editor将所有的alter system命令都编辑好,然后一次执行。
执行完毕以后,关闭实例,再重新启动到nomount状态,让刚才修改的初始化参数生效。
 
6. 创建密码文件
用orapwd程序创建orapwTEST密码文件,如果记不清楚orapwd程序怎么用,直接敲orapwd然后回车,会告诉你语法是怎样的。
 
7. 创建数据库
在这里有两种方法可以选择,依靠个人喜好了。
一种就是直接编辑create database命令,将考试的各项要求在这个命令中事先编辑好。
一种是创建完默认的数据库以后再用alter database命令去逐条修改以符合考试中对于数据库的各项要求。
 
第一种方法的技巧在于,要快速找到例句,如果你去查SQL Reference文档中的create database的语法,时间肯定是比较紧张的,我们要查的是Administrator's Guide这本文档中第二章 Creating an Oracle Database -> Creating the database -> Step 7: Issue the CREATE DATABASE Statement,这里有完整的一条SQL语句,copy出来,然后按照考试要求去编辑相应的地方,然后执行,这样出来的命令基本上不会出现问题。
 
第二种方法的技巧在于,因为是10g数据库,因为我们在前面设置了db_create_file_dest和db_create_online_log_dest_1参数,所以,只需要输入最简单的“create database;”命令,回车,就会有一个可以使用的数据库创建出来,当然比如redolog的组数和member个数,比如temp表空间的名字,比如undo表空间的名字都可能会跟考试的要求不太一样,然后用alter database以及一些其它的命令逐条修改就行。要知道数据库起来了,其中的某些检查项跟考试要求不符,不会得0分。
 
8. 运行catalog.sql 和 catproc.sql
只需要运行这两个SQL,都在$ORACLE_HOME/rdbms/admin中,创建必须的数据字典和内置的package等,千万不要忘了执行这一步。
 
9. 创建监听
考试可能会要求你创建非默认端口(1521)的监听,并且要求实例自动注册到这个监听上,那么这时候需要配置listener.ora和tnsnames.ora文件,去$ORACLE_HOME/network/admin/sample目录下把示例文件copy出来,然后按照要求修改。如果考试没有要求,那么无需修改任何配置文件,直接lsnrctl start把监听启动即可。
 
10. 其它的一些要求
比如创建额外的表空间,比如创建临时表空间组。
此处需要注意的是,对于数据文件,考试可能都会有详细的要求,比如第一个extent应该多大,每次扩展多少,初始化时数据文件多大,最终能够扩展到多大。要求详细阅读考试的要求,至于这里的语法,如果不记得,没有什么好的办法,只能去查SQL Reference文档了。
 
基本上上午的工作就是这些,最后提醒一点,考试的结果是美国那边直接用脚本连到你的服务器上,通过数据字典抓取结果,然后判断你哪些错了,所以,一定要保证在最后的时候,数据库是OPEN的,监考老师说还有5分钟结束考试的时候,不要再做什么其它操作了。如果之前你创建完数据库,想要shutdown以后冷备一下的话,请估算好时间。我听到的案例是冷备刚完成,数据库还未startup,结果美国那边开始抓取考试结果,因为无法连接数据库,因此第一天上午的section得了零分。
 
下一篇文章介绍安装Grid Control的一些经验。
 
安装Grid Control
 
在上午安装完数据库,配置完监听之后,中午休息,记得中午休息之前把数据库备份一下。
 
下午的Section是安装Grid Control。在OCM考试的Linux操作系统环境中安装Grid Control应该来说是一件很简单的事情,恩,实际上是我安装Grid Control最顺畅的一次了。
 
每个人面前会有两台机器,一台称为奇数机(ODD),一台称为偶数机(EVEN),注意,考题上也会这样表述的,要你在ODD机器上做什么或者在EVEN机器上做什么,偶数还是奇数是依靠机器的hostname最后一位或者两位数字来定的,通常会要求你在奇数机上创建数据库,在偶数机上安装Grid Control的OMS。
 
偶数机上是没有Oracle软件的,因此OMS需要的Repository这个数据库也需要创建在奇数机上,再加上之后第二天会要求创建的Standby实例,总共会有三个实例运行在奇数机上,正常情况下奇数机的内存是2G,所以请预先考虑好分配给每个实例的内存。
 
为什么上午就要求配置监听?因为下午的考试中OMS需要通过监听来访问创建的数据库,总之,OCM考试中基本上都是这样环环相扣的,其中某一步做慢了或者没完成就很可能影响接下来的考试。
 
Grid Control的安装软件会预先放置在偶数机的某个目录下,考题里面会告诉你的。但是,不要着急安装,为了一次就安装成功我们需要预先做一些工作。再次强调一下,安装OMS我们基本上只有一次的机会,因为大部分的错误都会是在等待了一个漫长的Configuration过程之后再报出来,而这时候通常已经没有剩余的时间让你去找到问题发生的原因,然后清理已经安装了残迹再重新安装OMS了。
 
1. 按照要求,通常会创建一个新数据库在奇数机上(不同于上午的Section中要求创建的SID),用于存储OMS需要的Repository信息,下午的时候应该是已经可以使用图形界面了,所以我们可以用dbca来创建这个数据库。
 
2. 数据库创建完毕以后,也许仍然你习惯用手动的方法创建,所以请检查数据库里面有没有dbms_shared_pool这个package,如果没有,运行$ORACLE_HOME/rdbms/admin/dbmspool.sql来创建这个package,因为安装OMS时候某些自动的检查需要调用这个包,没有的话将会报错。
 
3. 快速地建立两台机器之间的ssh信任关系,如果还不会的,请务必去网上查资料并且牢记每一步操作。这里有个小陷阱,默认情况下,两台机器上的oracle用户的home目录权限是0777,也就是完全的可读些权限,但是在这种情况下,建立oracle用户的ssh信任关系,即使你完全配正确了,也同样无法正常地不输入密码就登陆到另外一台机器上。据说很多人折在这里,怎么也配不通两机的信任关系,那时候焦躁的心情应该可想而之了。  需要做的是将oracle用户的home目录权限改为0755。
 
4. 尽量在一台机器上操作,不要在两台机器面前一会儿敲敲这个的键盘,一会儿动动那个的鼠标。字符界面的话,用terminal ssh过去就可以了,图形界面呢?不需要费劲地去检查vnc server有没有启动,启动在哪个端口了什么的,直接用ssh -X hostname这样的方式,就可以将远程的X界面显示在本机上。
 
5. 安装OMS,对于Repository库是有一些初始化参数的要求的,比如java池该多大,shared pool该多大,job queue该多大,但是不要去阅读安装文档,那个浪费时间。我们需要做的就是设置SGA_TARGET = 300M,这样内存参数就自动管理了,安装OMS不会报任何错误,另外对于job queue等其它的参数,在点击开始安装之后的某个界面,会弹出一个警告框,告诉你哪些参数不符合要求,需要改为多少多少,OK,安装这个界面里的要求,依次修改数据库的参数,然后重新启动数据库,不需要退出安装界面,在重启完数据库之后,点确定,直接继续安装就可以了。
 
6. 要有耐心,OMS安装的时候,在Configuration那一步时会非常慢,千万不要等不及了就准备关掉重来,时刻监控安装的log文件(log文件的位置在安装界面上应该可以找到),只要不停地有输出,你就可以安心地等待。
 
7. OMS安装完毕,也启动成功了。还需要在奇数机上安装Grid Control的Agent,有好多种方法可以安装,但是我们需要选择最简单最快速的方法,那就是使用agentDownload.linux程序,将这个程序从偶数机的OMS安装目录中copy到奇数机的某个目录下,随便哪个目录都行。然后运行下面的命令:
./agentDownload.linux -b /u01/app/oracle/product
最后一个参数是我们希望将agent安装到的BASE目录。
用这种方法安装Agent的速度很快,而且无需任何人工参与,简直是杀人越货考取OCM的必备良器。
 
8. OMS也启动了,Agent也启动了,通过浏览器去检查一下Grid Control的管理界面是不是好用吧,到这里,基本上就没什么问题了,下面会是一些要求你通过Grid Control来创建一些表空间或者一些用户或者一些什么别的操作,按照要求来就好。不过,对于命令行死忠派来说,还是预先去熟悉一下图形界面的操作吧,否则到时候找个按钮都要找半天。
 
其实到这里就差不多了,但是还预留了一层楼,如果我不懒的话,会继续更新第二天的Section可能会碰到的题目。