OCP认证考试指南10g.docx
《OCP认证考试指南10g.docx》由会员分享,可在线阅读,更多相关《OCP认证考试指南10g.docx(147页珍藏版)》请在冰豆网上搜索。
OCP认证考试指南10g
OCP认证考试指南-10g
OCP认证考试指南
(1):
Oracle的基本概念
先来了解下几个英文的简称,在以后经常会见到。
∙对象关系数据库管理系统(ObjectRelationalDatabaseManagementSystem,简称ORDBMS)
∙关系数据库管理系统(RelationalDatabaseManagementSystem,简称RDBMS)
∙数据库管理系统(DatabaseManagementSystem,简称DBMS)
∙结构化查询语言(StructuredQueryLanguage,简称SQL)
∙二进制大对象(BinaryLargeObjects,简称BLOB)
1、SQL:
结构化查询语言
SQL由下列语言组成:
数据定义语言(DataDefinitionLanguage,简称DDL)。
DDL用于创建和修改数据库对象。
DDL语句包括CREATE、ALTER、DROP、RENAME以及TRUNCATE语句。
如果需要在数据库中添加一个新表,可以使用CREATE语句完成该任务;如果需要删除一个索引,那么可以使用DROPINDEX语句。
数据操作语言(DataManipulationLanguage,简称DML)。
DML用于修改数据库内表中的数据。
DML语句包括INSERT、UPDATE、和DELETE语句以及用于控制数据库内事务的扩展部分(扩展部分包含COMMIT、ROLLBACK和SAVEPOINT语句)。
数据控制语句(DataControlLanguage,简称DCL)。
DCL用于配置执行数据库任务和操纵数据库对象的安全性。
DCL语句包括GRANT和REEVOKE语句。
用户可以被授予执行某个任务的权限。
2、Oracle数据字典
Oracle中的数据字典是一组被称为基表的表。
这些表包含与用户创建的数据库对象相关的最基本的信息。
基表属于名为SYS的Oracle用户,该用户在创建数据库的同时被创建。
基表永远不会被直接访问,其名称十分含糊,以便阻止用户进行查询与修改。
为了更易于访问数据字典和获取数据库中对象的相关信息,数据库创建过程中会创建一系列视图,这些视图通常被称为数据字典视图。
Oracle具有下列3种数据字典视图:
USER_视图:
这些视图允许用户获取其模式中对象的相关信息(也就是用户创建并拥有的对象)
ALL_视图:
这些视图允许用户获取其拥有的或可被访问的对象的相关信息。
DBA_视图:
数据库管理员(DatabaseAdministrator,简称DBA)使用的DBA_视图提供了数据库中所有对象(也就是所有用户创建的所有对象)的完整信息。
3、数据库管理员的职责
在Oracle的领域中,DBA负责以下任务。
∙评估并决定服务器硬件的规模。
∙安装Oracle软件与补充资料。
∙计划与设计数据库结构。
∙创建数据库。
∙为了保护数据的安全,能够备份数据库和采用其它方法。
∙创建与维护数据库用户。
∙实现应用程序与数据库设计。
∙还原与恢复数据库。
∙监视与调整数据库性能。
OCP认证考试指南
(2):
安装OracleDatabase10G
想在Linux系统把Oralce安装好,确实是个不小的挑战,最起码的,首先要对Linux系统有所了解,不说多的,简单的一些配置文件和常用命令总要知道,要不真不知道如何下手。
今天按书本的启示,和网上别人写的文章还有Oralce官方的帮助感觉都对我帮助甚微啊。
。
。
不过感觉最后还是在QQ群和XX的帮助下,当然书本和那些文章都起到了作用,终于把Oracle安装好了。
所以在这里,我准备把安装步骤详细点写清,网上看了半天,都只会说,有代码的,象对Linux了解不深的根本看不明白,好象看他们写的东西都是高手看的一样,都高手了,还用得着天天XX嘛。
。
。
1、最优灵活体系结构(OptimalFlexibleArchitecture,简称OFA)
我所理解的OFA其实就是一种Oracle的一种规范。
其意义就是用一种统一的给文件和文件夹的规则,和文件存放目录的规则做一个约定。
这样,我们不管是安装多个版本的OracleDatabase也好,因为目录规范,命名规范,这样软件不会冲突,方便管理,文件也方便查找,好处大大的有。
在Linux/Unix平台上,建议遵循的OFA的命名模式包含下列内容:
∙使用通用串常量和变量值的组合来命名所有装载点,这个组合的形式为/pm,其中p是一个串常量,m是一个变量值。
例如:
/u01、/u02、/ora01、/ora02都是不错的选择。
∙在装载点之内,采用形式/pm/h/u/product/v命名安装Oracle软件的目录,其中/pm是如前所说的装载点,h是指示用途的标准目录名(如app、db、home),u是目录拥有者的名称,product是一个字面值,v指定目录中安装的Oracle产品的版本。
例如:
操作系统用户oracle拥有的Oracle10G数据库的位置可以为/ora01/db/oracle/product/10.2.0,Oracle8I数据库的位置则为/ora02/db/oracle/product/8.1.7。
∙在目录结构之内可以创建一个admin目录,并且在目录内创建存储Oracle所使用的特定文件类型的其他子目录。
目录完整路径名为/pm/h/admin/d/a,其中admin是字面值,d是数据库的系统标识符(SystemIdentifier,简称SID),a是用于存储特定管理文件类型的子目录。
常见的有:
子目录名
用途
示例
adhoc
存储数据库专用的SQL和PL/SQL脚本
/ora01/db/admin/ocp10g/adhoc
arch
存储已归档的重做日志文件
/ora01/db/admin/ocp10g/arch
adump
存储审计文件的目录(需要首先设置AUDIT_FILE_DEST)参数
/ora01/db/admin/ocp10g/adump
bdump
存储后台进程跟踪文件与警告日志文件。
使用BACKGROUND_DUMP_DEST参数进行设置
/ora01/db/admin/ocp10g/bdump
cdump
存储核心堆积文件。
使用CORE_DUMP_DEST参数进行设置
/ora01/db/admin/ocp10g/cdump
create
存储用于创建数据库的脚本。
在创建新的数据库时,DBCA将创建数据库的脚本设置在这个目录中
/ora01/db/admin/ocp10g/create
exp
建议存储使用Export实用程序或OracleDataPump创建的数据库导出文件的目录
/ora01/db/admin/ocp10g/exp
logbook
存储数据库历史与状态日志文件
/ora01/db/admin/ocp10g/logbook
pfile
用于启动数据库的参数文件被放置在这个目录中
/ora01/db/admin/ocp10g/pfile
udump
存储用户进程跟踪文件。
使用USER_DUMP_DEST参数进行设置
/ora01/db/admin/ocp10g/udump
Oracle数据文件的根是一个形式为/pm/q/d的字典,其中/pm是装载点,q是一个字面值,这个字面值包含Oracle数据库结构的字典(例如:
oradta、oracle),d则是数据库的名称。
例如:
/ora01/oradata/ocp10g和/u01/oracle/mydb都是正确的形式。
Oracle数据库文件的推荐命名的约定:
子目录名
用途
命名约定
控制文件
用于存储与数据库、数据库文件及其状态相关的信息
推荐为control.ctl或controlnn.ctl,其中nn是一个数字(例如control01.ctl)
重做日志文件
在数据库数据发生变化时存储这些变化的记录
推荐为redonn.log,其中nn是一个数字(例如redo01.log)
数据文件
存储数据库数据
推荐为tablespacenamenn.dbf,其中tablespacename是Oracle数据库逻辑存储结构的名称,nn是一个数据(例如system01.dbf、undo01.dbf)
2、使用OracleUniversalInstaller安装Oracle
现在要开始我们的重点了,就是Linux下OracleDatabase的安装,我所应用的操作系统平台为RedHatEnterpriseLinuxAS5,如果不会的请参考本博“本地硬盘安装RedHatEnterpriseLinuxAS5”。
2.1、验证系统要求
这个不想多说和多做,有个自己感觉还不错的电脑就OK了,硬是要搞个256M的内存来安装个Oracle我也无语。
#grepMemTotal/proc/meminfo
MemTotal:
961480kB
#grepSwapTotal/proc/meminfo
SwapTotal:
2031608kB
Oracle官方要求所需最小RAM为512MB,而所需最小交换空间为1GB。
对于RAM小于或等于2GB的系统,交换空间应为RAM数量的两倍;对于RAM大于2GB的系统,交换空间应为RAM数量的一到两倍。
Oracle10g软件还需要2.5GB的可用磁盘空间,而数据库则另需1.2GB的可用磁盘空间。
/tmp目录至少需要400MB的可用空间。
要检查系统上的可用磁盘空间,运行以下命令:
#df-h
文件系统 容量 已用 可用已用%挂载点
/dev/mapper/VolGroup00-LogVol00
71G 5.2G 62G 8%/
/dev/hdb1 99M 12M 82M 13%/boot
tmpfs 471M 0 471M 0%/dev/shm
好了,我的硬件当然是OK拉。
2.2、创建用户帐户和用户组
#groupaddoinstall
#groupadddba
#useradd-m-goinstall-Gdbaoracle
#idoracle
uid=500(oracle)gid=500(oinstall)groups=500(oinstall),501(dba)
设置帐户oracle的密码:
#passwdoracle
Changingpasswordforuseroracle.
NewUNIXpassword:
RetypenewUNIXpassword:
passwd:
allauthenticationtokensupdatedsuccessfully.
2.3、创建OracleDatabase安装目录
#mkdir-p/ora01/db/oracle
#mkdir-p/ora02/oradata
#chown-Roracle:
oinstall/ora01/db/oracle/ora02/oradata
#chmod-R775/ora01/db/oracle/ora02/oradata
2.4、配置Linux内核参数
OracleDatabase10G需要以下所示的内核参数设置。
其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
需要的参数最少值为:
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
首先,我们不用急着改,先查看一下吧。
#sysctl-a|grepshm
kernel.shmmni=4096
kernel.shmall=268435456
kernel.shmmax=4294967295
#sysctl-a|grepsem
kernel.sem=250 32000 32 128
#sysctl-a|grepfile-max
fs.file-max=92438
#sysctl-a|grepip_local_port_range
net.ipv4.ip_local_port_range=32768 61000
还行吧,都比较大呢。
电脑好,没办法。
2.5、oracle用户的环境变量
要使用Oracle产品,应该或必须设置几个环境变量。
对于数据库服务器,建议设置以下环境变量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服务器上安装了多个Oracle产品或数据库,则ORACLE_HOME、ORACLE_SID和PATH变量可能会更改。
ORACLE_BASE变量不应更改,并可以在需要时在您的登录配置文件中设置它。
(哎,Linux会一点,又不是很厉害,环境变量这东西又是安装Oracle的一个重点,教程、书本,网文都没写清怎么搞,郁闷,当然拉,也是自己的水平问题,但写的那些根本就不合适初学者了嘛。
搞的我研究半天,看我写的多清楚。
)
以下操作,以oracle的身份登录Linux操作(请注意前面的#已经换成了$)。
$vi.bash_profile
进入编辑模式中,按I键进行编辑操作,在适当部分加入环境变量。
#.bash_profile
#Getthealiasesandfunctions
if[-f~/.bashrc];then
.~/.bashrc
fi
#Userspecificenvironmentandstartupprograms
ORACLE_BASE=/ora01/db/oracle;exportORACLE_BASE
ORACLE_SID=ocp;exportORACLE_SID
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/dbexportORACLE_HOME
PATH=$PATH:
$HOME/bin:
$ORACLE_HOME/bin;exportPATH
改完以后,按ESC键,退出编辑模式,再输入:
wq(保存退出)
2.6、安装Oracle
终于到达这一步了,真辛苦,首先要做的是把OracleDatabase10G放到Linux系统上面来,这不用教了吧,很多种方法,可以用远程连接软件发送压缩包过来,可以用U盘、移动硬盘、双硬盘的方式直接Copy到Linux电脑上(Fat32格式应该是直接能挂载,NTFS格式不能挂载的请参考本博“Linux下挂载NTFS格式分区”)
Oracle的官方下载地址:
...database/index.html
好了,开始安装吧(让我们把安装文件放在/DB文件夹里吧),不过,这又有个小问题(当然不是大问题拉),因为OracleDatabase虽说是跨平台的数据库,但真正由Oracle官方认证过的系统却没几个,所以当我们直接进入安装目录安装的时候就会发现:
$cd/DB
$./runInstaller
正在启动OracleUniversalInstaller...
正在检查安装程序要求...
检查操作系统版本:
必须是redhat-3,SuSE-9,redhat-4,
UnitedLinux-1.0,asianux-1orasianux-2
未通过<<<<
正在退出OracleUniversalInstaller。
您可以在
/home/oracle/oraInventory/logs/installActions2008-09-13_03-30-02AM.log
中找到本次会话的日志
这里我们有2种解决方式:
第一种最快的,最方便的,就是多打几个字母的方法,呵呵,加参数。
$./runInstaller-ignoreSysPrereqs
第二种方法,修改参数文件,让它认为我们的系统是认证系统。
$cd/DB/install
$vioraparam.ini
编辑方法前面说过了,我们找到
[CertifiedVersions]
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
在中间把我们的系统版本加进去,就OK了。
?
[Copytoclipboard]ViewCodeINI
[CertifiedVersions]
Linux=redhat-3,redhat-5,
SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
哦,MyGod!
又出问题,安装Oracle真是很艰难啊。
Oracle的安装界面好不容易是出来了,可连个字都没有(有的人说个是口口口,而我没发生这种情况,我的是空白),辛苦啊,改英文吧,用英文起码还能看到个字母在上面。
(ITPUT论坛里也有牛人们把中文搞出来了,不过过程之复杂,我想也是一定的,再说学Oracle看点英文也不算什么,加油吧!
)
于是,我们这样设置:
$LANG="en_US"
$./runInstaller
终于OK,虽然说是洋文的安装界面,但辛苦这久,终于是出来东西了,让我们好好享受,这Next,Next带来的快感吧。
这里我没办法做到Linux下的截图,放上Windows的载图。
(这图是中文的,正好对着Linux下的英文翻译)。
2010-7-1418:
13上传
下载附件(103.8KB)
这里我们选高级安装。
2010-7-1418:
13上传
下载附件(100.28KB)
默认的,企业版。
2010-7-1418:
13上传
下载附件(81.86KB)
上面写的是Windows的路径,Linux下可不是这样,如果环境变量先前配置好的话,在这会自动写上的(/ora01/db/oracle/product/10.2.0/db)
2010-7-1418:
13上传
下载附件(88.42KB)
安装条件检查,前面如果一直是按步骤来的话,一般是不会出问题的,如果有问题,检查下前面哪里没搞好吧。
2010-7-1418:
13上传
下载附件(88.42KB)
在安装Oracle的时候就创建一个数据库吧。
我们选第一个。
2010-7-1418:
13上传
下载附件(83.1KB)
接受默认值Createastarterdatabase和GeneralPurpose。
2010-7-1418:
13上传
下载附件(116.44KB)
环境变量的SID配置的话,这里就会自己写上去,选择下面的Createdatabasewithsampleschemas。
2010-7-1418:
13上传
下载附件(99.13KB)
UseDatabaseControlforDatabaseManangement。
2010-7-1418:
13上传
下载附件(107.93KB)
选择FileSystem,我们特意建了一个/ora02/oradata存放数据库文件。
2010-7-1418:
13上传
下载附件(101.52KB)
DonotenableAutomatedbackups。
2010-7-1418:
13上传
下载附件(98.59KB)
设置密码,选下面的,可以给所有的设置一个统一的密码,方便管理。
2010-7-1418:
13上传
下载附件(78.32KB)
摘要列表,这些都是要准备安装的,点击Install之后开始。
2010-7-1418:
13上传
下载附件(91.32KB)
OK,到这里可以暂时放松一下了。
(为什么是暂时。
。
。
因为还有工作要做。
)
2.7、执行脚本
安装全是自动化,真方便,到最后时刻会有个窗口弹出,大堆英文,不过意思很明白,叫你以root身份登录,并执行2个脚本orainstRoot.sh和Root.sh(别人和我的版本不同吗?
为什么到处都是说只执行一个orainstRoot.sh)。
$su
口令:
#cd/ora01/db/oracle/oraInventory/
#./orainstRoot.sh
Changingpermissionsof/ora01/db/oracle/oraInventoryto770.
Changinggroupnameof/ora01/db/oracle/oraInventorytooinstall.
Theexecutionofthescriptiscomplete
#/ora01/db/oracle/oracle/product/10.2.0/db/
#./root.sh
RunningOracle10root.shscript...
Thefollowingenvironmentvariablesaresetas:
ORACLE_OWNER=oracle
ORACLE_HOME= /ora01/db/oracle/oracle/product/10.2.0/db
Enterthefullpathnameofthelocalbindirectory:
[/usr/local/bin]:
说明:
orainstRoot.sh给oracl