二、安装@H_404_2@oracle的准备工作@H_404_2@
1、系统及配置要求@H_404_2@
1)确认@H_404_2@linux系统的版本@H_404_2@
2)物理内存:必须高于@H_404_2@1G。@H_404_2@
物理内存应不少于1GB,对于VMWARE虚拟机建议不少于1200MB.对于系统中的交换分区设置,应参以下约定:物理内存为1GB~2GB时,交换分区为物理内存的1.5~2倍;物理内存为2GB~16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。@H_404_2@
3)硬盘空间:企业版需要@H_404_2@5.65G,还要确保@H_404_2@/tmp目录所在的分区空间不少于@H_404_2@1G,建议总的空间给@H_404_2@10G以上@H_404_2@
4)确定主机名之后修改@H_404_2@hosts文件(安装好@H_404_2@oracle之后再修改主机名会导致数据库启动失败)@H_404_2@
2、配置@H_404_2@yum,安装支持包@H_404_2@
@H_301_6@2、调整内核参数@H_404_2@
内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl �Cp命令使新配置立即生效。@H_404_2@
@H_301_6@vim/etc/sysctl.conf @H_404_2@在文件尾部添加如下内容:@H_404_2@ @H_301_6@Oracle需要固定的运行用户@H_404_2@oracle,安装组@H_404_2@oinstall,管理组@H_404_2@dba,这些账号需要提前建立好。此外用来存放@H_404_2@oracle程序及数据库文件的基本目录@H_404_2@/opt/oracle也应该提前创建好。@H_404_2@
@H_301_6@1)建立用户和组@H_404_2@ @H_301_6@7、配置@H_404_2@oracle用户资源限制,不配置也不会影响@H_404_2@oracle数据库的成功安装,但是考虑到若有糟糕的@H_404_2@sql语句对服务器资源的无限占用,导致长时间对用户请求无响应,建议提前限制@H_404_2@oracle用户资源。@H_404_2@
@H_301_6@配置方法如下:@H_404_2@ @H_301_6@vim/etc/profile,输入以下内容@H_404_2@ @H_301_6@三、正式安装@H_404_2@oracle
1、下载@H_404_2@oracle11g软件包到系统@H_404_2@/home/oracle中@H_404_2@
@H_301_6@2、解压缩软件包@H_404_2@
@H_301_6@3、授权允许用户@H_404_2@oracle使用图形终端,例如执行:@H_404_2@xhost+ oracle@localhost,表示允许用户@H_404_2@oracle从本机访问,或者执行@H_404_2@xhost + 表示取消所有限制,这里执行@H_404_2@xhost +即可。@H_404_2@
@H_301_6@4、执行安装程序@H_404_2@
@H_301_6@5、配置安全更新@H_404_2@
@H_301_6@9、安装类型选择“典型安装”。如果为各种管理账号分别设置口令,或者选择语言版本,设置自动备份,存储管理等,则应选择“高级安装”。@H_404_2@
@H_301_6@10、典型安装的配置,必须设置管理员口令,其它参数采用默认值,系统将自动创建@H_404_2@3个用户,分别是:超级管理员@H_404_2@sys,@H_404_2@system和数据库所有者@H_404_2@sysman,当选择高级安装时,可以为@H_404_2@3个用户分别设置口令,否则将使用同一个管理口令。@H_404_2@
@H_301_6@11、创建产品清单,将清单目录修改为@H_404_2@/opt/oracle/oralnventory,以便@H_404_2@oracle用户有权限写入@H_404_2@oracle数据库的清单信息。@H_404_2@
@H_301_6@12、先决条件检查及概要,出现下面的程序包状态失败,因为这些包是@H_404_2@32位的包,而我们的系统是@H_404_2@64位的,所以不用理会,点击“全部忽略”。然后点击“下一步”。@H_404_2@
@H_301_6@13、安装中@H_404_2@......
@H_301_6@14、当弹出“口令管理”的窗口时,单击“口令管理”按钮,将用户@H_404_2@scott解锁,修改完成后,单击“确定”按钮。@H_404_2@
@H_301_6@四、验证安装结果@H_404_2@
1、访问@H_404_2@OEM平台(@H_404_2@OEM平台可以进行图像化管理@H_404_2@oracle,比较方便)。@H_404_2@
@H_301_6@在浏览器中输入:@H_404_2@https://oracleserver:1158/em/,输入用户名:@H_404_2@sys,密码@H_404_2@pwd123,连接身份选择@H_404_2@SYSDBA @H_301_6@2、使用@H_404_2@sqlplus命令行访问@H_404_2@oracle数据库@H_404_2@
@H_301_6@在命令行界面中输入:@H_404_2@sqlplus sys/123.com AS SYSDBA @H_301_6@1)执行@H_404_2@HELP INDEX命令查看所有可以使用的命令@H_404_2@
@H_301_6@五、配置@H_404_2@oracle和@H_404_2@OEM随机启动@H_404_2@
完成oracle11g数据库的安装后,相关服务器会自动启用,但并不表示下次开机后oracle服务器仍然可用。下面将介绍oracle的基本服务组件,以及如何编写服务脚本来控制oracle数据库系统的自动运行。@H_404_2@
根据上面的安装过程,oracle11g的数据库软件将安装在变量ORACLE_HOME所北定的位置。例如/opt/oracle/product/11.2.0/dbhome_1/,而各种服务器组件程序(也包括sqlplus命令)正是位于其中的bin子目录下。@H_404_2@@H_404_2@
Oracle11g@H_404_2@数据库的基本服务组件如下所述:(注:oracle服务组件最好以oracle用户身份运行如:su - oracle)@H_404_2@@H_404_2@
@H_301_6@lsnrctl@H_404_2@:监听器程序,用来提供数据库访问,默认监听TCP 1521端口。@H_404_2@ @H_301_6@dbstart@H_404_2@、dbshut:数据库控制程序,用来启动、停止数据库实例。@H_404_2@ @H_301_6@emctl:@H_404_2@管理器控制工具,用来控制OEM平台的开启与关闭,OEM平台通过1158端口提供HTTPS访问,5520端口提供TCP访问。@H_404_2@ @H_301_6@为了方便执行oracle11g的服务组件程序,建议对所有用户的环境配置作进一步的优化调整、补充PATH路径、oracle终端类型等变量设置。除此以外,还应该修改/etc/oratab配置文件,以便运行dbstart时自动启用数据库实例。@H_404_2@ @H_301_6@1@H_404_2@、修改/etc/oratab,修改内容如下:@H_404_2@ @H_301_6@vim/etc/oratab@H_404_2@ @H_301_6@orcl:/opt/oracle/product/11.2.0/dbhome_1:Y(N@H_404_2@改为@H_404_2@Y)@H_404_2@ @H_301_6@@H_404_2@ @H_301_6@2@H_404_2@、修改/etc/rc.local文件,在文件末尾增加如下:su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'@H_404_2@ @H_301_6@
虽然通过各种服务组件程序能够启动、停止整个oracle11g数据库系统,但显然还不够方便,在RHEL6服务器中,更好的做法是将相关操作编写为服务脚本,交给chkconfig工具来管理,从而实现随系统开、关机自动启动、停止oracle数据库。@H_404_2@
@H_301_6@vi /etc/init.d/oracle @H_404_2@,输入如下内容:@H_404_2@ @H_301_6@#!/bin/bash@H_404_2@ @H_301_6@# chkconfig: 2345 99 10@H_404_2@ @H_301_6@# description: Startup Script for oracle Databases@H_404_2@ @H_301_6@# /etc/init.d/oracle@H_404_2@ @H_301_6@export ORACLE_BASE="/opt/oracle"@H_404_2@ @H_301_6@export ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1@H_404_2@ @H_301_6@export ORACLE_OWNER=oracle@H_404_2@ @H_301_6@case "$1" in@H_404_2@ @H_301_6@ start)@H_404_2@ @H_301_6@ su -$ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"@H_404_2@ @H_301_6@ su -$ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"@H_404_2@ @H_301_6@ su -$ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"@H_404_2@ @H_301_6@ touch/var/lock/subsys/oracle11g@H_404_2@ @H_301_6@ ;;@H_404_2@ @H_301_6@ stop)@H_404_2@ @H_301_6@ su -$ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"@H_404_2@ @H_301_6@ su -$ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"@H_404_2@ @H_301_6@ su -$ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"@H_404_2@ @H_301_6@ rm -fr/var/lock/subsys/oracle11g@H_404_2@ @H_301_6@ ;;@H_404_2@ @H_301_6@ status)@H_404_2@ @H_301_6@ if ( pgrep"tnslsnr" && netstat -anpt | grep ":1521" )&> /dev/null@H_404_2@ @H_301_6@ then@H_404_2@ @H_301_6@ echo"Oracle 11g Net Listener is running."@H_404_2@ @H_301_6@ else@H_404_2@ @H_301_6@ echo"Oracle 11g Net Listener is not running."@H_404_2@ @H_301_6@ fi@H_404_2@ @H_301_6@ if (netstat -anpt | grep ":1158" && netstat -anpt | grep":5520" ) &> /dev/null@H_404_2@ @H_301_6@ then@H_404_2@ @H_301_6@ echo"Oracle 11g Enterprise Manager is running."@H_404_2@ @H_301_6@ else@H_404_2@ @H_301_6@ echo"Oracle 11g Enterprise Manager is not running."@H_404_2@ @H_301_6@ fi@H_404_2@ @H_301_6@ ;;@H_404_2@ @H_301_6@ restart)@H_404_2@ @H_301_6@ $0 stop@H_404_2@ @H_301_6@ $0 start@H_404_2@ @H_301_6@ ;;@H_404_2@ @H_301_6@ *)@H_404_2@ @H_301_6@ echo"Usage: $0 {start|stop|restart|status}"@H_404_2@ @H_301_6@ exit 1@H_