--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等参数项。