Linux下安装Oracle11G详细过程
一、准备工作
Oracle 11g下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Oracle 11g 联机文档:http://www.oracle.com/pls/db112/homepage
可以下载其PDF文档参考(其中的有关Linux安装向导是最权威的安装手册)
检查的命令
内存
# grep MemTotal /proc/meminfo
交换空间
# grep SwapTotal /proc/meminfo
磁盘空间
# df -ah
准备oracle安装文件
Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SSH上传到/opt/oracle中。 解压安装文件到当前目录
[root@localhost root]#cd /opt/oracle
[root@localhost oracle]#unzip linux_11gR2_database_1of2.zip
[root@localhost oracle]#unzip linux_11gR2_database_2of2.zip
执行以上命令后,将会在/opt/oracle/下面产生名为database的目录,这就是oracle安装程序的目录。
准备oracle的安装目标目录
[root@localhost oracle]#mkdir –p /opt/oracle
安装目标目录是用户想将oracle安装到哪个位置的目录,本次我们将oracle安装到/opt/oracle目录中,以下为目录创建命令。
创建oracle相关用户和用户组
oracle不能在root帐户下进行安装,所以需要为oracle的安装专门创建一个用户,同时需要创建dba和oinstall的用户组。
[root@localhost oracle]#groupadd dba
[root@localhost oracle]#groupadd oinstall
以下命令将创建dba和oinstall用户组: 以下命令将创建oracle用户,并设置密码
[root@localhost oracle]#useradd -g oinstall -G dba oracle
(主组oinstall,其它组:dba)
[root@localhost oracle]#passwd oracle
Changing password for user oracle.
New UNIX password: [在此键入密码]
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: [在此再次键入密码]
passwd: all authentication tokens updated successfully.
以下命令将oracle安装目录(/opt/oracle)赋予oracle用户oinstall用户组
[root@localhost oracle]#chown –R oracle:oinstall /opt/oracle
检查安装ORACLE依赖的RPM软件包
oracle的安装所依赖的软件包,有一部分linux是没有安装的。这需要将这些尚未安装的软件包先安装后才能正常安装oracle。这些未安装的软件包在linux安装光盘上可以取到,我
们直接在linux的光盘上对这些软件包进行安装(也可将所需的软件包直接复制到linux本地磁盘中),首先我们需要挂载linux光盘,使用以下命令:
[root@localhost oracle]#mkdir /mnt/cdrom
[root@localhost oracle]#mount /dev/cdrom /mnt/cdrom 安装所缺少的软件包,此处只安装本linux系统所缺少的软件包。如oracle安装过程中,对软件包进行检查时,发现仍有所需软件包未安装时,可根据显示未安装软件包的名字,再次对所缺少的软件包进行安装。以下为安装命令:
[root@localhost oracle]#
rpm -ivh kernel-headers-2.6.18-164.el5.i386.rpm
rpm -ivh glibc-headers-2.5-42.i386.rpm
rpm -ivh glibc-devel-2.5-42.i386.rpm
rpm -ivh libgomp-4.4.0-6.el5.i386.rpm
rpm -ivh sysstat-7.0.2-3.el5.i386.rpm
rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm
rpm -ivh libstdc++-devel-4.1.2-46.el5.i386.rpm
rpm -ivh unixODBC-2.2.11-7.1.i386.rpm
rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
rpm -ivh gcc-4.1.2-46.el5.i386.rpm
rpm -ivh gcc-c++-4.1.2-46.el5.i386.rpm
rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
采用yum安装,如下:yum install -y compat-libstdc*yum install -y elfutils-libelf*yum install -y gcc*yum install -y glibc*yum install -y ksh*yum install -y libaio*yum install -y libgcc*yum install -y libstdc*yum install -y make*yum install -y sysstat*yum install libXp* -yyum install -y glibc-kernheaders |
检查下lib是否安装齐全:
[root@powerlong4 ~]# rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}" " compat-libstdc++-33 glibc-kernheaders glibc-headers libaio libgcc glibc-devel xorg-x11-deprecated-libs
如果缺少,就继续安装缺失的组件包。
设置linux内核参数
打开修改/etc/sysctl.conf,在最后加入以下内容
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
为使上述配置生效而不重启系统,执行如下命令
# /sbin/sysctl -p
修改 /etc/security/limits.conf
修改 /etc/security/limits.conf,加入内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
修改用户验证选项
root用户下:修改/etc/pam.d/login文件加上如下参数
session required pam_limits.so
修改系统环境变量/etc/profile
修改环境变量/etc/profile,加入以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
设置ORACLE环境变量
修改oracle用户主目录(/home/oracle)的的环境变量配置文件~/.bash_profile。使用以下命令
[root@localhost oracle]#vi /home/oracle/.bash_profile
往配置文件中加入以下内容
export ORACLE_SID=orcl (注意这个值要和下面创建的数据库实例名称相同)
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
完成后执行:
#su –oracle
#env | grep ORA查看环境变量是否完成
开启操作系统异步IO(AIO)
前面部分第2点需要安装的包已经包含了libaio-0.3.106,默认开启异步I/O。
检查在操作系统中AIO是否运行,运行命令及显示结果类似如下:
$ cat /proc/slabinfo | grep kio
kioctx 51 120 320 12 1 : tunables 54 27 8 : slabdata 10 10 0
kiocb 30 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 0
注:如数据库使用的是文件系统,且要使用异步IO,则需要修改该数据库的初始化参数
a. 设置disk_asynch_io参数值为TRUE(默认值)
b. 设置filesystemio_options参数值为ASYNCH
目录结构及空间规划
存储设置
PC Server的数据库存储一般不会使用高端存储(vg物理分区推荐为32M),所以vg物理分区(PE Size)大小为操作系统安装时默认的32M,或者256M(中低端存储vg物理分区推荐值)均可。
临时目录
/tmp:至少1GB空间,推荐5GB,用于存放Oracle软件安装时产生的日志。
交换要求
交换区(SWAP):按照操作系统推荐配置,根据内存大小,为物理内存的1-1.5倍。推荐:创建2个大小相同、且分布在不同盘(pv)上的SWAP空间。
数据库软件安装目录
Oracle软件安装目录建议设置为单独的文件系统,挂载的目录名定为/tpsys,实际安装的主目录为/tpsys/app/oracle,大小一般配置为20GB,目录的owner要求为oracle:oinstall。
数据库空间规划
Oracle数据库空间用表空间(tablespace)表示,如默认的:SYSAUX、SYSTEM、TEMP、UNDOTBS1、USERS等;表空间的组成单位是数据文件(datafile)。我们定义基于文件系统的文件来创建Oracle的数据文件,并定义回滚表空间、临时表空间和数据表空间单个数据文件的大小为10G。
/data/oracle/backup/data:备份目录
……
另外,根据实际使用需要,还可能要有用于闪回区的文件目录和对应文件系统:
开始安装过程
以上步骤设置完成后,建议重新启动系统,使所有设置生效。现在使用oracle用户登录,并转到ORACLE安装程序目录。以下的每一个步骤都oracle安装过程的一个步骤(每一个步骤对应一个安装界面)。
[root@localhost oracle] # su oracle
[oracle@localhost oracle] #cd /opt/oracle/database
运行安装命令
[oracle@localhost database] #./runInstaller
有桌面类和服务器类两个选项,此处选择服务器类(server)。
可以选择只安装数据库软件, 即不创建通常的数据库实例和数据库文件
去掉I wish to receive security updates via My Oracle Surrport选项,点击Next。
选择Install database software only,点击Next。
选择Single instance database installation,点击Next。
在Available Languages中点选English、Simplified Chinese、Traditional Chinese,点击两个框中间的>,将选中的语言加入到右边的Selected Languages中,然后点击Next。
按照实际情况,选择企业版本,点击Next。
填写oracle的软件路径和基本路径,点击Next。
选择安装日志目录,点击Next。
选择dba组,点击Next。
可以忽略,因为centos版本较高,所以11g check的时候不识别高版本lib包
安装中,这个时间比较漫长
需要等待中,大概20分钟左右
点击OK,继续
然后点击close,结束
如果只是安装了数据库软件,安装结束后可以再
配置监听(需先配置监听,然后再新建数据库)
$ORACLE_HOME/bin/netca
安装实例或数据库(先创建一开始在.bash_profile所定义好的ORCLsid同名数据库才能使用)
$ORACLE_HOME/bin/dbca
完成以上操作时,建议重新启动一次,避免某些设置未生效。重启后使用oracle用户登录,打开终端,键入以下命令运行以下命令 启动监听:
[root@localhost oracle]$lsnrctl start
启动数据库和实例:
[root@localhost oracle]$sqlplus /nolog
[root@localhost oracle]$conn /as sysdba
进入sqlplus后,执行启动数据库命令,以下命令将创建、安装并打开ORACLE实例。此时,数据库系统处于正常工作状态,可以接受用户请求。
SQL>startup
关闭用
SQL>shutdown immediate
其他须知
1、Oracle 安装检查是出现的缺少库依赖文件的提示,经查看已安装高版本的情况下可以忽略。
2、vnc桌面环境远程链接安装时,需直接用Oracle用户登陆才不会出现问题。
3、安装时图形对话框出现乱码时,可以设置环境变量:$ export LC_CTYPE=en_US 问题即可解决。
4、安装Oracle时服务器需已经安装好X-Windows桌面环境才可以执行安装程序。
oracle 限制特定ip登录
tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.123.1,192.168.123.123)
tcp.validnode_checking=yes --打开ip检查
tcp.invited_nodes=(ip,ip) 可以连通数据库的ip
这里我们让192.168.123.1,192.168.123.123 这2台ip的主机可以访问数据库。
2.重启监听
lsnrctl stop
lsnrctl start
测试一下主机192.168.123.123 能否连通数据库。
注:1 tcp.invited_nodes和tcp.excluded_nodes都存在是以tcp.invited_nodes 为主。
2.每次修改后要重启监听
3.数据库主机的ip不要忘记加入 tcp.invited_nodes中

浙公网安备 33010602011771号