1. 安装图形界面 yum groupinstall "X Window System"yum groupinstall "GNOME Desktop"xhost + #禁用访问控制,客户端可以用任何主机连接yum grouplistinit 5 或 startxinit 3systemctl set-default graphical.targetsystemctl set-default multi-user.target
2. 安装xterm用于Xmanager远程连接图形界面 yum install xterm
3. 配置主机名(这里及以后的zzwork都是表示主机名) 1 2 3 4 5 6 7 8 9 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/tcpfirewall-cmd --reload
5. 关闭selinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/configsetenforce 0getenforce 或 sestatus -v 显示Permissive或Disabled即为已关闭
6. 修改内核参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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用户限制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 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. 创建用户以及用户组 1 2 3 4 5 6 7 8 9 10 11 [root@centos ~]# groupadd oinstall    #创建用户组oinstall [root@centos ~]# groupadd dba    #创建用户组dba [root@centos ~]# useradd -g oinstall -G dba -m oracle    #创建oracle用户,并加入到oinstall和dba用户组 [root@centos ~]# passwd oracle    #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆 更改用户 oracle 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@centos ~]# id oracle    # 查看新建的oracle用户 uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba) [root@centos ~]#  
9. 创建数据库目录和数据文件存放目录,根据实际情况修改 1 2 3 4 5 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用户环境变量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 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压缩包 1 2 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.0export DISPLAY=localhost:1.0 #上一步的值
14. 修改解压目录下的db_install.rsp并安装,这里为/usr/database,这里使用静默安装,因为安装界面会卡死 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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错误,检查步骤13tail -f filePath
1 2 3 4 5 6 7 8 9 10 11 12 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. 配置监听程序 1 2 3 4 5 6 7 8 9 10 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. 添加数据库实例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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 
执行过程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [oracle@oracledb ~]$ /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. 
查看进程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [oracle@oracledb ~]$ 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 
修改启动和关闭实例的程序
1 2 3 修改文件: /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
18. 设置开机自启 1 2 3 4 5 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"