Oracle11G 在Linux上安装
环境:
oracle 11g R2
Red Hat Enterprise 5 或者 6
RHEL 6 | |
注:系统安装选项(其实只要选上Development Tools 就可以了) , 静默安装默认安装操作系统就可以。
|
|
内存: grep MemTotal /proc/meminfo
Swap: grep SwapTotal /proc/meminfo
内核架构: uname -m
内存使用情况:free
查看系统版本:cat /proc/version
64位 | |
最少 1GB
实际内存 swap 1 GB ~ 2 GB 1.5倍 2 GB ~ 16 GB 跟实际内存相等 16 GB以上 16 GB | 最少 4GB
实际内存 swap 4 GB ~ 8 GB 2倍 8 GB ~ 32GB 1.5倍 32GB以上 32GB |
3. 磁盘空间需求
查看磁盘: df -h /tmp
32位 | 64位 |
/tmp 最少 1GB 空间
安装类型 软件大小 数据库 企业版 3.95GB 1.7GB 标准版 3.88GB 1.5GB | /tmp 最少 1GB 空间
安装类型 软件大小 数据库 企业版 4.35GB 1.68GB 标准版 3.73GB 1.48GB |
4. 需要的软件安装包
查询包: rpm -qa | grep packagename
安装包: rpm -ivh packagename
删除包: rpm -e packagename
挂载ISO文件:mount -t iso9660 -o loop xxx.iso /mnt
RHEL 5 | RHEL 6 |
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-common-2.5 glibc-devel-2.5 glibc-headers-2.5 kernel-headers-2.6.18 ksh-20060214 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libgomp-4.1.2 libstdc++-4.1.2 libstdc++-devel-4.1.2 make-3.81 numactl-devel-0.9.8.i386 sysstat-7.0.2 unixODBC-2.2.11-7.1.i386 unixODBC-devel-2.2.11-7.1.i386 |
注:64位的安装64位相应的包 glibc-2.5-24 glibc-devel-2.5 libaio-0.3.106 libgcc-4.1.2 libstdc++-4.1.2 compat-libstdc++-33- libaio-devel 以上包在64位系统上同时安装32位跟64位
注:RHEL6安装包参考RHEL5的 |
5. 内核参数配置
Oralce安装内核配置的最小参数如下:
Minimum Value | File | sysctl -a | grep | |
semmsl semmns semopm semmni | 250 32000 100 128 | /proc/sys/kernel/sem | sem |
shmall | 2097152 | /proc/sys/kernel/shmall | shm |
shmmax | 默认:536870912(0.5G) 建议:2G | /proc/sys/kernel/shmmax | |
shmmni | 4096 | /proc/sys/kernel/shmmni | |
file-max | 6815744 | /proc/sys/fs/file-max | file-max |
ip_local_ port_range | Minimum: 9000 Maximum: 65500 | /proc/sys/net/ipv4/ip_ local_port_range | ip_local_port_ range |
rmem_default | 262144 | /proc/sys/net/core/rmem_ default | rmem_default |
rmem_max | 4194304 | /proc/sys/net/core/rmem_ max | rmem_max |
wmem_default | 262144 | /proc/sys/net/core/wmem_ default | wmem_default |
wmem_max | 1048576 | /proc/sys/net/core/wmem_ max | wmem_max |
aio-max-nr | Maximum: 1048576 | /proc/sys/fs/aio-max-nr | aio-max-nr |
注:如果系统内核的参数大于表格中的参数,不要修改。查看内核参数: sysctl -a | grep -E \ "sem|shm|file-max|ip_local_port_range|rmem_default\ |rmem_max|wmem_default|wmem_max|aio-max-nr" |
修改内核配置文件 /etc/sysctl.conf 添加以下内容:(修改完后 sysctl -p 立即生效)
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 = 900065500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
6. 建立需要的用户和组
The Oracle Inventory group : oinstall
The OSDBA group : dba
The Oracle software owner : oracle
The OSOPER group: oper
一般用两个组就够了 oinstall dba,或者用一个dba
建立组: groupadd oinstall
groupadd dba
建立用户: useradd -g oinstall -G dba oracle (-g 用户主要组,-G 用户附加组)
修改用户组: usermod -g oinstall -G dba oracle
7. Check ResourceLimits
修改配置文件 /etc/security/limits.conf 添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
8. 建立安装目录
例子:
shell>> mkdir -p /u01/app/oracle
shell>> chown -R oracle:oinstall/u01/app
shell>> chmod -R 775 /u01/app/oracle
9. 配置用户的环境变量
登录oralce用户,修改 ~/.bash_profile 文件:
#oracle user's environment
umask 022
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
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/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
10. 主机名和IP
修改 /etc/hosts文件,在其中加入IP和主机名。
例子:
192.168.0.127 test-ora
修改 /etc/sysconfig/network文件
HOSTNAME=test-ora
注: /etc/hosts 中的主机名要跟 /etc/sysconfig/network中的主机名一致
11. X Window display
xhost +主机名 或者 xhost +127.0.0.1
1) 图形界面安装:
安装过程参照windows上的图形界面安装过程
注:安装完成后,按照提示使用root用户运行两个脚本
2) 静默安装
响应文件模版在 database\response
Response File | Description |
Response file installation of Oracle Database 11g | |
Response file installation of Database Configuration Assistant | |
Response file installation of Oracle Net Configuration Assistant |
同时也可以通过图形界面安装配置到最后安装界面来保存响应文件
复制 database/response/db_install.rsp /db_install.rsp
Shell> chown oracle:oinstall db_install.rsp
Shell> su – oracle
Shell> chmod 700 db_install.rsp
对db_install.rsp 修改如下:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=test_ora
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=zh_CN,en
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.customComponents=
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/flash_recovery_area
DECLINE_SECURITY_UPDATES=true
安装命令:(注:响应文件要输入绝对路径)
database/runInstaller -silent -responseFile /db_install.rsp
安装成功后,以root用户运行一下两个脚本。
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
3) 静默建库
复制 database/response/dbca.rsp /dbca.rsp
Shell> chown oracle:oinstall dbca.rsp
Shell> su – oracle
Shell> chmod 700 dbca.rsp
对dbca.rsp 修改如下:
[GENERAL]
RESPONSEFILE_VERSION= "11.2.0"
OPERATION_TYPE ="createDatabase"
[CREATEDATABASE]
GDBNAME ="orcl"
SID ="orcl"
TEMPLATENAME ="General_Purpose.dbc"
SYSPASSWORD ="oracle"
SYSTEMPASSWORD ="oracle"
SYSMANPASSWORD ="oracle"
DBSNMPPASSWORD ="oracle"
DATAFILEDESTINATION=/u01/app/oracle/oradata/
CHARACTERSET ="ZHS16GBK"
NATIONALCHARACTERSET="UTF8"
AUTOMATICMEMORYMANAGEMENT= "FALSE"
$ORACLE_HOME/bin/dbca –silent -responseFile /dbca.rsp
配置
配置Oracle 开机启动脚本:
Oracle给的启动数据库有点问题,先修改下:
vi $ORACLE_HOME/bin/dbstart
vi$ORACLE_HOME/bin/dbshut
把两个文件里面的 ORACLE_HOME_LISTNER=$1
修改成 ORACLE_HOME_LISTNER=$ORACLE_HOME
修改配置文件/etc/orataba
orcl:/u01/app/oracle/product/11.2.0/db_1:N 把 N 修改成 Y
一个简单的启动脚本例子:
在 /etc/init.d/ 中
touch oracle
chmod 755 oracle
#!/bin/sh
#
#chkconfig: 35 8030
#description:Oracle deamon
#config:/etc/oratab :Y
#
case $1 in
start)
echo -n "Starting oracle..."
su - oracle -c "lsnrctl start;dbstart"
echo
;;
stop)
echo -n "Shutting downoracle..."
su - oracle -c "lsnrctl stop;dbshut"
echo
;;
restart)
echo -n "Restartingoracle..."
$0 stop
$0 start
echo
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
添加脚本到chkconfig中
chkconfig --add oracle
chkconfig --level 35 oracle on
启动: service oracle start | stop | restart
/etc/init.d/oracle start | stop | restart
问题补充:
使用dbconsole
emctl stopdbconsole
访问地址: https://localhost:1158/em
注:启动dbconsole的问题
问题: Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
解决:export ORACLE_UNQNAME=orcl
emca start dbconsole 时出现
/u01/app/oracle/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_localhost.localdomain_orcl not found
重新配置:emca -config dbcontrol db