Oracle 单实例部署(11g)
操作系统环境:CentOS release 6.9 (Final)
数据库环境:Oracle 11.2.0.4
- 打底层包
--检查底层包
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
compat-libstdc++-33 \
glibc \
ksh \
libaio \
libgcc \
libstdc++ \
make \
compat-libcap1 \
gcc \
gcc-c++ \
glibc-devel \
libaio-devel \
libstdc++-devel \
sysstat
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat xorg-x11-apps
- 修改内核参数
vi /etc/sysctl.conf
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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
--执行立即生效
/sbin/sysctl -p
kernel.shmmax:配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好
Kernel.shmall:共享内存总量,以页为单位。Linux 共享内存页大小为4KB, 共享内
存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需
要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下
16GB 物理内存,设置 kernel.shmall = 4194304 才符合要求(几乎是原来设置2097152
的两倍)。这时可以将shmmax 参数调整到 16G 了,同时可以修改SGA_MAX_SIZE 和
SGA_TARGET 为 12G(您想设置的SGA 最大大小,当然也可以是2G~14G 等,还要协调PGA
参数及OS 等其他内存使用,不能设置太满,比如16G)
fs.file-max:系统所有进程一共可以打开的文件数量 。同时一些程序可以通过setrlimit调用,设置每个进程的限制。如果得到大量使用完文件句柄的错误信息,是应该增加这个值
fs.aio-max-nr:同时可以拥有的的异步IO请求数目
- 创建oracle用户及组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
- 修改资源配置文件
vi /etc/security/limits.conf
--- nofile - max number of open files (限制用户打开的文件数)
--- nproc - max number of processes (限制用户打开的进程数)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
-- nproc设置过低,会导致无法以oracle用户登录OS,且在/var/log/secure里报告Resource temporarily unavailable错误;且oracle所属的crontab job也无法运行
-- nofile设置过低,同样也会导致无法以oracle用户登录OS,且报告错误 Too many open files,同时crontab job也无法正常运行;soft值设置过低同样会导致相应程序无法正常运行
- 修改linux操作系统的登陆配置文件
session required pam_limits.so
- 修改全局参数
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
umask 022
fi
- 修改全局系统参数
vi /etc/csh.login
if ( $USER = "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
- 创建文件夹
mkdir -p /u02/app/oraInventory
chown -R oracle:oinstall /u02/app/oraInventory
chmod -R 775 /u02/app/oraInventory
mkdir -p /u02/app/oracle
chown -R oracle:oinstall /u02/app/oracle
chmod -R 775 /u02/app/oracle
mkdir -p /u02/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /u02/app/oracle/product/11.2.0.4/db_1
chmod -R 775 /u02/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /u02
chmod -R a+x /u02
- 设置oracle用户环境变量
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=/u02/app/oracle/product/11.2.0.4/db_1
export ORACLE_SID=glogin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
umask 022
- 将安装包上传到安装软件文件夹,个人习惯使用’/soft’文件夹
- 使用oracle用户解压安装包
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
- 图形化安装oracle数据库软件
- DBCA建库