oracle11 R2 redhat ent 6安装
百度文库详细说明:
转载自:http://www.linuxidc.com/Linux/2011-11/47760.htm
RedHat 6 下安装Oracle 11G R2 数据库
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories)
Oracle 数据库 11g(构建在 Oracle 独有的网格计算能力上)使 Oracle 客户能够更快地响应不断变化的业务状况,通过技术创新获得竞争优势,同时降低成本。
使用 Oracle 数据库 11g,您可以:
- 利用 Real Application Testing 使得新技术更快得以采用
- 先进的 Oracle 数据压缩和分区技术(Partitioning) 能够以更少存储空间管理更多的数据
- 利用 Oracle SecureFiles 将所有数据存储在 Oracle 数据库中从而简化系统
- 利用 Oracle Active Data Guard 使灾难资源恢复的投资回报率 (ROI) 最大化
- 通过管理自动化使关键人员能将精力投入到战略性任务中
- 等等..
在 Linux 系统上部署 Oracle
我们选用 RedHat 企业版来作为 Oracle 的操作系统。目前最新的版本是 RedHat 6.1,你可以根据 CPU 的架构选择32位或者64位的 Linux,通常来说64位版本可以管理更大的内存和硬盘空间,应该作为企业应用的首选。
Oracle 11g R2数据库安装硬件配置要求:
- 至少要有 1GB 以上的内存。
- 企业版要求 3.95 GB 的硬盘空间,同时需预留至少 1.7G 的空间来保存数据文件。
根据系统内存的大小,你需要合理设置交换分区的大小:内存为256-512M的时候 交换分区大小应该为内存2倍; 512-2G的时候, 交换分区大小应该为内存1.5倍;2-8G时, 交换分区大小和内存相同;8G以上,交换分区是内存大小的0.75倍。此外还需预留 10GB 左右的硬盘空间给操作系统,建议硬盘空间至少有 20GB 以上的剩余空间。
安装 RedHat 可以依照图形化的安装向导来进行 (需要 1GB 以上内存),安装过程中特别需注意两点:
- 显示语言选择英文,不要选择中文,以免后续的 Oracle 安装向导出现乱码
- 选择定制安装,并确保”compatibility libraries”、“Java Platform”和“Development”里工具被选中,如图:
勾选”compatibility libraries”可以保证 Oracle 安装和工作所需的���部分软件包都得到安装,否则很可能 Oracle 安装过程中,会出现一些链接错误,比如 ins_ctx.mk 报错。现在你可以去Oracle 官方站点下载 Oracle 数据库包了。在下载的同时,我们需要对 Redhat 的一些配置文件做修改。
设置静态IP
安装 Oracle 的机器需要配置静态 IP 地址,你可以用下面的命令来设置:
# system-config-network
这个步骤非常重要。让 DHCP 给机器分配动态 IP 地址会导致 Oracle 服务(比如监听器)无法启动。
修改内核参数
编辑 /etc/sysctl.conf 并做如下修改:
# Controls the maximum shared segment size, in bytes #kernel.shmmax = 68719476736 # Controls the maximum number of shared memory segments, in pages #kernel.shmall = 4294967296 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6553600 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=4194304 net.core.wmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_max=262144
保存之后,需要运行:
# sysctl -p
来使参数生效。
如果你觉得麻烦的话,Oracle 安装过程中,也会生成内核参数的修改脚本,并提示你运行。
配置 Pam.d
PAM (可插拔验证模块)可以让程序自由选择使用的验证方式。常见 PAM 模块有:
- pam_access.so 控制访问者地址与账号名称
- pam_listfile.so 控制访问者的账号名称或登录位置
- pam_limits.so 控制为用户分配的资源
- pam_rootok.so 对管理员(uid=0)无条件允许通过
- pam_userdb.so 设定独立用户账号数据库认证
编辑 /etc/pam.d/login 并增加下面内容:
session required /lib/security/pam_limits.so
配置 Limits
编辑 /etc/security/limits.conf 文件,并增加下面几行:
Oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
limits.conf 文件实际是前面提到的 pam_limits.so 的配置文件,而且只针对于单个会话, 需要在/etc/pam.d/login文件中加入下行:
session required /lib/security/pam_limits.so session required pam_limits.so
创建 Oracle 组和帐号
接下来我们要创建 Linux 的组和用户账号,用来安装和维护 Oracle 数据库。
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# id oracle
# passwd oracle (set password for oracle user)
现在可以用 Oracle 帐号登录继续后续的操作。
创建安装目录
现在我们来创建 Oracle 数据库的安装目录。 通常这些目录被在独立的文件系统上创建。
# mkdir -p /home/oracle/app/
# chown -R oracle:oinstall /home/oracle/app/
# chmod -R 775 /home/oracle/app/
之后把这些路径加入配置oracle用户的环境文件中。
# vim .bash_profile
添加的内容如下
export ORACLE_SID=orcl export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/dbhome export NLS_LANG=AMERICAN_AMERICA.UTF8 export PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin:
安装 Oracle
现在可以开始安装应用了,解开 Oracle 的源代码,并执行 ./runInstaller。如果你按上述要求正确配置了系统参数,安装过程应该不会有太多问题。如果遇到错误的话,你可以查看安装的日志文件以获得详细的错误信息。在安装的过程中,系统会询问你 SYSMAN 的密码,请把它记下来,后续我们会用它来登录到 Web Console。
在安装接近尾声的时候,会要求你以 root 权限运行一到两个脚本,你只需要打开一个终端,运行 su – ,然后根据系统提示的路径去运行脚本。
启动或停止 Oracle
有时候你可能需要启动或者停止 Oracle 的运行,你可以运行下面的命令
emctl start dbconsole
lsnrctl start
dbstart
要停止 Oracle 数据库,则运行:
emctl stop dbconsole
lsnrctl stop
dbstop
自动启动 Oracle 服务
每次输入命令行来启动或停止 Oracle 数据库总是不方便,最简单的办法还是在操作系统启动的时候自动启动 Oracle服务。具体办法如下:
1. 首先编辑 /etc/oratab 文件,将:
orcl:/home/oracle/app/dbhome:N
修改为:
orcl:/home/oracle/app/dbhome:Y
2. 创建启动脚本:
vi /etc/init.d/dbora
其内容如下:
#!/bin/sh # chkconfig: 345 99 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME=/home/oracle/app/dbhome ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Oracle startup: cannot start" exit fi case "$1" in ‘start’) # Start the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any value su – $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" su – $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" su – $ORA_OWNER -c $ORA_HOME/bin/dbstart ;; ‘stop’) # Stop the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values su – $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" su – $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" su – $ORA_OWNER -c $ORA_HOME/bin/dbshut ;; esac
用下面的命令修改权限:
# chmod 750 /etc/init.d/dbora
然后把它添加到 chkconfig中:
# chkconfig –level 345 dbora on
现在可以测试一下是否能按预期工作:
# /etc/init.d/dbora start
# /etc/init.d/dbora stop
现在可以登录到 Web Console,默认URL是 “https://localhost:1158/em”,默认用户名是: sys,你可以查看到数据库各项服务的信息:
Oracle 服务启动或停止时的常见错误
1. 错误信息:
“ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener”
解决方法 : 编辑文件 “dbstart” & “dbshut”, 找到“ $ORACLE_HOME_LISTNER=$1” 这行,将其改为:
“ $ORACLE_HOME_LISTNER=$ORACLE_HOME”
2. 错误信息:
“Message 1070 not found; No message file for product=NETWORK, facility=TNS
TNS-12538: Message 12538 not found;
No message file for product=NETWORK,facility=TNS TNS-12560: Message 12560 not found; No message file for product=NETWORK, facility=TNS
TNS-00508: Message 508 not found; No message file for product=NETWORK, facility=TNS”
解决方法::配置 ORACLE_HOME,编辑 oracle 用户账号下的 .bash_profile,添加:
export ORACLE_HOME=/home/oracle/app
3. 错误信息:
“Environment variable ORACLE_SID not defined. Please define it”
解决方法:配置 ORACLE_SID,编辑 oracle 用户账号下的 .bash_profile,添加:
export ORACLE_SID=orcl