首页 > 数据库 > Oracle > 正文

Redhat 6.2 下 oracle 11g R2的安装详解

2024-08-29 13:59:08
字体:
来源:转载
供稿:网友

一、配置系统参数

在安装oracle前我们需要对用到的系统参数进行配置

1、修改系统内核参数

修改sysctl.conf文件

在文件/etc/sysctl.conf中添加以下内容:

kernel.sem = 250 32000 100 128

kernel.shmall = 2097152

kernel.shmmax = 2147483648    

kernel.shmmni = 4096

fs.aio-max-nr = 1048576

fs.file-max = 6815744

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

net.ipv4.ip_local_port_range = 9000 65500   

注意: kernel.shmmax 的值是物理内存的一半。 如果服务器是4G内存,那么他的值是2147483648

参数说明: kernel.shmmni:整个系统共享内存段的最大数目

fs.file-max:系统中所允许的文件句柄最大数目

net.core.rmem_default:套接字接收缓冲区大小的缺省值

net.core.rmem_max:套接字接收缓冲区大小的最大值

net.core.wmem_default:套接字发送缓冲区大小的缺省值

net.core.wmem_max:套接字发送缓冲区大小的最大值

net.ipv4.ip_local_port_range:应用程序可使用的IPv4端口范围

修改完成之后使内核参数生效

 sysctl –p输出:

Redhat,oracle,11g,R2

2、修改hosts文件

在/etc/hosts下添加以下的内容

192.168.100.197    oracle        oracle.localdomain    rhel6.localdomain

必须将主机名对应到主机真实ip192.168.100.197地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上。主机名可根据个人喜好进行设置。

3、创建用户和用户组

[root@rhel6 ~]# groupadd dba

[root@rhel6 ~]# groupadd oinstall

[root@rhel6 ~]# useradd -g oinstall -G dba oracle

[root@rhel6 ~]# passwd oracle

创建oracle用户时,所属组为oinstall和dba,并使用passwd oracle为oracle用户设置密码

4、新建安装目录

我们将oracle安装在home/app/oracle下,需要在home下新建目录

mkdir -p /home/app/oracle

mkdir -p /home/app/oraInventory (日志目录)

5、设置目录的所有权和权限

root@ubuntu:~# chmod -R 755 /home/app(权限)

root@ubuntu:~# chown -R oracle:oinstall /home/app/oracle (所有权)

root@ubuntu:~# chown -R oracle:oinstall /home/app/oraInventory (所有权)

6、配置oracle用户环境变量

[oracle@linux02 ~]$ su oracle (切换到oracle用户下)

[oracle@linux02 ~]$ vi .bash_profile

(.bash.profile是在/home/oracle下的是隐藏文件注意用ls –a 查看)

在其中添加以下的内容

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/home/app/oracle; export ORACLE_BASE (对应用户创建的oracle目录)

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME

ORACLE_SID=orcl; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:$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

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
umask 022

(ORACLE_SID的值可自己定,这里设为orcl,在后续安装时的ORACLE_SID也应设置为orcl:)

完成之后立刻是环境变量生效source .bash_profile

检查环境变量是否生效 env |grep ORA

Redhat,oracle,11g,R2

7、修改/etc/security/limits.conf文件

在文件【/etc/security/limits.conf】最后添加以下内容:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

8、修改/etc/pam.d/login文件

在文件【/etc/pam.d/login】最后添加以下内容:

session required pam_limits.so

9、修改/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
    umask 022
fi

10、防火墙设置

在文件【/etc/sysconfig/iptables】内增加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT

Oracle远程访问端口默认是1521,OEM端口1158,若自定义新端口,请开放相应端口。

(新开放端口的配置必须紧跟着放在端口22的配置后面)

重启防火墙:[root@oracle sysconfig]# service iptables restart,输出如下重启成功:

iptables: Flushing firewall rules: [ OK ]

iptables: Setting chains to policy ACCEPT: filter [ OK ]

iptables: Unloading modules: [ OK ]

iptables: Applying firewall rules: [ OK ]

二、oracle软件安装

1、启动oracle安装

找到解压包后database里runInstaller选择在终端中打开,待安装文件检查结束后出现图形界面安装:

Redhat,oracle,11g,R2

2、配置安全更新

取消勾选,不接收安全更新,然后点击【next】,弹出提示窗口,选择【yes】:

Redhat,oracle,11g,R2

Redhat,oracle,11g,R2

3、选择安装选项

提供了3个安装选项:

创建和配置数据库

仅安装数据库软件

升级现有数据库

这里我们选择第一个【创建和配置数据库】,然后点击【next】:

Redhat,oracle,11g,R2

4、选择系统类

桌面类:如果要在笔记本或桌面类系统中安装,则选择此选项,此选项包括启动数据库并允许采用最低配置。

服务器类:如果要在服务器类系统中进行安装(如在生产数据中心内部署Oracle时使用的内容),则选择此选项,此选项允许使用更多高级配置选项。

为了能使用更多高级配置选项,我们选择【服务器类】,然后点击【Next】:

Redhat,oracle,11g,R2

5、节点选择

单实例数据库安装

Real Application Clusters数据库安装

选择【单实例数据库安装】,然后点击【Next】:

Redhat,oracle,11g,R2

6、选择安装类型

包含2个选项:

典型安装:使用基本配置执行完整的Oracle Database安装

高级安装:可以选择高级选项,例如:为SYS、SYSMAN、SYSTEM和DBSNMP账户使用不同口令,选择数据库字符集,产品语言,自动备份,定制安装及备用存储选项(例如自动存储管理)。

选择【高级安装】,然后点击【Next】:

Redhat,oracle,11g,R2

7、选择产品语言

默认已添加了【English】,在左侧语言列表中找到简体中文【Simplified Chinese】这样的话我们可以在window系统中远程访问,并添加到右侧,然后点击【Next】:

Redhat,oracle,11g,R2

8、选择数据库版本

包含3个选项:

企业版:具有可伸缩性、高性能、高可用性和安全功能的自行管理的数据库,能够满足大多数高标准的关键任务应用程序的需求。

标准版:标准版是寻求低成本解决方案的工作组、部门和中小企业的理想选择。

标准版1:标准版1是寻求低成本解决方案的工作组、部门和中小企业的理想选择。

选择【企业版】,然后点击【Next】:

Redhat,oracle,11g,R2

9、指定安装目录

设置Oracle基目录为新建的目录:/home/app/oracle,则软件位置会自动为:/home/app/oracle/product/11.2.0/dbhome_1,然后点击【Next】:

Redhat,oracle,11g,R2

10、创建产品清单

设置Oracle清单目录新建的目录:/home/app/ oraInventory,选择组"oinstall",然后点击【Next】:

Redhat,oracle,11g,R2

 

11、选择配置类型

包含2个选项:

一般用途/事务处理:为一般用途或高事务处理量应用而设计的启动数据库。

数据仓库:为数据仓库应用程序而优化的启动数据库。

这里我选择【一般用途/事务处理】,然后点击【Next】:

Redhat,oracle,11g,R2

12、制定数据库标识符

指定Oracel全局数据库名和服务标识符为:orcl(在前面提到),然后点击【Next】:

Redhat,oracle,11g,R2

13、制定配置选项

在【内存】页中勾选【启用自动内存管理】,在【字符集】页中选择【使用Unicode】,然后点击【Next】:

Redhat,oracle,11g,R2

Redhat,oracle,11g,R2

14、制定管理选项

选择【使用Database Control管理数据库】,然后点击【Next】:

Redhat,oracle,11g,R2

15、指定数据库存储选项

选择【文件系统】,并设置路径为:/home/app/oracle/oradata,然后点击【Next】:

Redhat,oracle,11g,R2

16、指定恢复选项

选择【不启用自动备份】,然后点击【Next】:

Redhat,oracle,11g,R2

17、指定方案口令

这里我选择【对所有账户使用相同口令】,然后输入密码(rootadmin),当然你也可以为不同用户设置不同密码。然后点击【Next】:

Redhat,oracle,11g,R2

Redhat,oracle,11g,R2

18、特权操作系统组

设置数据库管理员组为【dba】,数据库操作者组为【oinstall】。然后点击【Next】:

Redhat,oracle,11g,R2

19、执行先决条件检查

若提示有程序包不存在,我们可以通过yum进行安装,然后点击【Next】:

Redhat,oracle,11g,R2

Package 包直接yum install 安装 pdksh从网上down rpm包

20、概要

查看安装概要,若无问题,则可点击【Finish】结束配置,开始进行安装:

Redhat,oracle,11g,R2

21、软件安装及配置数据库

Redhat,oracle,11g,R2

Redhat,oracle,11g,R2

Redhat,oracle,11g,R2

22、运行配置脚本

软件及数据库配置完成后,需要运行配置脚本:

Redhat,oracle,11g,R2

打开命令终端,切换到root用户,并执行脚本:

[root@oracle tmp]# /home/app/oraInventory/orainstRoot.sh

Redhat,oracle,11g,R2

[root@oracle ~]# /home/app/oracle/product/11.2.0/dbhome_1/root.sh

Redhat,oracle,11g,R2

/usr/local/bin

Redhat,oracle,11g,R2

执行完成后,切换到图形安装界面,点击【OK】

Redhat,oracle,11g,R2

这样oracle数据库就安装完成了

三、配置优化与测试(root)

1、修改/etc/oratab文件

root@oracle ~]# vi /etc/oratab

orcl:/home/app/oracle/product/11.2.0/dbhome_1:Y (将N改为Y)

2、修改dbstart和dbshut文件

进入dbstart和dbshut所在的bin目录

root@oracle ~]# cd /home/app/oracle/product/11.2.0/dbhome_1/bin/

[root@oracle bin]# vi dbstart

ORACLE_HOME_LISTNER=$ORACLE_HOME (将$1改为$ORACLE_HOME)

[root@oracle bin]# vi dbshut

ORACLE_HOME_LISTNER=$ORACLE_HOME (将$1改为$ORACLE_HOME)

3、建立启动脚本

在/etc/rc.d/init.d/目录下新建一个oracle文件

在其中添加以下内容:

#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case “$1” in
start)
echo “-----startup oracle-----“ >> /var/log/oraclelog
su oracle –c “$ORACLE_HOME/bin/dbstart”
su oracle –c “$ORACLE_HOME/bin/emctl start dbconsole”
touch /var/lock/subsys/oracle
echo “-----startup oracle successful-----“ >> /var/log/oraclelog
echo “OK”
;;
stop)
echo “-----shutdwn oracle-----“ >> /var/log/oraclelog
su oracle –c “$ORACLE_HOME/bin/dbshut”
su oracle –c “$ORACLE_HOME/bin/emctl stop dbconsole”
rm –f /var/lock/subsys/oracle
echo “-----shutdown oracle successful-----“ >> /var/log/oraclelog
echo “OK”
;;
*)
echo “Usage: ‘basename $0' start|stop”
exit 1
esac
exit 0

4、设置脚本权限

[root@oracle init.d]# chmod 755 oracle

5、建立oracle服务

[root@oracle ~]# chkconfig --add oracle

[root@oracle ~]# chkconfig oracle on

6、测试连接

[oracle@oracle ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jan 5 16:49:24 2016

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

7、启动oem客户端

[oracle@oracle ~]$ emctl start dbconsole

Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0

Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.

https://oracle:1158/em/console/aboutApplication

- An instance of Oracle Enterprise Manager 11g Database Control is already running.

8、登录Oracle企业管理器(OEM)

打开系统的FireFox浏览器,并输入OEM的URL:https://oracle:1158/em,远程访问的话输入的URL:https://192.168.100.197:1158/em输入sys用户和密码(rootadmin),以SYSDBA身份登录,登录成功的页面如下:

Redhat,oracle,11g,R2

四、安装过程中常见的问题

yum源的配置

Redhat自身的源存在一些问题,我安装过程中使用的是163的源。

1、 确认RedHat的版本
cat /etc/redhat-release或者uname -m
系统:rhel-server-6.2-i386

2、 找到对应的redhat6.2的源rpm包

把下面4个rpm文件wget下载下来备用

http://mirrors.163.com/centos/6/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm

 

http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.2.29-69.el6.centos.noarch.rpm

http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm

http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm

3、 卸载自带的yum

rpm -aq|grep yum|xargs rpm -e --nodeps

4、 按照下面的顺序安装rpm包

rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.i686.rpm
rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

(最后两个安装包要放在一起同时安装,否则会提示相互依赖,安装失败)

5、 添加163的yum源

# cd /etc/yum.repos.d/

# wget  http://mirrors.163.com/.help/CentOS6-Base-163.repo

# vi CentOS6-Base-163.repo

编辑文件,把文件中的$releasever全部替换成redhat的版本号也就是6最后保存。

6、 导入key

# rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

7、 清理yum缓存

# yum clean all

# yum makecache     #将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度

# yum install vim*    #测试yum是否可用

至此,Redhat6可以使用CentOS的yum源在线安装软件了!

需要安装的依赖包

在安装oracle的过程中会check,我们发现会少一些依赖包我们可以通过yum install进行安装

compat-libstdc++-33-3.2.3-69.el6.i686

elfutils-libelf-devel-0.161-3.el6.i686

  gcc-c++-4.4.7-16.el6.i686

libstdc++-devel-4.4.7-16.el6.i686

 libaio-devel-0.3.107-10.el6.i686

unixODBC-2.2.14-14.el6.i686

unixODBC-devel-2.2.14-14.el6.i686

pdksh-5.2.14

Swap 空间不够问题

1、用dd指令建了一个swapfile;

[root@oracle image]# dd if=/dev/zero of=/tmp/swap bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 32.223 s, 33.3 MB/s

2、用mkswap将swapfile格式化为swap文件格式

[root@oracle image]# mkswap /tmp/swap

mkswap: /tmp/swap: warning: don't erase bootbits sectors

on whole disk. Use -f to force.

Setting up swapspace version 1, size = 1048572 KiB

no label, UUID=4ae3030b-bedc-45c5-84e5-6193af42e7a3

3、用swapon启动该文件

[root@oracle image]# swapon /tmp/swap

[root@oracle image]# free -m

total used free shared buffers cached

Mem: 2022 1967 54 0 29 1680

-/+ buffers/cache: 258 1764

Swap: 3039 0 3039

bash:sqlplus:command not found 的问题

1、 检查.base_profile中PATH是否配置正确

2、 切换到root给sqlplus建立一个索引

root登陆之后切换到oracle用户上,输入 
su oracle

第二步:连接 
在oracle用户下,输入 
sqlplus /nolog

第三步:使用管理员权限 
输入 
connect /as sysdba

第四步:启动/关闭服务 
输入 
startup

关闭

Shutdown

监听器

lsnrctl start 启动

lsnrctl stop 关闭

lsnrctl status 状态
[root@oracle ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin 
Oralce数据库的启动

 

注:相关教程知识阅读请移步到oracle教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表