暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux 7 (RedHat&CentOS)静默安装 Oracle11.2.0.4

原创 evans liang 2022-09-27
474

--1。配置ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:a3:16:ea brd ff:ff:ff:ff:ff:ff
    inet 192.0.155.3/28 brd 192.0.155.15 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fea3:16ea/64 scope link 
       valid_lft forever preferred_lft forev
--2。修改hosts
192.0.155.3  mysql-evans

如为centos
修改 /etc/redhat-release
redhat-7

---3。关闭防火墙和 selinux 
systemctl stop firewalld.service 
#禁止 firewall 开机启动
systemctl disable firewalld.service 
关闭 SELINUX: 
vi /etc/selinux/config 
#SELINUX=enforcing #注释掉 
#SELINUXTYPE=targeted #注释掉 
SELINUX=disabled 

 setenforce 0  #使配置立即生效
--4。vi /etc/sysctl.conf 
--模板vi /etc/sysctl.conf 
net.ipv4.icmp_echo_ignore_broadcasts = 1 #是否忽略所有接收到的icmp echo请求的广播
net.ipv4.conf.all.rp_filter = 1
net.ipv4.ip_local_port_range = 9000 65500 #可使用的 IPv4 端口范围
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576 # 同时可以拥有的的异步IO请求数目
kernel.shmall = 2097152 #共享内存的总量,8G 内存设置:8*1024*1024*1024/4K=2097152
/*16GB/4KB=16777216KB/4KB=4194304(页)
当内存为 12G 时, kernel.shmall = 3145728
当内存为 16G 时, kernel.shmall = 4194304
当内次为 32G 时, kernel.shmall = 8388608
当内存为 64G 时, kernel.shmall = 16777216
当内存为 128G 时, kernel.shmall = 33554432*/
kernel.shmmax = 2147483648 #最大共享内存的段大小
/*shmmax设置应足够大,能在一个共享内存段下容纳下整个的SGA,
shmmax(bytes) = shmmni(page size, default 4k) * shmall (page的个数)-1
设置的过低可能会导致需要创建多个共享内存段,可能导致系统性能的下降 。
内存为 12G 时,kernel.shmmax 为 12*1024*1024*1024-1 = 12884901887
内存为 16G 时,kernel.shmmax 为 16*1024*1024*1024-1 = 17179869183
内存为 32G 时,kernel.shmmax 为 32*1024*1024*1024-1 = 34359738367
内存为 64G 时,kernel.shmmax 为 64*1024*1024*1024-1 = 68719476735
内存为 128G 时,kernel.shmmax 为 128*1024*1024*1024-1 = 137438953471*/
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
/*kernel.sem是指 semmsl,semmns,semopm,semmni这4个参数
semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10
semmni 指整个系统的信号集的最大数量
semmns 指整个系统的信号总数,也就是semmni*semmsl的结果
semopm 指每个semop系统调用可以执行的信号操作的最大数量
oracle默认设semmsl=250semmns=3200semopm=100semmni=128
即kernel.sem= 250 3200 100 128*/

net.core.rmem_default = 262144#指网络套接字的默认接收缓冲区的大小,oracle建议为265K即262144
net.core.rmem_max= 4194304/*网络套接字的最大接收缓冲区的大小,oracle10g及以前版本建议
设置为256k即262144 oracle11g建议设置为4M 即4194304*/
net.core.wmem_default= 262144#网络套接字的默认发送缓冲区的大小,oracle建议设置为265K即262144
net.core.wmem_max= 1048576/*网络套接字的最大发送缓冲区的大小,oracle10g及以前版本建议
设置为256k即262144 oracle11g建议设置为1M即1048576*/
----模板结束
具体根据实际情况调整:
---guding
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
fs.aio-max-nr = 1048576

kernel.shmall = 2097152 
#kernel.shmall =8G=8*1024*1024*1024/4K=2097152
kernel.shmmax = 8589934591
#kernel.shmmax = 8G=8*1024*1024*1024-1 = 8589934591
kernel.shmmni = 4096
--yibanguding
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576

sysctl -p生效


--5。oracle 用户设置限制/etc/security/limits.conf
oracle soft nofile 4096
oracle hard nofile 63536
这两行设置用来设置限制oracle用户能打开的文件句柄数,soft限制是指oracle用户登录后
默认能够打开的文件句柄数的最大数。hard 限制是指当用户收到打开文件限制的错误时,
可以使用ulimit –n设置的最大数。
oracle soft nproc 1024
oracle hard nproc 65536
这两行设置用来限制oracle用户能打开的进程总数,soft限制是指oracle用户登录后默认能够打
开的进程的最大数。hard 限制是指当用户收到达到最大进程限制的错误时,可以使用ulimit –u
设置的最大数。
/*模板
oracle soft nofile 4096
oracle hard nofile 65536
orcle  soft nproc  2047
oracle hard nproc  16384
*/
oracle  soft nproc  2047
oracle  hard nproc  16384
oracle  soft nofile  1024
oracle  hard nofile  65536
oracle  soft stack  10240
oracle  hard stack  10240
为使其后续生效,运行命令vi /etc/pam.d/login,在其中加入
session required /lib/security/pam_limits.so 
session required pam_limits.so 
检查修改的参数
$ ulimit -Sn
$ ulimit -Hn
$ ulimit -Su
$ ulimit -Hu
--6。--检查依赖包
yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat.* unixODBC-2.* unixODBC-devel-2.* ksh*
yum  install  libaio-0.*  glibc-2.*  compat-libstdc++-33*  libaio-devel-0.*  libgcc*  unixODBC-2.* unixODBC-devel-2.* ksh*


rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' binutils elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel libXt libXtst libXp compat-libstdc++-33 expat pdksh numactl-devel 
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' kernel-headers kmod-oracleasm  ksh libaio-devel libgcc libgomp libmpc libstdc++ libstdc++-devel libstdc++-static mailx make numactl-devel numactl-libs oracleasm-support  oracleasmlib smartmontools sysstat unixODBC unixODBC-devel zlib zlib-devel
--安装缺失依赖包----------
所有依赖包目录
上传所有依赖包 :/root/software/oracle-rpm
sudo安装依赖包:
rpm -ivh $(find /root/software/oracle-rpm -name 'compat-libstdc++-33*.rpm') -f --nodeps
rpm -ivh $(find /root/software/oracle-rpm -name 'elfutils-libelf-devel*.rpm') -f --nodeps
rpm -ivh $(find /root/software/oracle-rpm -name 'glibc-commonglibc-devel*.rpm') -f --nodeps
rpm -ivh $(find /root/software/oracle-rpm -name 'ksh*.rpm') -f --nodeps
rpm -ivh $(find /root/software/oracle-rpm -name 'libaio-devel*.rpm') -f --nodeps
rpm -ivh $(find /root/software/oracle-rpm -name 'numactl-devel*.rpm') -f --nodeps
rpm -ivh $(find /root/software/oracle-rpm -name 'unixODBC*.rpm') -f --nodeps
rpm -ivh $(find /root/software/oracle-rpm -name 'numactl-devel*.rpm') -f --nodeps

sudo yum -y install  gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel


--7。创建用户
groupadd -g 200 oinstall
groupadd -g 201 dba
useradd -u 440 -g oinstall -G dba oracle
passwd oracle
Tgdk_1234

--8。安装路径
mkdir -p /u01/app/ 
mkdir -p /u01/app/oradata/
mkdir -p /u01/app/product/11.2.0.4/dbhome_1
mkdir -p /u01/app/oraInventory
chmod 755 /u01
chmod 775 /u01/app
chown oracle.oinstall -R /u01

--9。Oracle环境变量

export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=nmsdb
export LANG=en_US #install
# Oracle client
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

/*NLS_DATE_FORMAT必须和NLS_LANG一起设置,否则不会生效*/
--10。静默响应文件

unzip 解压p13390677_112040_Linux-x86-64_1of7.zip和p13390677_112040_Linux-x86-64_2of7.zip 到/soft/database/


oracle.install.responseFileVersion=/soft/database/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=mysql-evans

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/u01/app/product/11.2.0.4/dbhome_1

ORACLE_BASE=/u01/app

oracle.install.db.InstallEdition=EE

oracle.install.db.EEOptionsSelection=false

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=nmsdb

oracle.install.db.config.starterdb.SID=nmsdb

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=1536

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.installer.autoupdates.option=SKIP_UPDATES

DECLINE_SECURITY_UPDATES=true

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

--11。安装数据库软件---


./runInstaller -silent -responseFile /soft/database/response/db_install.rsp -ignorePrereq

#./runInstaller -silent -responseFile /home/cattsoft78/software/database/response/db_install.rsp -ignorePrereq


/home/oracle/oraInventory/orainstRoot.sh
/home/oracle/app/product/11.2.0.4/dbhome_1/root.sh

--root权限执行两个脚本:
sudo sh /home/cattsoft78/app/oraInventory/orainstRoot.sh
sudo sh /home/cattsoft78/app/product/11.2.0.4/dbhome_1/root.sh

*********************************************

--12。配置监听:
netca /silent /responsefile /soft/database/response/netca.rsp

**********静默建库
vi /soft/database/response/dbca.rsp

[GENERAL]

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

GDBNAME = "nmsdb"

SID = "nmsdb"

TEMPLATENAME = "General_Purpose.dbc"

CHARACTERSET = "AL32UTF8"
---13。dbca 建库
dbca -silent -responseFile  /soft/database/response/dbca.rsp

--输入sys和system用户密码:oracle
[oracle@mysql-evans response]$ dbca -silent -responseFile  /soft/database/response/dbca.rsp
Enter SYS user password: 
 
Enter SYSTEM user password: 
 
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/cfgtoollogs/dbca/nmsdb/nmsdb.log" for further details.
[oracle@mysql-evans response]$ 
[oracle@mysql-evans response]$ 
[oracle@mysql-evans response]$ 
[oracle@mysql-evans response]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Sep 27 17:11:03 2022

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from dual;

D
-
X

至此,安装完成。接下来根据实际需求调整在线日志、SGA\PGA、undo等参数项。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论