系统环境:
CentOS release 6.8 (Final) 内核2.6以上,64位
CPU:8核
内存:16G
Swap分区:3G
硬盘:100G
Swap分区建议
Swap与RAM(内存)大小配置关系
内存在1-2G时,Swap为内存的1.5倍;
内存在2-16G时,Swap建议与内存相等;
内存大于16G时,Swap建议为16G;
oracle安装包文件:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip
下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Oracle11g联机文档:http://www.oracle.com/pls/db112/homepage
安装步骤:
1. 安装依赖包
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
2. 添加Oracle用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle # -g:指定用户的主组 -G:指定用户的附加组
passwd oracle #修改密码
3. 修改内核参数
编辑文件/etc/sysctl.conf 如果默认值比参考值大,就不需要修改
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmmax = 1073741824
kernel.shmall = 2097152
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 = 1048576
完成后执行 sysctl -p #自检并使配置生效
4. 修改用户资源限制
①修改/etc/security/limits.conf配置文件
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
②修改/etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
③添加主机名与IP的对应记录
vi /etc/hosts 添加,例如:
192.168.1.3 oracle-server
5. 创建安装目录
mkdir -p /app/{oracle,oraInventory,oradata}
chown -R oracle:oinstall /app
chmod -R 775 /app
6. 创建oraIst.loc文件
创建/etc/oraInst.loc文件
inventory_loc=/app/oraInventory
inst_group=oinstall
修改权限
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
7. 解压包(使用Oracle用户)
切换到Oracle用户将俩个Oracle包上传到Oracle的家目录或者/tmp目录下,并解压,先解压1of2再解压2of2。会生成一个database文件目录。
database/response/ 下三个文件分别是:
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答
8. 准备Oracle静默安装所需的应答模板文件db_install.rsp(使用Oracle用户)
这个文件在解压出来的database/response/下
①将文件拷贝到指定目录下,之后安装时会用到这个路径。我是放在/app/oracle/目录下
cp -r /home/oracle/database/response/ /app/oracle/ #直接将response目录复制到指定位置,使用Oracle用户,这样省的再修改权限了
修改:/app/oracle/response/db_install.rsp文件
oracle.install.option=INSTALL_DB_SWONLY //安装类型,只装数据库软件
ORACLE_HOSTNAME=oracle //主机名称(命令hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/app/oracle/oraInventory //INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定)
SELECTED_LANGUAGES=en,zh_CN // 选择语言
ORACLE_HOME=/app/oracle/11.2.0/product/db_1 // oracle_home *路径根据目录情况注意修改 本例安装路径/app/oracle
ORACLE_BASE=/app/oracle // oracle_base *注意修改
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba //dba用户组
oracle.install.db.OPER_GROUP=oinstall //oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID(**此处注意与环境变量内配置SID一致)
oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手动写了false)
DECLINE_SECURITY_UPDATES=true // **注意此参数 设定一定要为true
9. 修改/etc/profile文件
if [ $USER = "oracle" ] ; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
10. 修改Oracle用户环境
export ORACLE_BASE=/app/oracle #与db_install.rsp文件中设置的一样
export ORACLE_HOME=$ORACLE_BASE/11.2.0/product/db_1 #与db_install.rsp文件中设置的一样
export ORACLE_SID=orcl #与db_install.rsp文件中设置的一样
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=ORCL
export ORACLE_PID=ORCL
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
# alias ohome="cd $ORACLE_HOME" #这行及以下注释掉的内容是自定义的一些快捷键,不用设置
# alias tf="tail -f /app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log"
# alias sql='sqlplus "/"'
# alias sqln="sqlplus /nolog"
# alias rm='rm -i --'
完成后执行:
#source /etc/profile #环境变量修改生效
#env | grep ORA #查看环境变量是否完成
ORACLE_SID=ORCL
ORACLE_BASE=/app/oracle
ORACLE_HOME=/app/oracle/product/11.2.0/db_1
11. 在Oracle用户下安装
/home/database/./runInstaller -silent -force -ignorePrereq -responseFile /app/oracle/response/db_install.rsp
-silent 静默模式;
-force 强制安装;
-ignorePrereq忽略warning直接安装;
-responseFile读取安装应答文件;
经过一段时间的等等出现如下图所示 "Successfully Setup Software" 说明安装成功了
再根据上面的提示在root用户下执行以下命令
/app/oracle/11.2.0/product/db/root.sh
O K大功告成!!!!!!!!!!!!!!!!
上图是盗用的,所以路径对不上,主要是要这个效果。
安装完成后发现Oracle安装好了却起不了数据库,然后查了下,是上面的静默安装默认没安装数据库,所以需要执行以下操作安装数据库
静默安装数据库
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -sysPassword oracle -systemPassword oracle -responseFile NO_VALUE -datafileDestination /app/oracle/oradata/ -redoLogFileSize 50 -recoveryAreaDestination /app/oracle/flash_recovery_area -storageType FS -characterSet AL32UTF8 -nationalCharacterSet AL16UTF16 -sampleSchema false -memoryPercentage 30 -totalMemory 4096 -databaseType OLTP -emConfiguration NONE
结果如下:
复制数据库文件
1% 已完成
...........
...........
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
.................
.................
62% 已完成
正在进行数据库创建
66% 已完成
.................
................
96% 已完成
100% 已完成
-silent:指以静默方式执行dbca命令
-createDatabase:指使用dbca
-templateName:指定用来创建数据库的模板名称,这里指定为General_Purposedbc,即一般用途的数据库模板
-gdbname:指定创建的全局数据库名称,这里指定名称为ocp11g
-sid :指定数据库系统标识符,这里指定为ocp11g,与数据库同名
-responseFile: 指定安装响应文件,NO_VALUE表示没有指定响应文件
-datafileDestination:指Oracle数据文件存放位置
-characterSet :指定数据库使用的字符集,这里指定为AL32UTF8
-memoryPercentage :指定用于oracle的物理内存的百分比,这里指定为30%
-emConfiguration :指定Enterprise Management的管理选项。LOCAL表示数据库由Enterprise Manager本地管理 NONE表示没有