Oracle的LINUX安装

准备工作:在安装oralce之前应该了解一下oracle所需要的最低的安装要求
我是在VM下安装试验的REDHAT企业版5.0的内存分为2G、硬盘为30G(swap4G、/为25G、boot200m)。VM机子的IP192.168.111.111 本地机子为192.168.111.1。以及需要X服务。
1 操作系统版本

Oracle的LINUX安装_安装


2 挂载光驱
Oracle的LINUX安装_Oracle_02
3 yum仓库创建

 Oracle的LINUX安装_LINUX  Oracle的LINUX安_03

Oracle的LINUX安装_Oracle_04

                         

Oracle的LINUX安装_Oracle_05



4 查看硬盘、内存等信息

Oracle的LINUX安装_Oracle_06 Oracle的LINUX安装_安装_07

5网络配置

Oracle的LINUX安装_LINUX  Oracle的LINUX安_08
 

Oracle的LINUX安装_LINUX  Oracle的LINUX安_09

vi /etc/hosts 

Oracle的LINUX安装_Oracle_10


Oracle的LINUX安装_Oracle_11

6 安装所需要的软件包:(为官方所提供)
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125 在
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11
另外自己还安装了
libXp-1.0.0-8.i386.rpm pdksh.i386 0:5.2.14-36.el5
安装前可以用rpm –qa 去查看一下比如

Oracle的LINUX安装_安装_12



7 建立用户和组

Oracle的LINUX安装_Oracle_13



这里面少了两个组
Groupadd oper
Groupadd asmoper
chown -R grid:oinstall /u01
/usr/sbin/groupadd -g 500 oinstall
/usr/sbin/groupadd -g 501 dba
/usr/sbin/groupadd -g 502 oper
/usr/sbin/groupadd -g 600 asmadmin
/usr/sbin/groupadd -g 601 asmoper
/usr/sbin/groupadd -g 602 asmdba
/usr/sbin/useradd -g oinstall -G dba,asmdba,oper oracle
/usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid

附一个用户给一个组 也可以用gpasswd –a 已知用户名 已知用户组

二 、配置内核及环境变量
1修改系统内核参数编辑vi /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 = 1048586
然后再输入sysctl –p 执行一下

Oracle的LINUX安装_LINUX  Oracle的LINUX安_14



2设定用户限制再vi /etc/security/limits.conf 配置文件中添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
3用户界面安全设置再 vi /etc/pam.d/login 配置文件中添加:

[root@node1 opt]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
配置文件 vi /etc/csh.login 中添加:
if ( $USER == "oracle" || $USER == "grid" ) then
limit maxproc 16384
limit descriptors 65536
endif
4再 vi /etc/profile配置文件中添加:
如果只安装数据库添加下面这一个
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
如果安装GRID请添加下面这一个

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5 建立安装所需要的目录

Oracle的LINUX安装_安装_15



mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01




6 配置grid 、oracle 用户的变量
1) 在 /home/grid 中编辑 .bash_profile 配置文件中添加:

Oracle的LINUX安装_Oracle_16





export ORACLE_SID=+ASM
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid
export ORACLE_TERM=xterm
export TMP=/tmp
export TMPDIR=$TMP
PATH=$PATH:$HOME/bin
export PATH=/usr/sbin:$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



ORACLE_SID=+ASM; export ORACLE_SID
ORACLE_BASE=/u01/app; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/grid; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
PATH=$PATH:$HOME/bin
PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

Oracle的LINUX安装_Oracle_17
2)配置oracle 用户环境变量:
[root@node1 /]# vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ora11g
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
7 安装 ASM 用uanme –rm 查看版本号

Oracle的LINUX安装_Oracle_18



确定所要要的ASMLib2.0三个RPM 程序包
oracleasm-support-2.1.7-1.el5.i386.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm
oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm
注:在你进到网站下载 的时候你会发现出来了好多

针对内核 2.6.18-8.el5 的驱动程序

Oracle的LINUX安装_安装_19



* oracleasm-2.6.18-8.el5xen-2.0.4-1.el5.i686.rpm
* oracleasm-2.6.18-8.el5PAE-2.0.4-1.el5.i686.rpm
* oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm

仅选择其中之一。在本例中,还提供了针对 Xen(虚拟机体系结构)、PAE(针对 RAM 超过 4GB 的 32 位系统)和“标准”32 位内核的驱动程序。
oracleasmlib-2.0 — ASM 库
oracleasm-support-2.0 — 用于管理 ASMLib 的实用程序
oracleasm — 用于 ASM 库的内核模块,特定于每个内核
安装过程。所以你应该知道下哪一种了吗,因为我用的是VM平台所以我下的是

Oracle的LINUX安装_安装_20



这里出现了一个报错信息
kernel-xen=2.6.18-164.el5isneededbyracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686
提示依赖关系 。解决方法:

Oracle的LINUX安装_安装_21



再去:

Oracle的LINUX安装_LINUX  Oracle的LINUX安_22

 

Oracle的LINUX安装_LINUX  Oracle的LINUX安_23



成功了哈哈

8配置ASM:
使用 ASMLib 之前,必须运行配置脚本来准备驱动程序。以 root 用户身份运行以下命令,并响应如下示例中所显示的提示。
# /etc/init.d/oracleasm configure

Oracle的LINUX安装_Oracle_24



Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.


Default user to own the driver interface []: oracle 选择默认用户
Default group to own the driver interface []: dba 选择默认组
Start Oracle ASM library driver on boot (y/n) [n]: y 设置系统启动时一起启动asm驱动
Scan for Oracle ASM disks on boot (y/n) [y]: y 启动时进行扫描
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]

[root@dbs ~]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]

以上操作将加载oracleasm.o驱动,并且mount上ASM文件系统,通过以下命令来手工加载ASMLib
# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration [ OK ]
Loading module "oracleasm" [ OK ]
Mounting ASMlib driver filesystem [ OK ]
Scanning system for ASM disks [ OK ]

Oracle的LINUX安装_LINUX  Oracle的LINUX安_25
重新启动系统,确认ASMLib已经可以自动加载
#dmesg | grep oracleasm
ASM: oracleasmfs mounted with options: <defaults>


9做磁盘:我用的是VM里面新加了四块盘也就是sdb sdc sdd sde

Oracle的LINUX安装_LINUX  Oracle的LINUX安_26



化分区 fdisk /dev/sdb
n
p
1
+5G
W
以此分完就好

配置磁盘:过以 root 用户身份运行以下命令来标记 ASMLib 使用的磁盘.
命令:
/etc/init.d/oracleasm createdisk DISK_NAME device_name
例如:
创建ASM磁盘
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
Marking disk "/dev/sdb" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
Marking disk "/dev/sdc" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
Marking disk "/dev/sdd" as an ASM disk [ OK ]
#/etc/init.d/oracleasm createdisk VOL4 /dev/sde1
Marking disk "/dev/sde" as an ASM disk [ OK ]





Mounting ASMlib driver filesystem: [ OK ]
Scanning system for ASM disks: [ OK ]
接下来,告诉 ASM 驱动程序您要使用的磁盘。Oracle 建议每个磁盘仅包含一个分区。有关创建分区的示例,请参见本部分起始处的“对磁盘进行分区”。
首先查看了asm的状态,如下,状态正常。
[root@node1 /]# /etc/init.d/oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes

Oracle的LINUX安装_Oracle_27




提示:DISK_NAME 应由大写字母组成。
Ex:
# /etc/init.d/oracleasm createdisk VOL1 /dev/sda1
Marking disk "/dev/sdb1" as an ASM disk: [ OK ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb1
Marking disk "/dev/sdb1" as an ASM disk: [ OK ]
Verify that ASMLib has marked the disks:
# /etc/init.d/oracleasm listdisks
VOL1
VOL2



第一步:用root登陆linux,启动vnc服务;
第二步:根据vnc起来的端口,设置export DISPLAY=localhost:1(1表示vnc在第一个tty上启动的),vnc的启动信息见附件1;

Oracle的LINUX安装_Oracle_28


第三步:执行xhost +,并且提示“access control disabled, clients can connect from any host”才正确。

xhost local:oracle non-network local connections being added to access control list
Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

解决办法
1. 退出oracle,用root登陆;
2. root命令行下输入:
1. [root@localhost ~]# xhost local:oracle non-network local connections being added to access control list
屏幕提示
xhost: bad hostname "non-network"
xhost: bad hostname"local"

xhost: bad hostname "connetcions"
xhost: bad hostname "being"
xhost: bad hostname "added"
xhost: bad hostname "access"
xhost: bad hostname "control"
xhost: bad hostname "list"

3. 再试试su oracle
[root@localhost ~]# su – oracle

安装oracle Grid 时会跳出来以下对话框要安上面写的步骤去操作。
Cd /u01/app/oraInventory 用sh orainstRoot.sh 执行该脚本

Cd /u01/app/grid/product/11.2.0/grid 用sh root.sh 执行该脚本

Oracle的LINUX安装_安装_29