开发者

Linux安装Oracle12C全过程

开发者 https://www.devze.com 2025-10-22 08:59 出处:网络 作者: TKang8912
目录一、关闭防火墙二、安装补丁1. 在线安装(需连接外网)2. 离线安装(内网环境推荐)3. 挂载镜像后执行1命令二、建立用户和组:三、创建安装目录四、修改内核参数参数说明五、改文件限制:六、修改oracle用户的环境
目录
  • 一、关闭防火墙
  • 二、安装补丁
    • 1. 在线安装(需连接外网)
    • 2. 离线安装(内网环境推荐)
    • 3. 挂载镜像后执行1命令
  • 二、建立用户和组:
    • 三、创建安装目录
      • 四、修改内核参数
        • 参数说明
      • 五、改文件限制:
        • 六、修改oracle用户的环境变量
          • 七、创建交换空间
            • 八、安装软件
              • 1.修改/etc/profile
              • 2.修改/etc/selinux/config里SELINUX的值
              • 3.安装数据库软件
              • 4.创建监听
              • 5.创建数据库
              • 6.专用模式改为共享模式
            • 九、测试oracle是否安装成功
              • 十、修改字符集
                • 十一、调整process(进程数)
                  • 十二、修改密码过期策略
                    • 总结

                      一、关闭防火墙

                      # 查看防火墙状态
                      systemctl status firewalld
                      # 关闭防火墙
                      systemctl stop firewalld
                      # 开启防火墙
                      systemctl disable firewalld
                      

                      二、安装补丁

                      先更新环境依赖库,看有没有报错

                      yum update
                      

                      (三选一即可)

                      1. 在线安装(需连接外网)

                      执行命令:

                      yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ gcc-c++glibc*.i686 glib c glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcclibstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaiolibaio*.i686 libaio-devel libaio-devel*.i686 make sysstat UnixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp libXtst
                      

                      检查是否安装成功(31个安装包)

                      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
                      

                      2. 离线安装(内网环境推荐)

                      网上下载对应操作系统版本的rpm依赖包,执行下述命令编程客栈

                      rpm -ivh *.rpm --nodeps --force
                      

                      3. 挂载镜像后执行1命令

                      1. 修改yum镜像
                      cd /etc/yum.repos.d/
                      vim iso.repo
                      
                      ####
                      [base]
                      name=iso
                      #mirrorlist=http://mirrorlist.Centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
                      baseurl=file:///mnt
                      gpgcheck=0
                      #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
                      enable=1
                      #######
                      
                      1. 每次重启都要,执行挂载命令:
                      mount -o loop  /home/software/rhel-server-7.7-x86_64-dvd.iso /mnt    #iso.repo里的baseurl
                      
                      1. 测试
                      yum repolist
                      
                      1. 清理
                      yum makecache
                      yum clean all
                      

                      二、建立用户和组:

                      groupadd oinstall
                      编程客栈groupadd dba
                      groupadd oper
                      useradd -g oinstall -G dba,oper oracle
                      #oracle用户的密码设置,后面会用到
                      echo "您的密码" | passwd --stdin oracle
                      

                      三、创建安装目录

                      mkdir -p /app/oracle/product/12c/dbhome
                      chown -R oracle:oinstall /app
                      chmod -R 775 /app
                      

                      四、修改内核参数

                      (先看下方参数声明,根据服务器参数对配置文件的插入语句做适当修改)

                      vi /etc/sysctl.conf
                      
                      fs.aio-max-nr = 1048576
                      fs.fi编程le-max = 6815744    #设置最大打开文件数
                      kernel.shmall = 2097152   # 共享内存总量,以页为单位。
                      kernel.shmmax = 4294967295    # 共享内存段的最大尺寸(以字节为单位)
                      kernel.shmmni = 4096    # 整个系统共享内存段的最大数量
                      kernel.sem = 250 32000 100 128 
                      net.ipv4.ip_local_port_range = 9000 65500  # 应用程序可使用的IPv4端口范围
                      net.core.rmem_default = 262144 
                      net.core.rmem_max = 4194304 
                      net.core.wmem_default = 262144 
                      net.core.wmem_max = 1048586
                      

                      改好后,使之生效:

                      sysctl -p
                      

                      参数说明

                      kernel.shmall = 6580668  # 可以使用的共享内存的总页数(Linux共享内存页大小为4kb)
                      kernel.shmmni=4096  # 设置系统范围内共享内存段的最大数量(默认4096)
                      kernel.shmmax = 33693024256   # 单个共享内存段的最大值(字节);一个共享内存段应容纳下整个SGA(>=sga_max_size)
                      32位linux系统:推荐值 4294967295
                      64位linux系统:推荐值
                      	内存|kernel.shmmax|kernel.shmall
                      	12G | 12884901887	|	  3145728
                      	16G | 17179869183	|	  4194304
                      	32G | 34359738367	|	  8388608
                      	64G | 68719476735	|	  16777216
                      	128G | 137438953471	|  33554432
                      # 计算公式如下
                      kernel.shmmax = 内存*1024*1024*1024
                      kernel.shmall = kernel.shmmax/1024/4
                      

                      五、改文件限制:

                      vim /etc/security/limit编程客栈s.conf
                      #(没有前面这个文件,则 vi /etc/security/limits.d/20-nproc.conf )
                      
                      oracle soft nproc 2047 
                      oracle hard nproc 16384 
                      oracle soft nofile 1024 
                      oracle hard nofile 65536 
                      oracle soft stack 10240
                      
                      #oracle soft memlock unlimited
                      #oracle hard memlock unlimited
                      

                      六、修改Oracle用户的环境变量

                      su - oracle
                      vim .bash_profile
                      
                      export ORACLE_BASE=/app/oracle
                      export ORACLE_HOME=$ORACLE_BASE/product/12c/dbhome
                      export ORACLE_SID=orcl
                      export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
                      export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
                      
                      # 加载环境变量
                      source .bash_profile
                      

                      七、创建交换空间

                      dd if=/dev/zero of=/home/swap bs=1024 count=8000000 
                      mkswap /home/swap 
                      swapon /home/swap 
                      

                      八、安装软件

                      1.修改/etc/profile

                      vim /etc/profile
                      
                      #添加以下内容
                      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
                      

                      2.修改/etc/selinux/config里SELINUX的值

                      vim /etc/selinux/config
                      SELINUX=disabled
                      

                      3.安装数据库软件

                      su - oracle
                      cd /app/database
                      ./runInstaller -silent -responseFile /app/database/db_install.rsp
                      

                      完成数据库软件安装,切到root用户,运行以下脚本。

                      sh /app/oraInventory/orainstRoot.sh
                      sh /app/oracle/product/12c/dbhome/root.sh
                      

                      4.创建监听

                      su - oracle
                      cd /app/database/
                      netca -silent -responsefile /app/database/netca.rsp
                      

                      5.创建数据库

                      su - oracle
                      dbca -silent -createDatabase -responseFile /app/database/dbca.rsp
                      

                      设置密码: ***

                      6.专用模式改为共享模式

                      --没有返回值,说明处于专用模式:
                      SQL>select * from v$dispatcher;
                      SQL>show parameter shared_ser
                      
                      --在线修改共享服务器进程的数量
                      --(若执行下方SQL出现乱码,可执行“十二、修改字符集”,修改数据库字符集)
                      SQL> alter system set shared_servers=5 scope=both;
                      
                      --配置dispatchersDispatchers参数用于配置共享模式架构中dispatcher进程,共享模式只少需要一个dispatcher进程。
                      SQL> alter system set dispatchers='(PROTOCOL=TCP) (dispatchers=3)' scope=both;
                      -- 启动数据库
                      SQL> startup;
                      -- 关闭数据库 
                      SQL> shutdown immediate;
                      

                      九、测试oracle是否安装成功

                      #先启动监听
                      [oracle@ etlsrv ~]$ lsnrctl start
                      #连接sqlplus
                      [oracle@ etlsrv ~]$ sqlplus /nolog
                      
                      --连接dba
                      SQL> conn / as sysdba
                      --启动服务
                      SQL> startup     -- 启动startup,停止 shutdown / shutdown immediate
                      SQL> alter system register;
                      SQL> select status from v$instance; --查看状态
                      SQL> desc dba_tablespaces; --测试:显示表空间
                      SQL> quit
                      
                      # 查看监听状态
                      [oracle@ etlsrv ~]$ lsnrctl status
                      

                      十、修改字符集

                      #系统字符集
                      [root@localhost /root]$ vim ~oracle/.bash_profile
                      
                      export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
                      
                      #使设置生效
                      [root@localhost /root]$source ~oracle/.bash_profile
                      
                      #linux下查看oracle字符集
                      # 切换oracle用户
                      su - oracle
                      # 进入SQL plus控制台
                      sqlplus / as sysdba
                      
                      SQL>select * from v$nls_parameters;  --AL32UTF8
                      SQL>select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';		--AL32UTF8
                      SQL>select userenv('language') from dual;  --SIMPLIFIED CHINESE_CHINA.AL32UTF8
                      

                      十一、调整process(进程数)

                      # 查看ORACLE最大进程数:
                      su - oracle
                      # 先查看现在情况
                      sqlplus / as sysdba
                      
                      SQL> select count(*) from v$session;  #当前连接数
                      SQL> Select count(*) from v$session where status='ACTIVE'; #当前并发连接数
                      SQL> show parameter processes;  #最大连接
                      SQL> show parameter sessions;
                      # 在Linux系统中, 1个用户session 对应一个操作系统 process ,而 Windows体现在线程
                      # 修改ORACLE最大进程数:sessions=(1.1*processes+5)
                      SQL> alter system set processes = 4000 scope = spfile;  #修改连接
                      SQL> alter system set sessions= 4405 scope = spfile;
                      # 系统已更改。
                      SQL> show parameter processes;
                      SQL>shutdown immediate;
                      # 数据库已经关闭。
                      # 已经卸载数据库。
                      # ORACLE 例程已经关闭。
                      SQL> startup
                      # ORACLE 例程已经启动。
                      # 看提示信息,database open后,则表明该数据库全部启动完毕,启动完毕后,再查看一下。
                      SQL> show parameter processes;
                      

                      十二、修改密码过期策略

                      # 设置密码永不过期
                      SQL> alter profile default limit password_life_time unlimited;
                      

                      总结

                      以上为个人经验,希望能给大家一个参考,也希望大php家多多支持编程客栈(www.devze.com)。

                      0

                      精彩评论

                      暂无评论...
                      验证码 换一张
                      取 消

                      关注公众号