RedHat AS5 下安装oracle11g R2
首先说明操作系统本版
Red Hat Enterprise Linux 4 Update 7
Red Hat Enterprise Linux 5 Update 2
硬件要求物理内存大于1G
准备软件包
RedHat.Enterprise.Linux.5.Update.2-XiSO.iso
linux_11gR2_database_1of2.zip
linux_11gR2_database_2of2.zip
oracle 11g 数据库软件包可以到http://www.oracle.com/technology/software/products/database/index.html下载,请选择Linux x86平台和11G版本
一、RedHat AS5系统安装:
包装的时候软件包注意选择以下
在选择软件包时候选择定制软件包,然后选择以下内容
桌面环境 GNOME 桌面环境
应用程序 图形化互联网
开发 开发工具
开发库
老的软件开发
服务器 网络服务器(可选)
基本系统 Java
X 窗口系统
基本
拨号联网支持
管理工具
系统工具
老的软件支持
同时检查以下包是否被安装
rpm -q binutils
rpm -q compat-libstdc++-33
rpm -q elfutils-libelf
rpm -q elfutils-libelf-devel
rpm -q elfutils-libelf-devel-static
rpm -q gcc
rpm -q gcc-c++
rpm -q glibc
rpm -q glibc-common
rpm -q glibc-devel
rpm -q glibc-headers
rpm -q ksh-20060214
rpm -q libaio-devel
rpm -q libaio
rpm -q libgcc
rpm -q libgomp
rpm -q libstdc++
rpm -q libstdc++-devel
rpm -q make
rpm -q sysstat
rpm -q unixODBC
rpm -q unixODBC-devel
以下是包找不到所在光盘
unixODBC cd2
libaio-devel cd3
libaio cd3
elfutils-libelf-devel cd4
rpm -q sysstat cd4
unixODBC-devel cd4
二、Oracle的安装前准备:
1、配置系统内核参数,以root用户登录,修改在/etc/sysctl.conf文件,在该文件中添加以下参数:
#Install oracle setting
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295 #物理内在一半
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
完成后,运行以下命令激活更改:
/sbin/sysctl -p
oracle 11G如果是采用自动内存管理的话(默认创建数据库自动内存管理),需要设置/dev/shm这个文件大小参数。查看/dev/shm大小可以用如下命令:
df -h /dev/shm
默认/dev/shm大小为物理内存大小一半,如果想给数据库大于物理内存一半大小,就需要调整此参数。修改/dev/shm大小方法如下:
修改/etc/fstab中tmpfs对应的行,将原来的tmpfs /dev/shm tmpfs defaults 0 0
改成tmpfs /dev/shm tmpfs defaults,size=1024M 0 0 ,这样tmpfs增大为1G
size参数也可以用G作单位:size=1G。
重新mount /dev/shm使之生效:
# mount -o remount /dev/shm
马上可以用"df -h"命令检查变化。
2、Setting Shell Limits for the oracle User
1.在文件 /etc/security/limits.conf 加以下参数:
#Install oracle setting
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
2.如果以下内容在文件 /etc/pam.d/login 中不存在,请加以下内容
#Install oracle setting
session required pam_limits.so
3.设置oracle 用户打开文件限制
在以下文件 /etc/profile 加入以下内容:
#Install oracle setting
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
3、创建安装数据库时所需要使用的用户组oinstall,dba及Oracle用户,并将oinstall,dba组定义成oracle用户的主次组。命令参考如下:
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle (设定oracle用户为oinstall、dba、oper用户组的成员)
passwd oracle (设定oracle用户的密码)
4、以root用户身份登录系统创建Oracle系统的安装目录和数据库文件存放的目录。例如:/oracle,及改变以上目录的属性命令参考如下:
# mkdir -p /home/oracle/app/oracle (创建数据目录)
# chown -R oracle.oinstall /home/oracle/app/oracle (设定目录所属的用户组和用户)
# chmod -R 775 /home/oracle/app/oracle (设定目录的读写权限)
5、以oracle 用户身份登录系统,复制和解压10201_database_linux32.zip文件到/home/oracle下:
# cp 10201_database_linux32.zip /home/oracle/ (复制文件到oracle个人目录内)
# unzip /home/oracle/10201_database_linux32.zip (解压zip文件)
6、配置oracle用户环境,以oracle用户登录,修改oracle用户下的 .bash_profile 文件。增加以下参数:
vi .bash_profile (执行vi命令来修改.bash_profile)
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
# 以下是我们所需配置的内容
#Install oracle setting
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl11g
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK
umask 022
stty erase ^H
7、重新启动操作系统:
# reboot (重新启动命令)
特别说明:因为安装Oracle软件时不可使用root(超级用户)来进行安装,只可以使用刚才新建的oracle用户来进行安装,请大家一定要注意!
三、Oracle数据库软件安装
重新启动操作系统后,使用oracle用户登陆操作系统进行Oracle数据库的正确安装:
然后以oracle用户登录用ftp软件上传linux_11gR2_database_1of2.zip,linux_11gR2_database_2of2.zip软件包
打开终端,然后用以下命令解压
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
安装数据库软件
cd database
./runInstaller
1.经过一小段的时间,会出现“配置安全更新”的信息窗口,全部清空,继续安装请单击“下一步(N)”按键,弹出对话框,选择“是”
2.安装选项 选择“仅安装数据库软件”,继续安装请单击“下一步(N)”按键
3.网格选项 选择“单实例数据库安装”,继续安装请单击“下一步(N)”按键
4.产品语言 选择“简体中文和英语”,继续安装请单击“下一步(N)”按键
5.数据库版本 选择“企业版(3.95GB)(E)”,继续安装请单击“下一步(N)”按键
6.安装位置 Oracle基本目录:/home/oracle/app/oracle;软件位置:/home/oracle/app/oracle/product/11.2.0/dbhome_1 ,继续安装请单击“下一步(N)”按键
7.创建产品清单 清单目录:/home/oracle/app/oraInventory;oraInventory组名:oinstall,继续安装请单击“下一步(N)”按键
8.操作系统组 数据库管理员(OSDBA)组:dba,数据库操作者(OSOPER)组:oper,继续安装请单击“下一步(N)”按键
9.先决条件检查:如果之前没有设置内核参数等,会这里检查失败,失败的话可以在这里选择“修补并再次检查”按键,打开一个提示执行修复脚本。然后按上面提示在root下执行。
打开另一个终端
su - root
/tmp/CVU_11.2.0.1.0_oracle/runfixup.sh #执行修复脚本
点确定,此时刚才的内核参数全部修复完毕,如果是物理内存和交换空间大小,可以“全部忽略”打上钩。
继续安装请单击“下一步(N)”按键
10 概要 确认一下安装信息,点“完成”开始安装。
11 安装到94%的时候,对弹出一个“执行配置脚本”对话框,要求在root下需执行脚本,打开另一个终端
su root
/home/oracle/app/oraInventory/orainstRoot.sh
/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
一直按Entel键,执行完毕返回对框点“确定”继续。
12 完成 提示Oracle Database 安装 已成功。 点关闭退出安装。
四、配置Listener
以oracl用户登录,打开终端,输入netca
netca
选择监听程序配置,然后按默认一直点下一步。
五、创建数据库
以oracl用户登录,打开终端,输入dbca
dbca
1.等一段时间出现欢迎界面,点下一步继续;
2.选择创建数据库,点下一步继续;
3.定制数据库,点下一步继续;
4.全局数据库名:orcl11g,SID:orcl11g,点下一步继续;
5.配置 Enterpris Manager 打上钩,自动维护任务可以根据实际需要是否启用,如果有专职dba,可以把“启用自动维护任务”钩取消,点下一步继续;
6.输入密码,点下一步继续;
7.存储类型:文件系统,点下一步继续;
8.选择数据库的恢复选项,根据需要是否启用归档,点下一步继续;
9.数据库组件,保留“Enterprise Manager 资料档案库”,其他组件都不需要,点标准数据库组件取消所有组件,点下一步继续;
10 内存,选择物理内存一半,字符集,选择默认ZHS16GBK,点下一步继续;
11 确认数据库安装这些表空间信息,一般保持默认,点下一步继续;
12 如果需要用脚本创建数据库,“生成数据库脚本创建脚本”打上钩,点完成弹出一个确认对话框,点确定开始创建数据库。
六、测试数据库
用oracle 数据库用户登录,输入如下命令
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 3月 6 01:51:30 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$version; --查看版本号
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
如果连接报是"已连接到空闲例程",请查看环境变量ORACLE_SID和自己创建数据库是否一至。
七、手工启动和关闭数据库
1. 启动Oracle 数据库
用oracle用户登录,首先检查一下环境变量ORACLE_SID是否和自己要设置环境变量相同,如果不相同,请用export命令来设置。
$ export ORACLE_SID=gbk11g #设置环境变量
$ sqlplus / as sysdba #启动sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 3月 6 01:56:43 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup --启动数据库命令
ORACLE 例程已经启动。
Total System Global Area 523108352 bytes
Fixed Size 1337632 bytes
Variable Size 369100512 bytes
Database Buffers 146800640 bytes
Redo Buffers 5869568 bytes
数据库装载完毕。
数据库已经打开。
2.关闭数据库
用oracle用户登录,首先检查一下环境变量ORACLE_SID是否和自己要设置环境变量相同,如果不相同,请用export命令来设置。
$ export ORACLE_SID=gbk11g #设置环境变量
$ sqlplus / as sysdba #启动sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 3月 6 01:56:18 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate --关闭数据库命令
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
3. 手工启动Oracle监听程序
用oracle用户登录 ,在控制台输入如下命令
$ lsnrctl
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-3月 -2010 02:02:47
Copyright (c) 1991, 2009, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL> start
将出现监听程序的一系列启动和配置情况信息列表。
信息行的最后一行是“The command completed successfully”字样时,监听程序启动成功。
4. 关闭Oracle监听程序
运行stop命令关闭监听程序。
LSNRCTL> stop
5.查看监听程序是否启动
LSNRCTL> status
八、设置oracle自动启动与关闭
以下操作用root用户登录
1、编辑 /etc/oratab,把所有的 instance 的重启动标志设置成 'Y',如:
orcl11g:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y
2、做一个启动脚本 /etc/init.d/oracle ,如下所示:
#!/bin/sh
# chkconfig: 345 99 10
# description: script for the Oracle Instance, Listener
#
# 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/oracle/product/11.2.0/dbhome_1
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 values
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
;;
'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/dbshut $ORA_HOME"
;;
'restart')
$0 stop
$0 start
;;
esac
在脚本中以下两行必须存在
# chkconfig: 345 99 10
# description: script for the Oracle Instance, Listener
------------------备注说明---------------------------------
# chkconfig: 345 99 10
指出3,4,5级别启动这个服务,99是在相应的/etc/rc.d/rcN.d(N为前面指定的
级别,这里是345)目录下生成的链接文件的序号(启动优先级别)S99oracle,
10为在除前面指出的级别对应的/etc/rc.d/rcN.d(N为除345之外的级别)目录生成的
链接文件的序号(服务停止的优先级别)K10oracle
3、赋予执行权限
chmod 751 /etc/init.d/oracle
4、添加服务
chkconfig --add oracle #添加服务
chkconfig --list oracle #查看服务
chkconfig --del oracle #删除服务
5、启动服务
添加服务服务后,不会立即启动服务,如果需要立即启动服务,需要执行
service oracle start #启动服务
service oracle stop #停止服务
service oracle restart #重启服务