1.1.修改主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.100.254
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.99 test
1.2.关闭防火墙
service iptables status
service iptables stop
chkconfig iptables off
1.3.关闭SELiunx
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
1.4.修改内核参数
vi /etc/sysctl.conf
文件行末添加以下内容,如某项默认值大于配置值,可不修改
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
最后输入下面的命令,让内核参数生效:
sysctl -p
以下是各个参数的说明:
参数 | 说明 |
---|---|
fs.aio-max-nr | 同时可以拥有的的异步IO请求数目。1048576 即 1024 * 1024 也就是 1024K 个。 |
fs.file-max | 系统允许打开的文件数。 |
kernel.shmmax | Linux进程可以分配的单独共享内存段的最大值,一般设置为内存总大小的一半。 这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。 |
kernel.shmall | 设置共享内存总页数。这个值太小有可能导致数据库启动报错。计算公式为:内存(G)* 1024* 1024* 1024/4096,4096为getconf PAGE_SIZE得到分页大小。 |
kernel.shmmni | 设置系统级最大共享内存段数量。推荐最小值为4096。 |
kernel.sem | 从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI。(1).SEMMSL:设置每个信号灯组中信号灯最大数量,推荐的最小值是250。 对于系统中存在大量并发连接的系统,推荐将这个值设置为PROCESSES初始化参数加10。(2).SEMMNS:设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS,SEMMSL* SEMMNI)。事实上,如果SEMMNS的值超过了SEMMSL* SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL* SEMMNI。Oracle推荐SEMMNS的设置不小于32000,假如数据库的PROCESSES参数设置为600,则SEMMNS的设置应为:(600+10)* 142 。(3).SEMOPM:设置每次系统调用可以同时执行的最大信号灯操作的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。Oracle验证的10.2和11.1的SEMOPM的配置为100。(4).SEMMNI:设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。 |
net.ipv4.ip_local_port_range | ip_local_port_range表示端口的范围,为指定的内容 |
net.core.rmem_default | 表示接收套接字缓冲区大小的缺省值(以字节为单位)。 |
net.core.rmem_max | 表示接收套接字缓冲区大小的最大值(以字节为单位)。 |
net.core.wmem_default | 表示发送套接字缓冲区大小的缺省值(以字节为单位)。 |
net.core.wmem_max | 表示发送套接字缓冲区大小的最大值(以字节为单位)。 |
1.5.修改用户限制
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
1.6.修改用户验证选项
vi /etc/pam.d/login
64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录
session required pam_limits.so
1.7.修改用户配置文件
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
source /etc/profile 使其生效
1.8.创建Oracle用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
1.9.创建目录及修改权限
# the oracle base directory
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
# Database file directory
mkdir -p /u01/oradata
# Recovery file directory (flash recovery area)
mkdir -p /u01/flash_recovery_area
chown -R oracle:oinstall /u1
chmod -R 775 /space
1.10.设置并刷新环境变量
su – oracle
vi /home/oracle/.bash_profile
添加以下内容,请使其生效 source ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH
1.11.安装oracle必须的包
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.1.解压安装包
将oracle软件上传至/home/oracle目录下
ls *.zip |xargs -n1 unzip
2.2.复制一份静默模板
cp -R /home/oracle/database/response /home/oracle
三个文件作用分别是:
- db_install.rsp:安装Oracle
- dbca.rsp:创建数据库
- netca.rsp:建立监听、本地服务名等网络设置
2.3.安装Oracle
vi db_install.rsp,修改安装应答文件,修改内容如下:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=test
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
# 物理内存的60%左右
oracle.install.db.config.starterdb.memoryLimit=124494
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 注意修改密码
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/fast_recovery_area
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
# 一定要是true
DECLINE_SECURITY_UPDATES=true
cd /home/oracle/database
执行命令:
./runInstaller -silent -force -ignorePrereq -responseFile /home/oracle/db_install.rsp
当安装界面出现如下信息的时候,说明正在安装,通过日志文件
tail -f /u01/app/oracle/inventory/logs/installActions2020-02-27_04-14-39PM.log
可以观察安装进度:
安装完成后会出现如下图:
按照提示执行下面以上两个脚本:
2.4.配置oracle监听
netca.rsp文件无需修改,直接使用
netca /silent /responsefile /home/oracle/response/netca.rsp
执行结果如下:
通过 netstat -tlnp命令检查:
2.5.创建oracle数据库
vi dbca.rsp 修改配置文件,修改内容如下:
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
# 修改密码
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
DATAFILEDESTINATION = /u1/oradata
RECOVERYAREADESTINATION=/u1/backup
CHARACTERSET = "AL32UTF8"
# 物理内存的60%左右
TOTALMEMORY = "10240"
执行结果如下:
建库后实例检查:
ps -ef | grep ora_ | grep -v grep
如果建库异常可以删库,重做:
dbca -silent -deleteDatabase -sourcedb orcle -sid orcle
至此,Oracle安装完成。
查看监听状态
lsnrctl status