Page Actions
Wiki Actions
User Actions
Submit This Story

在 RHEL 4.8 x64里安装Oracle 10g

单Node Oracle, 很无聊. 下次试试Oracle 11g和新点的OS, 甚至Gentoo…

OS基础环境环境

OS和DB版本
  • RHEL 4.8 x86_64
  • Oracle 10gR2
  • 内核信息
uname -a
Linux localhost.localdomain 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:33:05 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
</bash>
 
== Host ==
设置机器名
testrac1:
<code bash>
sed -i 's/\(^HOSTNAME=\).*/\1core2oo_oracle.becomm.com/g' /etc/sysconfig/network
/bin/hostname core2oo_oracle.becomm.com
/sbin/service syslog restart

/etc/hosts里也作相应设置

127.0.0.1 core2oo_oracle.becomm.com localhost
软件包

Other than packages included in default RHEL 4.8 x86-64 installation these packages is need:

rpm -Uvh setarch-1*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh make-3*
rpm -Uvh glibc-2*
rpm -Uvh glibc-headers-2.3*
rpm -Uvh glibc-devel-2.3*
rpm -Uvh kernel-devel-2.6*
rpm -Uvh glibc-kernheaders-2.4*
rpm -Uvh compat-glibc-headers-2.3*
rpm -Uvh openmotif-2*
rpm -Uvh compat-db-4*
rpm -Uvh gcc-3*
rpm -Uvh rsh-*
rpm -Uvh compat-gcc-32-3*
rpm -Uvh compat-gcc-32-c++-3*
rpm -Uvh openmotif21*
rpm -Uvh sysstat*
rpm -Uvh libaio-0.3.*
rpm -Uvh libaio-devel*
rpm -Uvh libaio-0.3.105-2.x86_64.rpm
修改内核参数

修改 /etc/sysctl.conf, 加入下列参数:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
#fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
#net.core.rmem_default=262144
#net.core.rmem_max=262144
#net.core.wmem_default=262144
#net.core.wmem_max=262144

# Additional and amended parameters suggested by Kevin Closson
net.core.rmem_default = 524288
net.core.wmem_default = 524288
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.ipfrag_high_thresh=524288
net.ipv4.ipfrag_low_thresh=393216
net.ipv4.tcp_rmem=4096 524288 16777216
net.ipv4.tcp_wmem=4096 524288 16777216
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_sack=0
net.ipv4.tcp_window_scaling=1
net.core.optmem_max=524287
net.core.netdev_max_backlog=2500
sunrpc.tcp_slot_table_entries=128
sunrpc.udp_slot_table_entries=128
net.ipv4.tcp_mem=16384 16384 16384

让配置生效:

/sbin/sysctl -p
安全性配置
  • 修改 /etc/security/limits.conf 文件,加入下列配置:
*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile  1024
*               hard    nofile  65536
  • 在 /etc/pam.d/login file里加入一行:
cp /etc/pam.d/login /etc/pam.d/login_old
echo 'session    required     pam_limits.so' >> /etc/pam.d/login
  • 禁用SELinux:
cp /etc/selinux/config /etc/selinux/config_old
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
  • 配置 hangcheck kernel module:
cp /etc/modprobe.conf /etc/modprobe.conf_old
echo 'options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180' >> /etc/modprobe.conf
modprobe -v hangcheck-timer
配置组,用户,和访问权限

为 Oracle Instance添加用户和组

groupadd oinstall
groupadd dba
groupadd oper
 
mkdir /home/oracle
useradd -u 504 -g oinstall -G dba -d /home/oracle -r oracle
chown oracle /home/oracle
passwd oracle
Oracle 用户环境变量设置
# Oracle Settings  catching up OMF defaults
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
 
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=OODB; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
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
 
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
为Oracle 实例构造目录
# Again, catching up OMF defaults
mkdir -p /u01/app/crs/product/10.2.0/crs
mkdir -p /u01/app/oracle/product/10.2.0/db_1
mkdir -p /u01/oradata
mkdir -p /u01/shared_config
mkdir -p /u01/app/oracle/orainventory
chmod -R 775 /u01/app /u01/app/oracle /u01/oradata /u01/shared_config
chown -R oracle:oinstall /u01/app /u01/app/oracle /u01/oradata /u01/shared_config
chown -R oracle:oinstall /u01/app/oracle/orainventory
chown -R oracle:oinstall /u01/shared_config
chown -R oracle:oinstall /u01/app/crs/product/10.2.0/crs
chown -R oracle:oinstall /u01/app/oracle/product/10.2.0/db_1
chown -R oracle:oinstall /u01/oradata

安装Oracle实例

解包安装媒体
cpio -idmv < MEDIA.cpio
赋予本地用户X权限
xhost +localhost
安装

./runInstaller ………..

建立数据库

dbca…….

配置Listener
  • 停止listener, $ORACLE_HOME/bin 下
su - oracle 
emctl stop dbconsole
lsnrctl stop
  • 编辑文件或者用netca构建listner.

$ORACLE_HOME/network/admin/listener.ora:

# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
 
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )
 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = core2oo_oracle.becomm.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
 
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
  • 启动listener, $ORACLE_HOME/bin 下
su - oracle 
lsnrctl start
emctl start dbconsole
  • 本机验证
hostname | xargs tnsping
  • 远程验证
tnsping OODB
用户添加
SQL> CREATE user oo_admin IDENTIFIED BY oooooo DEFAULT tablespace users TEMPORARY tablespace temp;
 
User created.
 
SQL> GRANT connect, resource TO oo_admin;
 
GRANT succeeded.

启动数据库

sqlplus内运行:

startup

shell内oracle用户运行

lsnrctl start

Other Note

客户端
  • Windows oracle客户端字符集设置:

HKEY_LOCAL_MACHINE⇒SOFTWARE⇒ORACLE⇒KEY_%ORACLE_HOME%⇒NLS_LANG设置为: AMERICAN_AMERICA.UTF8

  • tnsnames, 从服务器复制,只要tcp链接
OODB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = core2oo_oracle.becomm.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = OODB)
    )
  )

Discussion

Enter your comment
 
 
blog/2010/10/oracle10gr2_rhel_4.8.txt · Last modified: 2010/10/28 03:54 by MeaCulpa     Back to top
Recent changes RSS feed Creative Commons License Powered by PHP Driven by DokuWiki