Oracle 安装文档
安装准备
1首先配置本地yum源,参见redhat本地云源配置.doc
2安装依赖包
Oracle11gR2安装的时候,会检查下面的Package是否符合要求
在安装Oracle 11g前,需要先安装以下版本(或更高版本)的软件包。
compat-libstdc++-33-3.2.3-61 //compat-libstdc软件包
elfutils-libelf-0.125-3.el5 //与elfutils-libelf相关的软件包
elfutils-libelf-devel-0.125-3.el5
glibc-2.5-12 //与glibc相关的软件包
glibc-devel-2.5-12
glibc-common-2.5-12
gcc-4.1.1-52.el5 //与gcc相关的软件包
gcc-c++-4.1.1-52.el5
libgcc-4.1.1-52.el5
libaio-0.3.106-3.2 //与libaio相关的软件包
libaio-devel-0.3.106-3.2
libstdc++-4.1.1-52.el5
libstdc++-devel-4.1.1-52.el5
unixODBC-2.2.11-7.1 //与unixODBC相关的软件包
unixODBC-devel-2.2.11-7.1
sysstat-7.0.0-3.el5 //sysstat软件包
binutils-2.17.50.0.6-2.el5 //binutils软件包
make-3.81-1.1 //make软件包
如果没有安装或者比版本低的需要额外安装或升级
下面用yum方式安装所需的包
#yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.*
最后还要安装LibXp这个Library,这个一定要安装,否则安装Oracle时会出现Java Exception
yum install libXp
pdksh在RedHat的安装光盘里没有必须自己从网上下载后编译、安装,见oracle文件夹
#rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
3、 创建Oracle用户与组,设置oracle用户密码
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
#passwd oracle
4、 配置系统内核参数
# vim /etc/sysctl.conf
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
启用刚刚所做的变更。
输入命令
# /sbin/sysctl -p
5、 修改系统资源限制 编辑系统资源限制配置文件
vim /etc/security/limits.conf
在该文件下添加如下行
# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
6、 关闭SELinux 编辑SELinux配置文件
vim /etc/selinux/config
将SELINUX的值设为 disabled
如下 SELINUX=disabled;
修改该文件可使重启系统后不启动SELinux。
关闭当前已开启的SELinux使用如下命令
Setenforce
7、 修改主机HOSTS文件
检查/etc/hosts文件中是否有localhost的记录
指向127.0.0.1即可若没有的话
在后面配置Oracle监听的时候会出现一些问题
导致无法启动监听。
#vim /etc/hosts
注意将主机名对应到真实ip地址否则oracle有可能将监听程序仅仅建立在127.0.0.1上
8、 创建Oracle安装文件夹以及数据存放文件夹
把oracle安装在 /u01/app/oracle 目录下所以需创建该目录
#mkdir -p /u01/app/oracle
#chown -R oracle:oinstall /u01/app/oracle
#chmod 755 /u01/app/oracle
安装时数据放在/u01/app/oracle/oradata目录下所以需创建该目录
#mkdir -p /u01/app/oracle/oradata
#chown -R oracle:oinstall /u01/app/oracle/oradata
#chmod -R 755 /u01/app/oracle/oradata
安装时还需要设置 Inventory 目录所以需创建该目录
#mkdir -p /u01/app/oraInventory
#chown -R oracle:oinstall /u01/app/oraInventory
#chmod -R 755 /u01/app/oraInventory
设置ORACLE_HOME目录
#mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
#chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/dbhome_1
#chmod -R 755 /u01/app/oracle/product/11.2.0/dbhome_1
说明想一次修改某个目录下所有文件的权限包括子目录中的文件权限也要修改要使用参数
R
表示启动递归处理
9、 解压缩安装文件
Oracle 11g R2的安装包被压缩成两个文件linux_11gR2_database_1of2.zip、linux_11gR2_database_2of2.zip将它们上传到安装机器上并使进行解压缩将得到一个名称为 database 的目录
$su oracle
$cd /u01/app/oracle $unzip linux_11gR2_database_1of2.zip -d /u01/app/oracle/database
$unzip linux_11gR2_database_2of2.zip -d /u01/app/oracle/database
注意此处的/u01/app/oracle为oracle安装文件的实际存放路径
10、 设置oracle帐号登录时环境(以下以oracle身份登录)
编辑文件 vim /home/oracle/.bash_profile添加如下行
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
保存退出后执行如下命令使以上设置立即生效
$source /home/oracle/.bash_profile
四、 开始安装
1、 执行该程序开始安装,需要执行export LANG=en_US以防止中文乱码
# chmod -R 755 /u01/app/oracle/
#su oracle $cd /u01/app/oracle/database
$export LANG=en_US
$./runInstaller
以下将进入图形安装界面
2、 填入邮箱点击下一步。也可不填但会弹出一个警告窗口无视之。
4、 选中第2项在安装完成时创建并简单配置数据库点击next。先安装软件最后在安装数据库实例
5、 以单例模式安装(若安装RAC选择下一项)点击next
6、 加入中文语言点下一步
7、 选择企业版点下一步。
8、 由于我们已设置好环境变量ORACLE_BASE和ORACLE_HOME此处无需再选择
9、 以oinstall群组身份进行安装点击next。
10、 点下一步
11、 数据库预安装检测缺乏软件包错误可忽略是因软件版本引起的只要确认安装了rhel6dvd里的软件版本即可
12等待安装完成
14、 安装完成后根据提示用root身份执行两个sh脚
安装数据库实例。按以下命令启动DBCA。
选第二个
填写orcl,点击确定后会跳出请设立监听的提示,
另开一个命令窗口
选第一个
默认或者填写orcl
填写oracle(主机名)
这里大概差了几个画面,都是Next之类的就不往上贴了
Finish
继续回来选在第三个
选择下方使用共同密码
选择utf-8
五、 启动、关闭、开机自启
1、 启动监听
端机模式输入
$ lsnrctl status
检查看看监听器是否有启动
如果没有启动可以输入
$ lsnrctl start
启动监听器
2、 启动数据库
在监听已启动的前提下输入
$ sqlplus /nolog
$ conn /as sysdba
$ startup
3、 关闭数据库
$ shutdown immediate
$ quit
$ lsnrctl stop
4、 开机自启
两种方式
修改Oracle系统配置文件/etc/oratab只有这样Oracle 自带的dbstart和
dbshut才能够发挥作用。
# vim /etc/oratab
修改最后一行为:
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
第一种直接将oracl脚本拷进/etc/init.d/中 脚本文件链接
第二种自己编写脚本
以下是自启脚本的创建注意前3行一定不能错否则服务老添加不上。
在 /etc/init.d/ 下创建文件oracle内容如下
#!/bin/sh
# chkconfig: 35 80 10
#
# 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=/u01/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:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >>
/var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >>
/var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
'stop')
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >>
/var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >>
/var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
'restart')
$0 stop
$0 start
;;
esac
命令
# vim /etc/init.d/oracle
改变文件权限
# chmod 755 /etc/init.d/oracle
添加服务
chkconfig --level 35 oracle on
需要在关机或重启机器之前停止数据库做一下操作
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle
//
关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle
//
重启
使用方法
# service oracle start
//
启动
oracle
# service oracle stop
//
关闭
oracle
# service oracle restart
//
重启
系统启动后oracle就自动起来了测试如图