时间:2021-07-01 10:21:17 帮助过:10人阅读
操作系统:Redhat 6.4 64位
数据库:Oracle 12c R2
一、安装前准备
1、 创建用户和组
[root@wjq~]# groupadd -g1000 oinstall
//oinstall组:是清单目录组(Oracle Inventory group),用于管理清单目录(Inventory)
[root@wjq~]# groupadd -g1001 dba //dba组:用于数据库管理
[root@wjq~]# useradd -u600 -g oinstall -G dba oracle
[root@wjq~]# passwdoracle
Changingpassword for user oracle.
Newpassword:
BADPASSWORD: it is based on a dictionary word
BADPASSWORD: is too simple
Retypenew password:
passwd:all authentication tokens updated successfully.
2、 创建目录
[root@wjq~]# mkdir -p/u01/app/oracle/product/12.2.0/dbhome_1
[root@wjq~]# chown -Roracle:oinstall /u01
[root@wjq~]# chmod -R 775/u01/app/oracle
3、 查看物理内存、交换空间和文件系统大小
[root@wjq~]# free -m
total used free shared buffers cached
Mem: 3016 358 2657 0 19 158
-/+buffers/cache: 180 2835
Swap: 3023 0 3023
[root@wjq ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_wjq-lv_root
26G 2.8G 22G 12% /
tmpfs 1.5G 72K 1.5G 1% /dev/shm
/dev/sda1 485M 38M 423M 9% /boot
/dev/mapper/vg_wjq-lv_home
4.0G 137M 3.7G 4% /home
/dev/mapper/vg_wjq-lv_u01
66G 180M 62G 1% /u01
4、 查看操作系统架构
[root@wjq~]# cat/proc/version
Linuxversion 2.6.32-358.el6.x86_64 (mockbuild@x86-022.build.eng.bos.redhat.com) (gccversion 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jan 29 11:47:41 EST2013
[root@wjq ~]# lsb_release -a
LSBVersion: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
DistributorID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 6.4(Santiago)
Release: 6.4
Codename: Santiago
[root@wjq~]# uname -r
2.6.32-358.el6.x86_64
5、 安装软件包
binutils-2.20.51.0.2-5.11.el6(x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
6、 禁用SELinux和防火墙
[root@wjqsofrware]# vim/etc/selinux/config
# Thisfile controls the state of SELinux on the system.
#SELINUX= can take one of these three values:
# enforcing - SELinux security policy isenforced.
# permissive - SELinux prints warningsinstead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
#SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes areprotected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
SELinux 的不正确配置会影响网络
(1)enforcing--- SELinux security policy is enforced.代表记录警告且阻止可疑行为
(2)permissive --- SELinux prints warnings instead of 代表仅记录安全警告但不阻止可疑行为
(3)disabled --- SELinux is fully disabled.SELinux 被禁用
SELINUXTYPE设置
(1)targeted 代表仅针对预制的几种网络服务和访问请求使用 SELinux 保护,
(2)strict 代表所有网络服务和访问请求都要经过 SELinux。
查看当前系统的安全策略
[root@wjq~]# sestatus
SELinuxstatus: disabled
[root@wjq~]# getenforce
Disabled
[root@wjqsofrware]#service iptables stop
iptables:Flushing firewall rules: [ OK ]
iptables:Setting chains to policy ACCEPT: filter [ OK ]
iptables:Unloading modules: [ OK ]
[root@wjqsofrware]# chkconfigiptables off
7、 解压安装包,设置环境变量
[root@wjqsofrware]#unziplinuxx64_12201_database.zip
[oracle@wjq~]$ vim.bash_profile
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
exportORACLE_SID=seiang
exportORACLE_OWNER=oracle
exportORACLE_TERM=vt100
exportPATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
exportBASE_PATH=/usr/sbin:$PATH; export BASE_PATH
exportPATH=$ORACLE_HOME/bin:$BASE_PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
exportORACLE_HOSTNAME=wjq.comsys.com
exportDB_UNIQUE_NAME=prod
exportCVUQDISK_GRP=oinstall
umask022
[oracle@wjq~]$ source.bash_profile
8、 设置内核参数
[root@wjqsofrware]# vim/etc/sysctl.conf
fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 1349242060
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
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
[root@wjqsofrware]# sysctl–a //让内核参数文件立即生效
shmmax=物理内存*80%*80%,单位是字节
kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即“4294967295/1024/1024/1024=4G”。
kernel.shmmin:表示单个共享内存段的最小值,默认为1byte
kernel.shmall:表示整个系统范围内可用共享内存页的总量,单位是页(page),在32位系统上一页等于4kB,也就是4096字节。计算公式是:shmmax/PAGE_SIZE
kernel.shmmni:表示整个系统范围内内存段的最大数量,一般为4096.
ip_local_port_range :表示端口的范围。在监听器帮助客户端进程和服务器进程建立连接时,会用到指定范围内的端口。
kernel.sem :表示设置的信号量,这4个参数内容大小固定。
net.core.rmem_default :表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_default :表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max :表示发送套接字缓冲区大小的最大值(以字节为单位)。
9、 修改资源控制文件
[root@wjqsofrware]# vim/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
资源限制是针对单个进程的限制,不是针对整个系统总的设置
修改limits.conf以后,将马上生效。但是,如果用户已经登录系统,那么对于该用户的限制将在下一次用户重新登录以后才生效。如果要让对该用户的限制生效,只能让该用户注销然后重新登录就可以了。
/etc/security/limits.conf
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
nofile - 打开文件的最大数目,该值不能等于/proc/sys/fs/file-max,如果等于file-max且打开的文件句柄的数量达到file-max,用户将不能登陆操作系统。
二、安装Oracle软件
1、 相应文件模板的存放位置
[root@wjqsofrware]# find/ -name *.rsp
/u01/sofrware/database/response/netca.rsp
/u01/sofrware/database/response/db_install.rsp
/u01/sofrware/database/response/dbca.rsp
2、 浏览响应文件内容,并编辑响应文件
[root@wjqresponse]# ll
total64
drwxr-xr-x2 root root 4096 Jul 5 16:32 backup.rsp
-rwxrwxr-x1 root root 25502 Jan 5 14:00 dbca.rsp
-rw-rw-r--1 root root 22924 Jan 26 21:44 db_install.rsp
-rwxrwxr-x1 root root 6209 Jun 20 2016 netca.rsp
浏览响应文件内容
[oracle@wjqdatabase]$ sed-n ‘/^[^#]/p‘ response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
oracle.install.option=
UNIX_GROUP_NAME=
INVENTORY_LOCATION=
ORACLE_HOME=
ORACLE_BASE=
oracle.install.db.InstallEdition=
oracle.install.db.OSDBA_GROUP=
oracle.install.db.OSOPER_GROUP=
oracle.install.db.OSBACKUPDBA_GROUP=
oracle.install.db.OSDGDBA_GROUP=
oracle.install.db.OSKMDBA_GROUP=
oracle.install.db.OSRACDBA_GROUP=
oracle.install.db.rac.configurationType=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=false
oracle.install.db.racOneServiceName=
oracle.install.db.rac.serverpoolName=
oracle.install.db.rac.serverpoolCardinality=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.ConfigureAsContainerDB=
oracle.install.db.config.PDBName=
oracle.install.db.config.starterdb.characterSet=
oracle.install.db.config.starterdb.memoryOption=
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.password.PDBADMIN=
oracle.install.db.config.starterdb.managementOption=
oracle.install.db.config.starterdb.omsHost=
oracle.install.db.config.starterdb.omsPort=
oracle.install.db.config.starterdb.emAdminUser=
oracle.install.db.config.starterdb.emAdminPassword=
oracle.install.db.config.starterdb.enableRecovery=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
COLLECTOR_SUPPORTHUB_URL=
编辑Oracle数据库软件响应文件db_install.rsp
[root@wjqresponse]# vimdb_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rac.configurationType=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=false
oracle.install.db.racOneServiceName=
oracle.install.db.rac.serverpoolName=
oracle.install.db.rac.serverpoolCardinality=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.ConfigureAsContainerDB=
oracle.install.db.config.PDBName=
oracle.install.db.config.starterdb.characterSet=
oracle.install.db.config.starterdb.memoryOption=
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.password.PDBADMIN=
oracle.install.db.config.starterdb.managementOption=
oracle.install.db.config.starterdb.omsHost=
oracle.install.db.config.starterdb.omsPort=
oracle.install.db.config.starterdb.emAdminUser=
oracle.install.db.config.starterdb.emAdminPassword=
oracle.install.db.config.starterdb.enableRecovery=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
COLLECTOR_SUPPORTHUB_URL=
3、 获取帮助,启动静默安装
在静默安装Oracle软件之前,如果没有配置/etc/hosts文件,将会出现如五(1)的错误。
[oracle@wjqdatabase]$./runInstaller –help
[oracle@wjqdatabase]$./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -responseFile/u01/sofrware/database/response/db_install.rsp
StartingOracle Universal Installer...
CheckingTemp space: must be greater than 500 MB. Actual 18788 MB Passed
Checkingswap space: must be greater than 150 MB. Actual 3023 MB Passed
Preparingto launch Oracle Universal Installer from /tmp/OraInstall2017-07-06_02-07-35PM.Please wait ...[oracle@wjq database]$ You can find the log of this installsession at:
/u01/app/oraInventory/logs/installActions2017-07-06_02-07-35PM.log
The installation of Oracle Database 12cwas successful.
Pleasecheck ‘/u01/app/oraInventory/logs/silentInstall2017-07-06_02-07-35PM.log‘ formore details.