CentOS7离线静默安装Oralce11(p13390677_112040)

1、下载并上传到 /root 目录下

p13390677_112040版本是付费版,免费版安装参考:https://blog.csdn.net/u014644574/article/details/107736952
下载以下文件,并上传这些文件到 /root 目录下
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
CentOS-7-x86_64-DVD-2009.iso 该iso文件版本要高于离线服务器的安装版本:cat /etc/redhat-release

2、配置离线yum源

#备份
cd /etc/yum.repos.d/
mkdir bak
mv CentOS* bak/

新建文件 vi centos7.repo

[CentOS7]                  
name=CentOS-server                
baseurl=file:///yum      
enabled=1                  
gpgcheck=0

制作iso离线yum源

mkdir /yum
cd /root
ls
mount -o loop -t iso9660 CentOS-7-x86_64-DVD-2009.iso /yum

#清除缓存
yum clean all

#测试是否配置成功
yum list

#安装完oralce后,若需要卸载设备:umount -v /yum

 查看系统的磁盘

lsblk

3、关闭防火墙和Selinux

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#或者
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
service iptables restart



#关闭Selinux
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
setenforce 0

#获取当前selinux状态,Enforcing为开启,Permissive为关闭
getenforce

4、设置主机名

hostnamectl set-hostname oradb
hostname

查询ip地址:ip addr
配置主机ip及对应的主机名:vi /etc/hosts

192.168.5.200 oradb

查询主机ip:hostname -i 

5、安装依赖包

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

 检查依赖是否安装完整

rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst  make sysstat  unixODBC unixODBC-devel

若提示“未安装软件包”,则需要手动下载提示的rpm包上传并安装。我这里提示:“未安装软件包 compat-libstdc++-33”

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

安装解压软件

yum -y install unzip zip

6、创建用户组、用户和安装目录

groupadd oinstall
groupadd dba
groupadd oper
useradd -m -g oinstall -G dba,oper oracle
passwd oracle
mkdir -p /oracle/db/11g
mkdir -p /oracle/oradata
chown -R oracle:oinstall /oracle/
chmod -R 775 /oracle/
chmod -R 755 /etc/security

mv p13390677_112040_Linux-x86-64_1of7.zip /home/oracle/
mv p13390677_112040_Linux-x86-64_2of7.zip /home/oracle/

7、优化内核参数

文件内核设置参数详解 https://blog.csdn.net/JackLiu16/article/details/80169030

这里只需要修改,共享内存的总页数 kernel.shmall、共享内存段的最大值 kernel.shmmax。

shmall 和 shmmax 参考下面的方式计算:
free -k
kernel.shmall = total / 4 = 1863032 / 4 = 465758
free -b
kernel.shmmax = total - 1 = 1907744768 - 1 = 1907744767

cp -p /etc/sysctl.conf /etc/sysctl.conf_bak
vi /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048576
net.ipv4.conf.all.accept_redirects=0

使修改生效
sysctl -p

8、限制oracle用户的shell权限

当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。
通过使用 ulimit – n 来限制程序所能打开的最大文件描述符数量,从而达到限制 socket 创建的数量。默认大小1024。 https://www.cnblogs.com/wangkangluo1/archive/2012/06/06/2537677.html

soft  xxx  : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。
hard  xxx  : 代表严格的设定,不允许超过这个设定的值。
nproc  : 是操作系统级别对每个用户创建的进程数的限制
nofile : 是每个进程可以打开的文件数的限制
stack : 堆栈大小的限制

cp -p /etc/security/limits.conf /etc/security/limits.conf.bak
vi /etc/security/limits.conf 在后面追加下面配置

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768

limits.conf 文件实际是下面 pam_limits.so的配置文件,而且只针对于单个会话。

cp -p /etc/pam.d/login /etc/pam.d/login.bak
vi /etc/pam.d/login 在后面追加下面配置

session required /lib64/security/pam_limits.so
session required pam_limits.so

cp /etc/profile /etc/profile_bak
vi /etc/profile 在配置文件结尾处(unset i 和 unset -f pathmunge 之前)追加下面配置

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

9、设置oracle环境变量

用oracle用户登录 su - oracle
vi .bash_profile 在后面追加下面配置

export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_BASE=/oracle/db/
export ORACLE_HOME=/oracle/db/11g
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.UTF8'
export LANG=en_US.UTF8
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

使修改生效

source /home/oracle/.bash_profile

10、使用Oracle安装

用oracle用户登录 su - oracle

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

复制响应文件模板

mkdir /home/oracle/etc
cd /home/oracle/etc
#复制响应文件
cp -r /home/oracle/database/response/netca.rsp /home/oracle/etc/

db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置应答

创建安装数据库时的应答文件:vi db_install.rsp
根据自己的实际内存修改下面(物理内存的60%单位m)sga+pga:oracle.install.db.config.starterdb.memoryLimit=物理内存的60%单位m

详细参数参考 https://blog.csdn.net/yinzhipeng123/article/details/53141950

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
#通过hostname命令获取
ORACLE_HOSTNAME=oradb
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/db/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/oracle/db/11g
ORACLE_BASE=/oracle/db/
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
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%左右,单位M
oracle.install.db.config.starterdb.memoryLimit=512
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.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
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=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

创建实例时的应答文件:vi dbca.rsp

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
#GDBNAME 配置数据库名称,连接数据库时要使用这个参数值。
GDBNAME = "oradb"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET= "ZHS16GBK"
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
INSTANCENAME = "orcl11g"
SYSDBAUSERNAME = "sys"

设置响应文件权限 

chmod 700 /home/oracle/etc/*.rsp

11、用oracle用户静默安装Oracle软件

用oracle用户开始静默安装

su - oracle
/home/oracle/database/runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp

 稍等一会,出现以下图示表示安装成功!如果安装失败,删除文件 rm /etc/oraInst.loc 重新安装。

su - root
/oracle/db/oraInventory/orainstRoot.sh
/oracle/db/11g/root.sh

  

su - oracle
#配置监听
netca /silent /responsefile /home/oracle/etc/netca.rsp
cd /home/oracle
#创建oracle实例
dbca -silent -responseFile etc/dbca.rsp

 创建实例这一步,执行完命令后等光标停下来时,要输入2次密码:密码 + 回车

12、使用root用户设置Oracle开机启动

su – oracle
vi /etc/oratab 修改文件将N改为Y

orcl:/oracle/db/11g:Y

查询Oracle的home目录:echo "$ORACLE_HOME"
vi /etc/rc.d/rc.local 在后面追加下面配置

su oracle -lc "/oracle/db/11g/bin/lsnrctl start"
su oracle -lc /oracle/db/11g/bin/dbstart

 设置执行权限

chmod +x /etc/rc.d/rc.local

13、使用oracle用户创建用户

su - oracle
sqlplus / as sysdba
##创建一个新用户abc和密码123456
create user abc identified by 123456;
##授予DBA权限。
grant connect,resource,dba to abc;
##撤销权限
##revoke connect,resource,dba from abc;
##退出
quit

 14、查看监听状态

su - oracle
lsnrctl status

 如果未监听到实例,按顺序重启数据库:https://blog.csdn.net/u014644574/article/details/115532278

15、使用PL/SQL连接

tnsnames.ora

test =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.200)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oradb)
    )
  )

用户名:abc
密码:123456

url=jdbc:oracle:thin:@192.168.5.200:1521:orcl

16、修改redo log组以及大小

为防止日志频繁切换,引起数据库性能低下问题。

#查看redo信息、文件保存路径
SQL> select group#,type, member from v$logfile;
#新增3个组
SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/home/oracle/db/oradata/orcl/redo04.log') size 500M;
SQL> ALTER DATABASE ADD LOGFILE GROUP 5 ('/home/oracle/db/oradata/orcl/redo05.log') size 500M;
SQL> ALTER DATABASE ADD LOGFILE GROUP 6 ('/home/oracle/db/oradata/orcl/redo06.log') size 500M;
#查看每个组的大小、状态
SQL> select group#,thread#,archived,status, bytes/1024/1024 "大小(M)" from v$log;
#切换要删除组的状态为inactive
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
#删除1、2、3组,并删除物理路径下的文件
SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 3;
#新增3个组
SQL> ALTER DATABASE ADD LOGFILE GROUP 1 ('/home/oracle/db/oradata/orcl/redo01.log') size 500M;
SQL> ALTER DATABASE ADD LOGFILE GROUP 2 ('/home/oracle/db/oradata/orcl/redo02.log') size 500M;
SQL> ALTER DATABASE ADD LOGFILE GROUP 3 ('/home/oracle/db/oradata/orcl/redo03.log') size 500M;

17、参数修改

手动备份spfile文件:

##参数备份
#查询spfile文件路径
SQL> show parameter spfile;
SQL> create pfile='spfile_bak' from spfile;
#还原备份
SQL> create spfile from pfile='spfile_bak';

修改最大连接数:

SQL> show parameter processes;
SQL> alter system set processes=2000 scope = spfile;

禁止回收站功能:类似于windows的回收站,根据自己需要选择是否关闭。

SQL> show parameter recyclebin;
SQL> alter system set recyclebin=off scope=spfile;

关闭审计功能:用于监视用户所执行的数据库操作,审计记录可存在数据字典表,根据自己需要选择是否关闭。
 

SQL> show parameter audit;
SQL> alter system set audit_trail=NONE scope=spfile;

查看各个内存参数设置:
 

SQL> show parameter sga;
SQL> show parameter pga;
SQL> show parameter memory;

猜你喜欢

转载自blog.csdn.net/u014644574/article/details/119325944
今日推荐