9394952

导航

CentOS7离线静默安装Oralce11(p13390677_112040)(转发+笔记)

原文:https://blog.csdn.net/u014644574/article/details/119325944

(另外一篇参考文章:https://blog.csdn.net/Gestapos/article/details/117037123)

 

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

p13390677_112040版本是付费版,免费版安装参考:CentOS7 安装Oralce11g_u014644574的博客-CSDN博客

(p13390677_112040的7个文件应该和11.2.0.3类似 , 解压后第一, 二个包表示database ,  第三个包表示 grid,  第四个表示客户端, 第5个表示gateways ,  第六个表示 examples ,   第七个表示 deinstall )
下载以下文件,并上传这些文件到 /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  :这个手工下载地址:https://centos.pkgs.org/7/centos-x86_64/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm.html
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、优化内核参数

文件内核设置参数详解 系统优化-----sysctl.conf文件内核设置参数详解_JackLiu16的博客-CSDN博客

这里只需要修改,共享内存的总页数 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。 LINUX ulimit命令 - wangkangluo1 - 博客园

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

详细参数参考 db_install.rsp详解,oracle静默安装应答文件详解_yinzhipeng123的博客-CSDN博客_db_install.rsp

    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=dba
    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 = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET= "ZHS16GBK"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
#TOTALMEMORY = “1638” 为1638MB,物理内存2G*80%。
TOTALMEMORY = "26214"


设置响应文件权限

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次密码:密码 + 回车 (不用输密码了,因为上面的dbca.rsp文件里写了密码)

 

 检查一下目前监听状态:

lsnrctl status

 

 


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

 

 

 如果未监听到实例,按顺序重启数据库:重启Oracle数据库_u014644574的博客-CSDN博客_重启oracle数据
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;

 


————————————————
版权声明:本文为CSDN博主「小百菜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014644574/article/details/119325944

posted on 2023-02-07 17:05  9394952  阅读(792)  评论(0编辑  收藏  举报