您的位置:首页 > 数据库 > Oracle

linux 安装oracle 11g R2 11.2.0.3

2015-09-05 11:16 776 查看
《redhat5.5 x64 静默安装oracle 11g》这篇文章所不同的是,这里是分步安装:

1.安装11g r2软件

2.创建数据库

3.安装监听

环境:

- redhat5.5 x64 (rhel5.5 x64)

- oracle 11.2.0.3 x64

一.准备工作

“#”后跟命令表示以操作系统下root用户操作;

“$”后跟命令表示以操作系统下Oracle用户操作;

下载软件包

官网下载:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htm

p10404530_112030_Linux-x86-64_1of7.zip

p10404530_112030_Linux-x86-64_2of7.zip

禁用selinux:

vi /etc/sysconfig/seliunx
SELINUX=disabled


安装包检查,用下面的语句如果出现“没有那个文件或目录”是不行的

rpm -qa | grep  binutils-2.17.50.0.6
rpm -qa | grep  compat-libstdc++-33-3.2.3
rpm -qa | grep  compat-libstdc++-33-3.2.3
rpm -qa | grep  elfutils-libelf-0.125
rpm -qa | grep  elfutils-libelf-devel-0.125
rpm -qa | grep  gcc-4.1.2
rpm -qa | grep  gcc-c++-4.1.2
rpm -qa | grep  glibc-2.5-24
rpm -qa | grep  glibc-2.5-24
rpm -qa | grep  glibc-common-2.5
rpm -qa | grep  glibc-devel-2.5
rpm -qa | grep  glibc-devel-2.5
rpm -qa | grep  glibc-headers-2.5
rpm -qa | grep  pdksh-5.2.14-36.el5
rpm -qa | grep  libaio-0.3.106
rpm -qa | grep  libaio-0.3.106
rpm -qa | grep  libaio-devel-0.3.106
rpm -qa | grep  libaio-devel-0.3.106
rpm -qa | grep  libgcc-4.1.2
rpm -qa | grep  libgcc-4.1.2
rpm -qa | grep  libstdc++-4.1.2
rpm -qa | grep  libstdc++-4.1.2
rpm -qa | grep  libstdc++-devel-4.1.2
rpm -qa | grep  make-3.81
rpm -qa | grep  sysstat-7.0.2
rpm -qa | grep  unixODBC-2.2.11
rpm -qa | grep  unixODBC-2.2.11
rpm -qa | grep  unixODBC-devel-2.2.11
rpm -qa | grep  unixODBC-devel-2.2.11


安装依赖包

需要用光盘制作yum源

配置yum源

如果有包没有安装就必须得先安装,但安装前要配置好yum源,用rpm方式安装太累。


配置yum源参考:按步骤做,也是我写的啦。

http://blog.csdn.net/jameshadoop/article/details/48054897

yum -y install make-3.81 compat-db* openmotif* libXp* binutils-2.17.50.0.6 gcc-4.1.2 libaio-0.3.106* glibc-2.5-24* compat-libstdc++-33-3.2.3* elfutils-libelf-0.125 elfutils-libelf-devel-0.125 glibc-common-2.5 glibc-devel-2.5* glibc-headers-2.5 gcc-c++-4.1.2 libaio-devel-0.3.106* libgcc-4.1.2* libstdc++-4.1.2* libstdc++-devel-4.1.2 sysstat-7.0.2 unixODBC-2.2.11* unixODBC-devel-2.2.11* ksh-20060214


安装完记得用上面的语句再检查一下啦

二.系统配置工作

创建用户和组

[root@oradg1 /]# groupadd oinstall
[root@oradg1 /]# groupadd dba
[root@oradg1 /]# useradd -g oinstall -G dba oracle
[root@oradg1 /]# passwd oracle
[root@oradg1 /]# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba) context=root:system_r:unconfined_t:SystemLow-SystemHigh


创建相应安装目录

不要忘了切换用户哦,仔细看下面命令

[root@oradg1 /]# mkdir -p /u01/app/oracle
[root@oradg1 /]# mkdir -p /u01/app/oraInventory
[root@oradg1 ~]$ chown -R oracle:oinstall /u01/app/
[root@oradg1 ~]$ chmod -R 755 /u01/app/


修改系统内核参数

[root@oradg1 ~]vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152                     //此行默认已有,确认不低于此数即可
kernel.shmmax = 536870912                   //此行默认已有,确认不低于此数即可
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 = 1048576


执行生效命令

[root@oradg1 ~]# sysctl -p


调整会话限制

[root@oradg1 ~]# vim /etc/pam.d/login 文件最后添加:
session     required    pam_limits.so


调整oracle用户的进程数与最大文件句柄数

[root@oradg1 ~]# vim /etc/security/limits.conf  文件的最后添加:
oracle         soft    nproc    10000
oracle         hard    nproc    16384
oracle         soft    nofile   52768
oracle         hard    nofile   6553
root soft nproc 2047
root hard nproc 16384
root soft nofile 1024
root hard nofile 65536


soft是最小值,hard是最大值,nofile是文件句柄,也就是这个用户能打开的文件数,nproc是进程数

增加环境变量

oracle用户变量

[root@oradg1 ~]# vim /home/oracle/.bash_profile
umask 022
export ORACLE_BASE=/u01/app
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=dg1
export LANG=en_US.UTF-8
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"


添加全局变量

[root@oradg1 ~]# vi /etc/profile

export PATH=$PATH:/u01/app/oracle/product/11.2.0/db_1/bin


上传软件

上传到/home/oracle/ 解压Oracle安装文件

# cd /home/oracle/
# unzip p10404530_112030_Linux-x86-64_1of7.zip -d /home/oracle
# unzip p10404530_112030_Linux-x86-64_2of7.zip -d /home/oracle


到这里前期的准备工作全部完成啦,建议重启下系统让各项配置生效。当然也可以不重启

三. 安装oracle

说明:

此种应答文件是安装并配置数据库,直接产生orcl数据库实例

应答文件模版在解压后的文件夹中。

/home/oracle/database/response/db_install.rsp

模版中重要的配置项含义如下

ORACLE_HOSTNAME 主机名

ORACLE_BASE oracle的基础安装目录

ORACLE_HOME oracle的安装目录

INVENTORY_LOCATION oracle日志目录

oracle.install.db.config.starterdb.globalDBName

oracle.install.db.config.starterdb.password.ALL

如果想知道每个选项的含义,请看:

http://blog.csdn.net/jameshadoop/article/details/48086933

3.1 填写安装选项

db_install.rsp文件中追加:

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oradg1
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_BASE=/u01/app
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.globalDBName=dg1
oracle.install.db.config.starterdb.SID=dg1
oracle.install.db.config.starterdb.memoryLimit=4069
oracle.install.db.config.starterdb.password.ALL=sys
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true


3.2 创建oraInst.loc

新建一个文件,没有此文件会报错

vim /home/oracle/oraInst.loc ,其内容如下:

inventory_loc=/u01/app/oraInventory
inst_group=oinstall


开放权限:

root> chown oracle:oinstall /home/oracle/oraInst.loc

root> chmod 664 /home/oracle/oraInst.loc


3.3 执行安装命令

安装过程中出现各种警告warning不要去理它,成功后会有:

Successfully Setup Software

在database目录下执行:

./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp -invPtrLoc /home/oracle/oraInst.loc -ignoreSysPrereqs


runInstaller参数说明:

a. 选项-silent表示静默安装,免安装交互,大部分安装信息也不输出

b. 选项-responseFile指定应答文件,要求用绝对路径

c. 执行./runInstaller -help可以查看安装帮助

d. 若忽略-silent选项,将会允许交互,对于应答文件中未设置的项可以再手工指定

e. 若添加-noconfig选项,可以忽略应答文件中的安装类型,而仅安装数据库软件

f.-force 允许安装到一个非空目录

g.-noconfig 表示不运行配置助手netca

3.4安装后成功后需要执行脚本

成功后显示:

*As a root user, execute the following script(s):

1. /u01/app/oracle/product/11.2.0/db_1/root.sh

Successfully Setup Software*

root权限执行安装后的配置脚本

[oracle@oradg1 /]# su - root
[root@oradg1 /]# sh /u01/app/oracle/product/11.2.0/db_1/root.sh


db_install.rsp配置已经产生了数据库实例orcl,所以不需要再配置数据库啦

四、静默建库

vim /home/oracle/database/response/dbca.rsp, 覆盖以下选项:

注意:一定要按原来的参数所在的位置修改,不然报错

RESPONSEFILE_VERSION = "11.2.0"  //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "dg1"  //全局数据库的名字=SID+主机域名
SID = "dg1"    //对应的实例名字
TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
SYSPASSWORD = "sys"   //SYS管理员密码
SYSTEMPASSWORD = "sys"  //SYSTEM管理员密码
DATAFILEDESTINATION = /u01/app/oracle/oradata //数据文件存放目录
RECOVERYAREADESTINATION=/u01/app/oracle/oradata_back //恢复数据存放目录
CHARACTERSET = "ZHS16GBK"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
TOTALMEMORY = "4069"    //oracle内存4069MB


oracle用户执行

[oracle@oradg1 /] dbca -silent -responseFile /home/oracle/database/response/dbca.rsp


五、配置监听

直接执行以下命令就可以了

netca /silent /responsefile /home/oracle/database/response/netca.rsp


六. 启动数据库

启动监听

[oracle@oradg1 /]# lsnrctl start


查看监听状态

[oracle@oradg1 /]# lsnrctl status


停止监听

[oracle@oradg1 /]# lsnrctl stop


此时安装结束,可以用scott用户测试。

附1:启动与停止oracle

由于系统重启之后,数据库服务并不是自动启动,所以要手工启动,方法:

1.linux下开启oracle

1.1启动服务

su - oracle
sqlplus /nolog
conn /as sysdba
startup

exit


1.2.启动监听

lsnrctl start

exit


2. linux下关闭oracle

关闭数据库服务

su - oracle

sqlplus /nolog

conn /as sysdba

shutdown immediate

exit


关闭监听

lsnrctl stop

exit


附2:oracle自启动配置

第一步:修改Oracle启动配置文件:/etc/oratab

(1) 以oracle用户登录

(2) 然后编辑 /etc/oratab



第二步:让Oracle运行为服务

(1) 以root身份登录

(2) 创建文件 /etc/init.d/oracle,输入下列内容

#!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.

#
# Set ORACLE_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORACLE_OWNER to the user id of the owner of the
# Oracle database in ORACLE_HOME.
ORACLE_HOME=/app/oracle/11g
ORACLE_OWNER=oracle
if [ ! -f $ORACLE_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 - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"

# 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 - $ORACLE_OWNER -c "$ORACLE_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 - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle

# 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 - $ORACLE_OWNER -c "$ORACLE_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
```
(3) 然后将这个文件赋予可执行的权限,运行


root> chmod a+x /etc/init.d/oracle

(4) 添加Oracle服务并设置在Linux启动时自动运行


chkconfig –level 35 oracle on #添加Oracle服务,并设置3、5启动级别自动启动oracle

chkconfig –list oracle #查看服务信息

“`

这样就可以用service oracle start|stop|restart来启动、停止和重启Oracle了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息