CentOS 6.4上安装Oracle 11.2


将CentOS 6.4改成中文环境
/etc/sysconfig/i18n
#LANG="en_US.UTF-8"
LANG="zh_CN.UTF-8"

重启应该就可以了
-----------------------------------------------------------------------

1、修改系统的主机名与IP(这里有点玄乎,可能有差异)
(1)/etc/sysconfig/network
#表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络
NETWORKING=yes
#设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应
HOSTNAME=liuyang

(2)/etc/hosts
127.0.0.1      liuyang  localhost4 localhost4.localdomain4
::1                    localhost6 localhost6.localdomain6
192.168.1.197  liuyang

(3)/etc/sysconfig/network-scripts/ifcfg-eth0
#描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
DEVICE=eth0
#设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BOOTPROTO=static
#对应的子网广播地址
BROADCAST=192.168.1.1
#对应的网卡物理地址(一般不用修改)
HWADDR=00:07:E9:05:E8:B4
#如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPADDR=192.168.1.197
IPV6INIT=no
IPV6_AUTOCONF=no
#网卡对应的网络掩码
NETMASK=255.255.255.0
#网卡对应的网络地址
NETWORK=192.168.1.1
#网关
GATEWAY=192.168.1.1
#自己的DNS
DNS1=192.168.1.1
#系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
ONBOOT=yes
(4)/etc/resolv.conf
#自己的DNS
DNS1 192.168.1.1
#google域名服务器
DNS2 8.8.8.8

service network restart


重启生效
-----------------------------------------------------------------------
2、添加用户和组
groupadd dba
groupadd oinstall
useradd Oracle -g oinstall -G dba
passwd oracle


-----------------------------------------------------------------------
3、建立安装目录并赋予权限
mkdir -p /u01/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01


-----------------------------------------------------------------------
4、修改系统内核参数 
/etc/sysctl.conf
# Controls the maximum shared segment size, in bytes
#kernel.shmmax = 68719476736


# Controls the maximum number of shared memory segments, in pages
#kernel.shmall = 4294967296

#oracle
#系统中所允许的文件句柄最大数目
fs.file-max = 6815744
#文件系统最大异步io
fs.aio-max-nr = 1048576
#可以使用的共享内存的总量(以页为单位)缺省值就是2097152,通常不需要修改
kernel.shmall = 2097152
#最大共享内存段大小(以字节为单位),缺省为32M,对于oracle来说,该缺省值太低了,此值一般为物理内存的一半,不过大一点也没关系
kernel.shmmax = 2147483648
#整个系统共享内存段的最大数目,该参数的默认值是4kB,即 4096 ,通常不需要更改
kernel.shmmni = 4096
#每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数,这4个参数内容大小固定
kernel.sem = 250 32000 100 128
#应用程序可使用的IPv4端口范围
net.ipv4.ip_local_port_range = 9000 65500
#套接字接收缓冲区大小的缺省值(以字节为单位)
net.core.rmem_default = 4194304
#套接字接收缓冲区大小的最大值(以字节为单位)
net.core.rmem_max = 4194304
#套接字发送缓冲区大小的缺省值(以字节为单位)
net.core.wmem_default = 262144
#套接字发送缓冲区大小的最大值(以字节为单位)
net.core.wmem_max = 1048576


sysctl -p

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

5、修改资源限制
/etc/security/limits.conf
#oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

-----------------------------------------------------------------------
6、修改用户登录
/etc/pam.d/login
#64位
session required /lib64/security/pam_limits.so
session required pam_limits.so
#32位
#session required pam_limits.so

-----------------------------------------------------------------------
7、设置全局环境变量 
/etc/profile
#oracle
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
 ulimit -p 16384
 ulimit -n 65536
else
 ulimit -u 16384 -n 65536
fi
fi


-----------------------------------------------------------------------
8、设置用户环境变量
/home/oracle/.bash_profile
#oracle
umask 022
ORACLE_BASE=/u01/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=ORCL
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH NLS_LANG


-----------------------------------------------------------------------
9、复制安装包到一个目录,解压
/home/oracle/tools
chown -R oracle:oinstall /home/oracle/tools

-----------------------------------------------------------------------
10、检测需要的相关包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel
rpm -q glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat


(1)、用安装盘里面的软件包安装
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh ksh-20100621-16.el6.x86_64.rpm
rpm -ivh numactl-devel-2.0.7-3.el6.x86_64.rpm
(2)、yum在线安装
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel

(如果安装了一个高版本的软件包,在检测的时候还是会提示缺少软件包,这里只要安装了,版本高一点无所谓,忽略吧)
-----------------------------------------------------------------------

11、开始安装

(可能会用到如下命令)

#xhost +
#export DISPLAY=:1.0 (export DISPLAY=:0.0)
#xdpyinfo


如果出现安装界面中文乱码
LANG=en_US.UTF-8

执行目录中的runInstall.sh


剩下的根据提示来(就不用截图了)

-----------------------------------------------------------------------
12、网络配置的用netmgr创建数据库服务 静态注册
(1)sqlnet.ora(开始的时候可能没有这个文件,只要能连上就行了)
#SQLNET.AUTHENTICATION_SERVICES= (NONE)
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME, NIS)
ADR_BASE = /u01/oracle

(2)listener.ora(静态注册一般需要,netmgr)
SID_LIST_LISTENER =
 (SID_LIST =
(SID_DESC =
 (GLOBAL_DBNAME = ORCL)
 (ORACLE_HOME = /u01/oracle/product/11.2.0/db_1)
 (SID_NAME = ORCL)
)
 )
LISTENER =
 (DESCRIPTION_LIST =
(DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.197)(PORT = 1521))
)
 )
ADR_BASE_LISTENER = /u01/oracle


(3)tnsnames.ora
ORCL =
 (DESCRIPTION =
(ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.197)(PORT = 1521))
)
(CONNECT_DATA =
 (SERVICE_NAME = orcl)
)
 )

-----------------------------------------------------------------------
13、启动oracle
lsnrctl start
sqlplus / as sysdba (sqlplus sys/dreamsoft as sysdba)

startup mount
aletr database open

-----------------------------------------------------------------------
14、客户端连接oracle的时候可能会受到防火墙的影响(root用户下面)
关闭防火墙:
/etc/init.d/iptables stop
启动防火墙:
/etc/init.d/iptables start
永久关闭防火墙:
chkconfig --level 35 iptables off
service iptables stop
(这个问题很常见,tnsping 超时,ping没有问题,估计就是防火墙原因了)

相关内容