centos静默式安装Oracle11g
1. Centos及Oracle版本
Centos:CentOS release 6.4 (Final)
Oracle:linux.x64_Oracle_11gR2_database
2. 硬件环境要求
2.1 内存要求
- 物理内存要求:
至少1G,查看物理内存命令:
# grep MemTotal /proc/meminfo
- 虚拟内存要求:
物理内存4-8G,要求虚拟内存为2倍物理内存;
物理内存8-32G,要求虚拟内存为1.5倍物理内存;
物理内存32G,要求虚拟内存为32G;
查看虚拟内存命令:
# grep SwapTotal /proc/meminfo
增加虚拟内存示例:
# dd if=/dev/zero of=/swapadd bs=1024 count=2006424
# mkswap /swapadd
# swapon /swapadd
2.2 存储空间要求
/tmp目录下需至少1G空间
# df -h /tmp
如果不足1G需设置oracle用户的TMP和TMPDIR环境变量。
对数据库安装目录,需至少4.35G空间,对数据文件目录,需至少1.68G空间。
3. 软件环境要求
3.1 内核版本要求
需满足:2.6.18 or later
检查命令:
# uname -r
3.2 系统包要求
以下系统包或以上版本(32个)必须满足:
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
numactl-devel-0.9.8.x86_64
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
elfutils-libelf-devel-static-0.125
kernel-headers-2.6.18
libgomp-4.1.2
检查命令:
# rpm -q package_name
4. 创建用户组及用户
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
# passwd oracle
5. 配置内核参数
5.1 检查内核参数
下表为需要检查的内核参数、最小值、检查命令、及参数文件路径:
|
参数 |
最小值 |
检查命令 |
文件路径 |
|
semmsl |
250 |
# /sbin/sysctl -a | grep sem |
/proc/sys/kernel/sem |
|
semmns |
32000 |
||
|
semopm |
100 |
||
|
semmni |
128 |
||
|
shmall |
2097152 |
# /sbin/sysctl -a | grep shm |
/proc/sys/kernel/shmall |
|
shmmax |
4GB-1byte或物理内存的一半,两者最小值. Default: 536870912 |
/proc/sys/kernel/shmmax |
|
|
shmmni |
4096 |
/proc/sys/kernel/shmmni |
|
|
file-max |
6815744 |
# /sbin/sysctl -a | grep file-max |
/proc/sys/fs/file-max |
|
ip_local_port_range |
Minimum: 9000 Maximum: 65500 |
# /sbin/sysctl -a | grep ip_local_port_range |
/proc/sys/net/ipv4/ip_local_port_range |
|
rmem_default |
262144 |
# /sbin/sysctl -a | grep rmem_default |
/proc/sys/net/core/rmem_default |
|
rmem_max |
4194304 |
# /sbin/sysctl -a | grep rmem_max |
/proc/sys/net/core/rmem_max |
|
wmem_default |
262144 |
# /sbin/sysctl -a | grep wmem_default |
/proc/sys/net/core/wmem_default |
|
wmem_max |
1048576 |
# /sbin/sysctl -a | grep wmem_max |
/proc/sys/net/core/wmem_max |
|
aio-max-nr |
Maximum: 1048576 |
# cat /proc/sys/fs/aio-max-nr |
/proc/sys/fs/aio-max-nr |
对于需要修改的参数,要在/etc/sysctl.conf(如果没有该文件则创建)中修改。如果该文件中存在参数配置,直接修改,否则增加新行。
以下是对SCB UPRR生产环境的分析:
Oracle推荐设置 /etc/sysctl.conf是否需修改,如何修改
kernel.sem = 250 32000 100 128 ##修改,增加本行
kernel.shmall = 2097152 ##满足,无需增加或修改
kernel.shmmax = 536870912 ##满足,无需增加或修改
kernel.shmmni = 4096 ##满足,无需增加或修改
fs.file-max = 6815744 ##修改,增加本行
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 = 1048586 ##修改,增加本行
fs.aio-max-nr = 1048576 ##修改,增加本行
5.2 修改内核参数
经上述分析,SCB UPRR生产环境在/etc/sysctl.conf中无参数修改,但有参数增加,增加内容如下:
# vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
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 = 1048586
fs.aio-max-nr = 1048576
修改后,使设置生效:
# /sbin/sysctl -p
执行生效命令后,再次检查确认参数设置:
# /sbin/sysctl -a
6 用户限制设置
6.1用户文件限制检查
切换到安装用户oracle
# su - oracle
检查以下参数是否在推荐的范围内
|
Type |
Item |
Recommended Ranges |
Command |
|
soft |
nofile |
at least 1024 |
$ ulimit -Sn |
|
hard |
nofile |
at least 65536 |
$ ulimit -Hn |
|
soft |
nproc |
at least 2047 |
$ ulimit -Su |
|
hard |
nproc |
at least 16384 |
$ ulimit -Hu |
|
soft |
stack |
at least 10240 KB |
$ ulimit -Ss |
|
hard |
stack |
at least 10240 KB at most 32768 KB |
$ ulimit -Hs |
6.2修改用户限制
$ su - root
在文件/etc/security/limits.conf中加入以下内容:
# vi /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
在/etc/pam.d/login中增加以下内容:
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
在/etc/profile中加入以下内容:
# 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
7 关闭SELinux
# vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled
8 创建安装目录
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
9 设置环境变量
# su - oracle
$ vi ~/.bash_profile
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=uprr
$ source /home/oracle/.bash_profile
$ unset ORACLE_HOME
$ unset TNS_ADMIN
注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH, LD_LIBRARY_PATH等)。
检查环境变量:
$ env | more
检查用户文件权限掩码:
$ umask
10 静默安装软件
10.1 创建oraInst.loc
$ su - root
# vi /etc/oraInst.loc
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
# chown oracle:oinstall /etc/oraInst.loc
# chmod 664 /etc/oraInst.loc
10.2 创建响应文件
# su - oracle
mkdir etc
cp linux.x64_Oracle_11gR2_database/database/response/* etc/
vi db_install.rsp
仅安装Oracle软件的响应文件UPRR_INSTALL_DB_SWONLY.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=build001
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
创建数据库的响应文件UPRR_DBCA.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "uprr"
SID = "uprr"
TEMPLATENAME = "General_Purpose.dbc"
DATAFILEDESTINATION = "/u01/app/oracle/oradata"
RECOVERYAREADESTINATION= "/u01/app/oracle/flash_recovery_area"
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET= "UTF8"
NET配置的响应文件使用Oracle默认即可,无需修改,该文件在Oracle安装包的路径:
$cp database/response/netca.rsp /home/oracle/UPRR_NETCA.rsp
$ su - root
# chmod 700 /home/oracle/UPRR_INSTALL_DB_SWONLY.rsp
10.3 安装Oracle
安装:
# su - oracle
$ cd database
$ ./runInstaller -silent -debug -force -responseFile /home/oracle/UPRR_INSTALL_DB_SWONLY.rsp
备注:(可选参数-noconfig -IgnoreSysPreReqs)
出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
...
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
设置环境变量
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
source /home/oracle/.bash_profile
11 静默配置网络
$ $ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/UPRR_NETCA.rsp
/u01/app/oracle/product/11.2.0/dbhome_6/srvm/admin/getcrshome 没有可执行权限?
12 静默安装数据库
# su - oracle
$ $ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/UPRR_DBCA.rsp
安装期间查看日志信息了解进度:
$ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log
建库后实例检查
$ ps -ef | grep ora_ | grep -v grep | wc -l
$ ps -ef | grep ora_ | grep -v grep
建库后监听检查
$ lsnrctl status
如果使用归档日志
$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database flashback on; (如果要启用数据库闪回功能则执行)
SQL> alter database open;
SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象)
SQL> alter system archive log current; (手工归档测试)
默认安装的数据库用户检查
SQL> set lines 256 pages 500
SQL> select USER_ID,USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE from dba_users order by 1;
centos静默式安装Oracle11g的更多相关文章
- CentOS Linux上安装Oracle11g笔记
CentOS Linux上安装Oracle11g 到 otn.oracle.com 网站上下载 Linux版的oracle 11g 编辑 /etc/sysctl.conf : kernel.shmal ...
- centos上如何安装redis?|centos傻瓜式安装redis教程
本文介绍centos安装redis,请不要安装2.4.3,是有问题的. 首先安装gcc yum -y install gcc yum -y install gcc-c++ yum install ma ...
- Linux(CentOS 7.0)安装Oracle11g R2
// 注释 # root用户 $oracle用户 1. 关闭安全措施 # chkconfig iptables off // 永久关闭防火墙 # serviceiptables stop // ...
- CentOS 5 上安装Oracle11g
原创作品,出自 "深蓝的blog" 博客.欢迎转载.转载时请务必注明下面出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...
- Linux CentOS 6.5 64位 静默安装Oracle11g 云主机
本例: 通过SSH远程连接云主机,上传oracle11g安装包,在centos6.5上无图形化界面静默安装oracle11g. 涉及工具及环境: 1.本地环境windows7+ssh远程连接工具xSh ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包
2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK
2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4
2.2. 安装操作系统CentOS5.4 两个虚拟机都安装,此步骤在创建虚拟机节点时: 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链接: 1.资源 ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome
1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...
随机推荐
- 解决secureCRT数据库里没有找到防火墙 '无'问题,转自:http://jingyan.baidu.com/article/9989c74601274bf649ecfe74.html
中文版的secureCRT由于汉化的问题(把null翻译成无了),导致每次打开都会有个防火墙的错误提示:数据库里没有找到防火墙 '无' 此会话将尝试不通过防火墙进行连接.出现这个错误的原因是在secu ...
- 删除MSMQ中的消息队列时"访问被拒绝的错误"
删除MSMQ中消息队列时出现 google之,发现也没有找到解决方法,自己在琢磨一下,一般出现这种问题的都是权限问题,因此查看了一下属性,果然如此 此消息队列是使用Windows服务创建的 解决办法: ...
- SQL Server 中的SET XACT_ABORT各种用法及显示结果
源地址:http://www.cnblogs.com/rob0121/articles/2320932.html 点击进入 默认行为:默认为SET XACT_ABORT OFF,没有事务行为. S ...
- JQUERY1.9学习笔记 之基本过滤器(五) 大于选择器
大于选择器:jQuery( ":gt(index)" )jQuery( ":gt(-index)" ) 例:大于TD5 到TD8 用黄色背景,TD8用红色文字. ...
- Phpcms v9系统类库与函数库调用方法
在分享了n多phpcms的教程后,cmsyou继续分享关于phpcms v9系统类库与函数库的调用方法. 系统类库位于系统的 /libs/functions目录下面,函数库文件名为*.func.php ...
- Solr Update备注
参考资料: http://wiki.apache.org/solr/ExtractingRequestHandler#Sending_documents_to_Solr /update 标准的upda ...
- 对编程语言的需求总结为四个:效率,灵活,抽象,生产率(C++玩的是前三个,Java和C#玩的是后两个)
Why C++ ? 王者归来(转载) 因为又有人邀请我去Quora的C2C网站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文<2012 不宜进入的三个技术点>A ...
- 17 个 Linux 下用于 C/C++ 的最好的 IDE
C++,一个众所周知的 C 语言的扩展,是一个优秀的.强大的.通用编程语言,它能够提供现代化的.通用的编程功能,可以用于开发包括视频游戏.搜索引擎.其他计算机软件乃至操作系统等在内的各种大型应用. C ...
- Ubuntu下Qt-4.7.1的静态编译
最近在学习Qt的静态编译,相比较来说windows的Qt静态编译比较容易,相反对于linux编译网上的文章实践下来都有这样那样的错误,这里简要小结一下自己的编译成果. 一.实验环境 1.Ubuntu ...
- Android 利用Application对象存取公共数据
本文章来给大家介绍Android 利用Application对象存取公共数据. Android系统在运行每一个程序应用的时候,都会创建一个Application对象,用于存储与整个应用相关的公共变量. ...