1. 安装图形界面

       yum groupinstall "X Window System"
       yum groupinstall "GNOME Desktop"
       xhost + #禁用访问控制,客户端可以用任何主机连接

      查看已经安装以及可以安装的软件:yum grouplist
      开启图形界面:init 5 或 startx
      关闭图形界面:init 3
      设置默认使用图形界面:systemctl set-default graphical.target
      设置默认使用命令行界面:systemctl set-default multi-user.target

    2. 安装xterm用于Xmanager远程连接图形界面

       yum install xterm
    3. 配置主机名(这里及以后的zzwork都是表示主机名)

       vi /etc/sysconfig/network
       # Created by anaconda
       hostname=zzwork
      
       vi /etc/hosts
       127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 zzwork
       ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
      
       /etc/init.d/network restart #立即生效
    4. 开放1521端口

       firewall-cmd --zone=public --permanent --add-port=1521/tcp
       firewall-cmd --reload
    5. 关闭selinux

       sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
       setenforce 0

      查看selinux状态:getenforce 或 sestatus -v 显示Permissive或Disabled即为已关闭

    6. 修改内核参数

       vi /etc/sysctl.conf
       # for oracle
       net.ipv4.icmp_echo_ignore_broadcasts = 1
       net.ipv4.conf.all.rp_filter = 1
       fs.file-max = 6815744 #设置最大打开文件数
       fs.aio-max-nr = 1048576
       kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
       kernel.shmmax = 2147483648 #最大共享内存的段大小
       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= 1048576
      
       sysctl -p #立即生效
    7. 修改oracle用户限制

       vi etc/security/limits.conf #加入以下内容
       #for oracle
       oracle soft nproc 2047
       oracle hard nproc 16384
       oracle soft nofile 1024
       oracle hard nofile 65536
      
       vi /etc/pam.d/login #使limits.conf配置立即生效
       session    required     pam_limits.so
      
       vi /etc/profile #加入以下内容
       #for oracle
       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 #使配置立即生效
    8. 创建用户以及用户组

       [[email protected] ~]# groupadd oinstall    #创建用户组oinstall
       [[email protected] ~]# groupadd dba    #创建用户组dba
       [[email protected] ~]# useradd -g oinstall -G dba -m oracle    #创建oracle用户,并加入到oinstall和dba用户组
       [[email protected] ~]# passwd oracle    #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
       更改用户 oracle 的密码 。
       新的 密码:
       重新输入新的 密码:
       passwd:所有的身份验证令牌已经成功更新。
       [[email protected] ~]# id oracle    # 查看新建的oracle用户
       uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
       [[email protected] ~]# 
    9. 创建数据库目录和数据文件存放目录,根据实际情况修改

       mkdir -p /usr/oracle/product    #创建oracle安装目录
       mkdir -p /usr/oracle/oradata    #创建oracle数据文件存放目录
       mkdir -p /usr/oracle/oraInventory    #创建oracle数据库清单目录 
       chown -R oracle:oinstall /usr/oracle    #设置oracle用户为目录的所有者
       chmod -R 775 /usr/oracle/    #修改权限
    10. 配置oracle用户环境变量

      su oracle #切换为oracle用户
      vi /home/oracle/.bash_profile #修改为以下内容
      # for oracle
      export ORACLE_BASE=/usr/oracle
      export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
      export ORACLE_SID=orcl
      export ORACLE_TERM=xterm
      export TNS_ADMIN=$ORACLE_HOME/network/admin
      export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
      #修改编码
      export NLS_LANG=AMERICAN_AMERICA.UTF8
      export LANG=en_US.UTF8
      
      PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
      
      export PATH
      
      source /home/oracle/.bash_profile #使配置立即生效
    11. 安装必须软件包

      yum install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz
    12. 解压从oracle官网下载的zip压缩包

      unzip linux.x64_11gR2_database_1of2.zip
      unzip linux.x64_11gR2_database_2of2.zip
    13. 使用Xstart工具并通过oracle用户登录(也可用类似软件),命令选择xterm(Linux)

      xdpyinfo #查看name of display的值,例如localhost:1.0
      export DISPLAY=localhost:1.0 #上一步的值
    14. 修改解压目录下的db_install.rsp并安装,这里为/usr/database,这里使用静默安装,因为安装界面会卡死

      vi db_install.rsp
      oracle.install.option=INSTALL_DB_SWONLY                # 安装类型
      ORACLE_HOSTNAME=zzwork                            # 主机名称
      UNIX_GROUP_NAME=oinstall                                   # 安装组
      INVENTORY_LOCATION=/usr/oracle/oraInventory                         # INVENTORY目录
      SELECTED_LANGUAGES=en,zh_CN                                # 选择语言
      ORACLE_HOME=/usr/oracle/product/11.2.0               # oracle_home
      ORACLE_BASE=/usr/oracle                                   # oracle_base
      oracle.install.db.InstallEdition=EE                        # oracle版本
      oracle.install.db.DBA_GROUP=dba                            # dba用户组
      oracle.install.db.OPER_GROUP=oinstall                      # oper用户组
      oracle.install.db.config.starterdb.type=GENERAL_PURPOSE    # 数据库类型
      oracle.install.db.config.starterdb.globalDBName=orcl       # globalDBName
      oracle.install.db.config.starterdb.SID=orcl                # SID
      oracle.install.db.config.starterdb.characterSet=AL32UTF8   # 默认数据库编码
      oracle.install.db.config.starterdb.memoryLimit=800         # 自动管理内存的最小内存(M)
      oracle.install.db.config.starterdb.password.ALL=oracle     # 设定所有数据库用户使用同一个密码
      DECLINE_SECURITY_UPDATES=true                              # 设置安全更新
      
      ./runInstaller -silent -responseFile /usr/database/db_install.rsp -ignorePrereq

      1.如果出现/usr/bin/xdpyinfo或NoClassDefFoundError错误,检查步骤13
      2.安装期间可以新建终端通过tail命令查看安装日志 tail -f filePath
      3.出现图下提示时,若说安装已完成
      The following configuration scripts need to be executed as the "root" user.
      #!/bin/sh
      #Root scripts to run

      /usr/oracle/product/11.2.0/root.sh
      To execute the configuration scripts:

      1. Open a terminal window
      2. Log in as "root"
      3. Run the scripts
      4. Return to this window and hit "Enter" key to continue

      Successfully Setup Software.

    15. 使用root用户按上一步骤提示执行脚本

      sh /usr/oracle/product/11.2.0/root.sh
    16. 配置监听程序

      vi /usr/database/response/netca.rsp
      INSTALL_TYPE=""custom""                               # 安装的类型
      LISTENER_NUMBER=1                                     # 监听器数量
      LISTENER_NAMES={"LISTENER"}                           # 监听器的名称列表
      LISTENER_PROTOCOLS={"TCP;1521"}                       # 监听器使用的通讯协议列表
      LISTENER_START=""LISTENER""                           # 监听器启动的名称
      
      /usr/oracle/product/11.2.0/bin/netca /slient /responseFile /usr/database/response/netca.rsp
      
      netstat -tnulp | grep 1521 #查看监听程序是否执行

      开启监听:/usr/oracle/product/11.2.0/bin/lsnrctl start
      关闭监听:/usr/oracle/product/11.2/0/bin/lsnrctl stop

    17. 添加数据库实例

      vi /usr/database/response/dbca.rsp
      RESPONSEFILE_VERSION ="11.2.0"                              // 不要修改
      OPERATION_TYPE ="createDatabase"                            // 操作为创建实例  
      GDBNAME ="orcl"                                             // 数据库实例名
      SID ="orcl"                                                 // 实例名字
      TEMPLATENAME = "General_Purpose.dbc"                        // 建库用的模板文件
      SYSPASSWORD = "oracle"                                      // SYS管理员密码
      SYSTEMPASSWORD = "oracle"                                   // SYSTEM管理员密码
      SYSMANPASSWORD= "oracle"
      DBSNMPPASSWORD= "oracle"
      DATAFILEDESTINATION =/usr/oracle/oradata                   // 数据文件存放目录
      RECOVERYAREADESTINATION=/usr/oracle/flash_recovery_area    // 恢复数据存放目录
      CHARACTERSET ="AL32UTF8"                                    // 字符集
      TOTALMEMORY ="3276"                                         // 1638MB,物理内存2G*80%。根据实际情况修改
      
      /usr/oracle/product/11.2.0/bin/dbca -slient -responseFile /usr/database/response/dbca.rsp

    执行过程:
    [[email protected] ~]$ /usr/oracle/product/11.2.0/bin/dbca -slient -responseFile /usr/database/response/dbca.rsp
    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 "/usr/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.

    查看进程:
    [[email protected] ~]$ ps -ef | grep ora_ | grep -v grep
    oracle 19304 1 0 18:33 ? 00:00:00 ora_pmon_orcl
    oracle 19306 1 0 18:33 ? 00:00:00 ora_vktm_orcl
    oracle 19310 1 0 18:33 ? 00:00:00 ora_gen0_orcl
    oracle 19312 1 0 18:33 ? 00:00:00 ora_diag_orcl
    oracle 19314 1 0 18:33 ? 00:00:00 ora_dbrm_orcl
    oracle 19316 1 0 18:33 ? 00:00:00 ora_psp0_orcl
    oracle 19318 1 0 18:33 ? 00:00:00 ora_dia0_orcl
    oracle 19320 1 0 18:33 ? 00:00:00 ora_mman_orcl
    oracle 19322 1 0 18:33 ? 00:00:00 ora_dbw0_orcl
    oracle 19324 1 0 18:33 ? 00:00:00 ora_lgwr_orcl
    oracle 19326 1 0 18:33 ? 00:00:00 ora_ckpt_orcl
    oracle 19328 1 0 18:33 ? 00:00:00 ora_smon_orcl
    oracle 19330 1 0 18:33 ? 00:00:00 ora_reco_orcl
    oracle 19332 1 0 18:33 ? 00:00:00 ora_mmon_orcl
    oracle 19334 1 0 18:33 ? 00:00:00 ora_mmnl_orcl
    oracle 19336 1 0 18:33 ? 00:00:00 ora_d000_orcl
    oracle 19338 1 0 18:33 ? 00:00:00 ora_s000_orcl
    oracle 19361 1 0 18:34 ? 00:00:00 ora_qmnc_orcl
    oracle 19376 1 0 18:34 ? 00:00:00 ora_cjq0_orcl
    oracle 19396 1 0 18:34 ? 00:00:00 ora_q000_orcl
    oracle 19398 1 0 18:34 ? 00:00:00 ora_q001_orcl

    修改启动和关闭实例的程序
    修改文件: /usr/oracle/product/11.2.0/bin/dbstart /usr/oracle/product/11.2.0/bin/dbshut
    将ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=/usr/oracle/product/11.2.0
    修改 /etc/oratab 为 orcl:/usr/oracle/product/11.2.0:Y

    启动或者关闭实例(以oracle用户执行)
    启动实例: /usr/oracle/product/11.2.0/bin/dbstart
    关闭实例: /usr/oracle/product/11.2.0/bin/dbshut

    进入oracle命令行:/usr/oracle/product/11.2.0/bin/sqlplus / as sysdba

    1. 设置开机自启
      chmod +x /etc/rc.d/rc.local
      vi /etc/rc.d/rc.local #加入以下内容
      #for oracle
      su oracle -lc "/usr/oracle/product/11.2.0/bin/lsnrctl start"
      su oracle -lc "/usr/oracle/product/11.2.0/bin/dbstart"