RHEL5U7 64位下安装oracle11gR2

时间:2022-06-13 07:46:31

注意事项:

a,   下载oracle软件不能用下载工具,如迅雷等。而是直接下载,否则会导致安装文件不完整会出现下面错误,如果以前安装过oracle也会出现这个问题。

RHEL5U7 64位下安装oracle11gR2

b,   Oracle11gR2有两个安装包,下载完后需要解压到同一个目录下面,否则会报下面的错误。

RHEL5U7 64位下安装oracle11gR2

安装中出现的问题

1、运行./runInstaller出现中文汉字为方框

/usr/lib/jvm/java-1.6.0/jre/lib/目录下建以下目录fonts/fallbackcopy一种中文字体到些目录,并命名为zysong.ttf,安装时加-jreLoc参数

即可解决中文方框问题。

 

./runInstaller -jreLoc /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre

 

2、运行netca时中文字体出现方框

拷贝zysong.ttf$ORACLE_HOME/jdk/jre/lib/fonts/fallback目录下解决乱码。

3、利用dbca创建数据库时提示ORA-12532: TNS:invalid argument错误代码,是iptables没有开放1521端口,在iptables中添加以下条目-A INPUT -p tcp --dport 1521 -j ACCEPT解决问题。

4、运行sqlplus时中文为?错误

设置相应的环境变量NLS_LANG

exportNLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

并将写入oracle目录下的.bash_profile文件中。

安装

1、安装rhel5.7操作系统,自定义安装,把所有开发工具安装上,如:perlgcc等的包安装上去。

2、设置rhel5ip地址为固定ip

方法有几种,你可以选一种

1)修改接口配置文件

[root@ dba~]# vi/etc/sysconfig/network-scripts/ifcfg-eth0

# Advanced Micro Devices [AMD] 79c970[PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.2.255

HWADDR=00:0C:29:D0:EC:04

IPADDR=192.168.2.60

IPV6INIT=yes

IPV6_AUTOCONF=yes

NETMASK=255.255.255.0

NETWORK=192.168.2.0

ONBOOT=yes

2)调用图形界面修改

[root@dba ~]#neat-tui

 

RHEL5U7 64位下安装oracle11gR2

3、设置rhel5.7的主机名和对应关系

[root@dba ~]#vi /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=dba.test.com

GATEWAY=192.168.2.1      

[root@dba ~]# vi /etc/hosts

192.18.200.10 dba.test.com

 

 

4、查看rhel5安装oracle11g所需要的安装软件包

执行下面的脚本,没有安装的包会列出来

#!/bin/bash

for   i in binutils compat-libstdc++-33 \

        elfutils-libelf elfutils-libelf-devel\

       elfutils-libelf-devel-static gcc \

        gcc-c++- glibc glibc-common \

        glibc-devel glibc-header skernel-headers \

        ksh libaio libaio-devel \

        libgcc libgomp libstdc++- \

        libstdc++-devel make-3.81 sysstat

do

rpm -q $i&>/dev/null || F="$F $i"

done ;echo $F;unset F

 

oracle官方列出的所有需要安装的软件列表

l binutils-2.17.50.0.6

l compat-libstdc++-33-3.2.3

l elfutils-libelf-0.125

l elfutils-libelf-devel-0.125

l elfutils-libelf-devel-static-0.125

l gcc-4.1.2

l gcc-c++-4.1.2

l glibc-2.5-24

l glibc-common-2.5

l glibc-devel-2.5

l glibc-headers-2.5

l kernel-headers-2.6.18

l ksh-20060214

l libaio-0.3.106

l libaio-devel-0.3.106

l libgcc-4.1.2

l libgomp-4.1.2

l libstdc++-4.1.2

l libstdc++-devel-4.1.2

l make-3.81

l sysstat-7.0.2

使用rpm –qa |grep *检查那些软件包

5、需要安装下面的软件包(挂载5.7光盘到/mnt目录并配置YUM,包在光盘Server目录下)

导入KEY

[root@dbaServer]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-*

安装kernel-xen

       [root@dba ~]# yum install kernel-xen -y注意(必须用xen内核启动)

安装软件

l [root@oracle11g Server]# yum install libaio-devel -y

l [root@dba Server]# yum install -y sysstat

  安装unixODBC软件包

l [root@dba Server]# yum -y install unixODBC

l [root@dba Server]# yum -y installunixODBC-devel

l [root@dba Server]# yum -y install unixODBC-kde

 

安装软件包

l [root@dba Server]# yum -y install libXp

l [root@dba Server]# yum -y install openmotif

l [root@dba Server]# yum -y install compat-db

 

6、环境配置

l [root@oracle Server]# groupadd -g  500 oinstall

l [root@oracle Server]# groupadd -g  501 dba

l [root@oracle Server]# usreadd -u  500 -g  oinstall -G dba –m oracle

l [root@oracle Server]# passwd oracle

l Changing password for user oracle.

l New UNIX password:

l BAD PASSWORD: it is based on a dictionaryword

l Retype new UNIX password:

l passwd: all authentication tokens updatedsuccessfully.

l [root@oracle Server]# mkdir -p /u01/oracle

l [root@oracle Server]# chown -Roracle:oinstall /u01

l [root@oracle Server]# chmod -R 775 /oracle

l [root@oracle Server]# mkdir /orachivelog

l [root@oracle Server]# chown -Roracle:oinstall /orachivelog

l [root@oracle Server]# chmod -R 775/orachivelog

l [root@oracle Server]# mkdir -p /oradata

l [root@oracle Server]# chown -R oracle:oinstall/oradata

l [root@oracle Server]# chmod -R 775 /oradata

7、查看oracle用户的id

l [root@dba Server]# id oracle

l uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

l [root@dba]# id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)

l [root@dba]#

 

8、检查磁盘空间和内存、swap是否满足安装要求

RHEL5U7 64位下安装oracle11gR2#df  -h /dev/shm

#uname -m

 

RHEL5U7 64位下安装oracle11gR2

RHEL5U7 64位下安装oracle11gR2

 

9、系统参数设置

 修改文件的说明

l /etc/sysctl.conf   (修改内核参数)

l /etc/security/limits.conf   (shelloracle用户的限制)

l /etc/profile  (系统相关的环境变量)

l /opt/oracle/.bash_profile (oracle用户相关的环境变量)

 

1)、配置系统内核参数

在这个文件里添加下面/etc/pam.d/login

l session required /lib64/security/pam_limits.so

l session required pam_limits.so

 

 

2)、在/etc/sysctl.conf文件内添加

l [root@oracle11g haibin]# vi /etc/sysctl.conf

        

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 2147483648

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

 

 

也可能通过下面手工修改参数:

sysctl –a|grep sem|sed ‘s/32/100/2/’ >> /etc/sysctl.conf    #sysctl文件内容中的第232替换为100

sysctl –a|grep ip_local|sed –e ‘s/32768/9000’ –e ‘s/61000/65500’ >> /etc/sysctl.conf #-e表示后面跟的产命令,-e对多个命令操作

sysctl –a|grep rmem_d|sed ‘s/112640/262144’ >> /etc/sysctl.conf

sysctl –a|grep rmem_ma|sed ‘s/131071/4194304’ >> /etc/sysctl.conf

sysctl –a|grep wmem_ma|sed ‘s/131071/1048576’ >> /etc/sysctl.conf

sysctl –a|grep wmem_de|sed ‘s/112640/262144’ >> /etc/sysctl.conf

sysctl –a|grep file_m|sed ‘s/101146/ 6815744’ >> /etc/sysctl.conf

其它参数设置同上

 

 

l 修改 /etc/sysctl.conf内核配置文件,增加/修改以下项目,如没有自己添加

l kernel.shmall = 2097152 #内存页的数量,增加内存一般修改这个值

l kernel.shmmax = 2147483648 #应用能够向kernel审请的最大内存段2G大小设置  >=  oracle内存(sga_target

l kernel.shmmni = 4096 #一个内存页的大小 默认4 ,一般不调这个值

l kernel.sem = 250 32000 100 128

kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI

      SEMMSL Maximum number of semaphores per set

             每个信号对象集的最大信号对象数;

      SEMMNS Maximum number of semaphores system-wide

             系统范围内最大信号对象数;

      SEMOPM

             每个信号对象支持的最大操作数;

      SEMMNI Maximum number of semaphore identifiers

             系统范围内最大信号对象集数。

其中 SEMMNS的值等于 SEMMSL*SEMMNI

 

l fs.file-max = 6815744#系统中所允许的文件句柄最大数目。

l net.ipv4.ip_local_port_range = 9000 65500 #应用程序可使用的IPv4端口范围。

l net.core.rmem_default = 262144 #套接字接收缓冲区大小的缺省值

l net.core.rmem_max = 4194304 #套接字接收缓冲区大小的最大值

l net.core.wmem_default = 262144 #套接字发送缓冲区大小的缺省值

l net.core.wmem_max = 1048576 #套接字发送缓冲区大小的最大值

 

 

(3)/etc/security/limits.conf文件内添加下面内容

[root@oracle11g ]# vi /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

 

 

(4)oracle11g环境变量配置

vi ~/bash_profile文件里添加

 

l [root@oracle oracle]# vi .bash_profile

# .bash_profile 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

       . ~/.bashrc

fi

# User specific environment and startup programs

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0 

export ORACLE_SID=ora11g

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export ORACLE_HOME_LISTNER=$ORACLE_HOME

 

export ORACLE_BASE=/u01/oracleBASE目录是所有的ORACLE产品的基本目录

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0 oracle数据库产品安装目录

export ORACLE_SID=ora10g   #小于等于8,字母开头 由字母下划线和数字组成

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #库文件的位置,可以不指定但是会报错

 

(5)root用户下添加系统变量的参数

l 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

fi

      (6)修改默认kernel-xen启动

        vi /boot/grup/grup.com

             

 

9reboot

 

10、安装oracle软件

 

      注销root使用oracle用户登录X-window执行安装命令 runInstaller

      如果安装包再光盘介质上挂载后要离开光盘挂在位置绝对路径执行

      因为安装程序会创建临时文件光盘是只读的不能创建临时文件

      

      若当前桌面是rootsu - oracle切换用户需要在切换前root执行 # xhost + 否则oracle用户不能连接root的桌面

 

执行/database/runInstaller

 

其它:

 

Oracle安装好后再修改一些参数,必免以后出错:

1,修改数据库支持最大文件个数

Alter system setdb_files=1500 scope=spfile;

2,修改数据库支持的processes数据(session也会自动调整)

Alter system setprocesses=1500 scope=spfile;

3, 修改写日志进程数量,根据cpu数量而定,一般设置为cpu的一半

      Altersystem set db_writer_processes=6 scope=spfile;

 

 

 

 

优化数据库功能:

1,修改$ORACLE_HOME/sqlplus/admin/glogin.sql

添加setsqlprompt_user@'_connect_identifier-> ,sqlplus启动的时候会读取这个文件,这里是为了方便起见。

 

2, 查看密钥有效期

SELECT * FROM  dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME PASSWORD';

如果上面执行结果显示为多少天,则执行下面sql调整为无限制

ALTER PROFILE DEFAULT LIMIT  PASSWORD_LIFE_TIME UNLIMITED;

3,关闭数据库多次登录失败锁定帐户的功能,Oracle11g默认配置下,如果单个帐户连续10次登录失败,系统将会锁定帐户,只能通过对帐户解锁。

SYS#ora11g> SELECT LIMIT FROM dba_profiles WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';

LIMIT

--------------------------------------------------------------------------------

10

修改为无限制:

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

 

3,Oracle11g中,创建数据库时默认会打开审计功能,默认的audit会记录session登录数据库的信息、数据库关闭/启动和用户授权等信息。大量审计记录有可能写满系统表空间,导致数据库异常。

SYS#ora11g> show parameter audit_trail;

NAME                                TYPE                  VALUE

---------------------------------------------------------- ------------------------------

audit_trail                         string                DB

清除审请表数据:

SYS#ora11g> truncate table sys.aud$;

Table truncated.

关闭审计功能:

SYS#ora11g> alter system SETaudit_trail=NONE scope=spfile;

System alterd

#需要重启ORACLE生效

4,设置open_cursors,session_cached_cursors

SYS#ora11g>alter system set open_cursors=5000;

System altered.

SYS#ora11g>ALTER system SET session_cached_cursors=100 scope=spfile;

System altered.

5,开启force loggingsupplemental log data

SYS@ora11g>SELECT FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN FROM v$database;

FORCE_SUPPLEMENTAL_LOG

----------------------

NO    NO

SYS@ora11g>ALTER DATABASE force logging;

Databasealtered.

  SYS#ora11g>ALTER DATABASE ADD supplemental log DATA;

Databasealtered.

 

 

参考来自Oracle官档:http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm


===================================================================

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任! 谢谢合作!

QQ: 164798858@qq.com
Sina: weibo.com/kaijunfeng
Yahoo: fffygapl@yahoo.com.cn