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* -y
 
yum 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无法使用命令/usr/bin/xdpyinfo自动检查显示器颜色
用root用户
[root@dev ~]# xhost +
就可以了
在Linux上安装Oracle时,经常会报以下错误:无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了DISPLAY 变量。 可以使用下述命令解决这个问题:
1.在root下执行
#xdpyinfo 记录下name of display:后的字符串,如 127.0.0.1:1.0
2. #xhost +
返回信息为: access control disabled,clients can connect from any host
3.切换到Oracle用户:
#su - oracle
4.在Oracle用户下执行命令:
export DISPLAY=:1.0
5.在Oracle下执行xdpyinfo命令,如果能正常显示,说明设置成功
6、也可以执行 vncserver 根据:后面的提示,然后执行 export DISPLAY=(vncserver 命令提示中:后面的部分)
7、也可以用简单的Xmanager 软件来获取远程桌面的信息。

oracle 限制特定ip登录
1.配置sqlnet.ora文件 ($ORACLE_HOME/network/admin)目录下面 添加

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中

posted @ 2016-01-28 16:40  夜岚の馨语  阅读(625)  评论(0)    收藏  举报