Table of Contents
在 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