在 CentOS 6 上安装 Oracle Database 11g R2:

我们的网络没有使用任何 DNS 服务器,因此,我们将按如下方式配置本地 DNS 解析器。

[root@omr12c ~]# cat >> /etc/hosts << EOF
>170.172.0.121 omr12c.mydomain.com omr12c
>170.172.0.123 oms12c.mydomain.com oms12c
>EOF

通过执行以下命令调整所需内核的参数。

[root@omr12c ~]# cat >> /etc/sysctl.conf << EOF
>fs.file-max = 6815744
>kernel.sem = 250 32000 100 128
>kernel.shmmni = 4096
>kernel.shmall = 1073741824
>kernel.shmmax = 4398046511104
>net.core.rmem_default = 262144
>net.core.rmem_max = 4194304
>net.core.wmem_default = 262144
>net.core.wmem_max = 1048576
>fs.aio-max-nr = 1048576
>net.ipv4.ip_local_port_range = 9000 65500
>EOF
[root@omr12c ~]# sysctl -p

执行以下命令为 oracle 用户设置限制。

[root@omr12c ~]# cat >> /etc/security/limits.conf << EOF
>oracle soft nofile 1024
>oracle hard nofile 65536
>oracle soft nproc 16384
>oracle hard nproc 16384
>oracle soft stack 10240
>oracle hard stack 32768
>EOF

Oracle Database 11g R2 需要一些包。
我们可以使用 yum 命令从 Internet 在线安装,或者设置本地 yum 存储库。

我们的 CentOS 6 服务器没有连接到 Internet,我们也没有配置任何本地 yum 存储库,因此,我们使用 rpm 从 CentOS 6 安装 DVD/ISO 安装包。

[root@omr12c Packages]# rpm -Uvh binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh compat-libcap1-1.10-1.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh gcc-4.4.7-4.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh gcc-c++-4.4.7-4.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh glibc-2.12-1.132.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh glibc-devel-2.12-1.132.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh ksh-20120801-10.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libgcc-4.4.7-4.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libstdc++-4.4.7-4.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libstdc++-devel-4.4.7-4.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libaio-0.3.107-10.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libaio-devel-0.3.107-10.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libXext-1.3.1-2.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libXtst-1.2.1-2.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libX11-1.5.0-4.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libXau-1.0.6-4.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libxcb-1.8.1-1.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh libXi-1.6.1-3.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh make-3.81-20.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh sysstat-9.0.4-22.el6.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh unixODBC-2.2.14-12.el6_3.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh unixODBC-devel-2.2.14-12.el6_3.x86_64.rpm
[root@omr12c Packages]# rpm -Uvh elfutils-devel-0.152-1.el6.x86_64.rpm

Oracle Database 11g R2 需要以下用户和组。
我们可以使用以下命令创建这些用户和组。

[root@omr12c ~]# groupadd -g 601 oinstall
[root@omr12c ~]# groupadd -g 602 dba
[root@omr12c ~]# groupadd -g 603 oper
[root@omr12c ~]# useradd -u 601 -g oinstall -G dba,oper oracle
[root@omr12c ~]# echo "oracle" | passwd oracle --stdin

我正在为自己创建另一个用户来执行 DBA 任务。

[root@omr12c ~]# useradd -u 603 -g oinstall -G dba,oper jackli
[root@omr12c ~]# echo "123" | passwd jackli --stdin

要将 SELinux 模式更改为 permissive,请执行以下命令。

[root@omr12c ~]# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
[root@omr12c ~]# setenforce permissive

在 Linux 防火墙中允许 Oracle 侦听器端口 1521.

[root@omr12c ~]# iptables -I INPUT 5 -p tcp --dport 1521 -m state --state NEW,ESTABLISHED -j ACCEPT
[root@omr12c ~]# service iptables save

执行以下命令添加PAM配置。

[root@omr12c ~]# cat >> /etc/pam.d/login << EOF 
>session required pam_limits.so
>EOF

创建 ORACLE_BASE 目录并将所有者更改为 oracle 用户。

[root@omr12c ~]# mkdir -p /u01/app/oracle
[root@omr12c ~]# chown -R oracle:oinstall /u01/app
[root@omr12c ~]# chmod -R 775 /u01/app

不过,如果连接到 Internet,CentOS 6 会自动与其 NTP 服务器同步时间。
但是,正如我们之前提到的,我们的机器没有连接到 Internet。
因此,我们必须使用我们的内部 NTP 服务器进行时间同步。
执行以下命令。

[root@omr12c ~]# sed -i 's/^server*/#server/g' /etc/ntp.conf
[root@omr12c ~]# cat >> /etc/ntp.conf << EOF
>server 170.172.0.3
>server 170.172.0.2
>EOF
[root@omr12c ~]# chkconfig ntpd on
[root@omr12c ~]# service ntpd start

根据 Oracle Database 11g R2 的要求设置环境参数。

[root@omr12c ~]# su - oracle
[oracle@omr12c ~]$ cat >> ~/.bash_profile << EOF
>ORACLE_BASE=/u01/app/oracle
>ORACLE_SID=omr12c
>export ORACLE_BASE ORACLE_SID
>unset ORACLE_HOME
>unset TNS_ADMIN
>EOF

执行 ~/.bash_profile 以将更改应用于环境。

[oracle@omr12c ~]$ . ~/.bash_profile

从 Oracle Database 11g R2 安装目录运行安装程序。
使用默认选项安装 Oracle RDBMS,并创建一个名为 omr12c 的数据库。

[oracle@omr12c ~]$ ./runInstaller

安装后更新 ~/.bash_profile。

[oracle@omr12c ~]$ cat >> ~/.bash_profile << EOF
>if [ $USER = "oracle" ]; then
>  if [ $SHELL = "/bin/ksh" ]; then
>     ulimit -p 16384
>     ulimit -n 65536
>  else
>     ulimit -u 16384 -n 65536
>  fi
>fi
>ORACLE_HOSTNAME=omr12c.mydomain.com
>ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
>export ORACLE_HOSTNAME ORACLE_HOME
>TNS_ADMIN=$ORACLE_HOME/network/admin
>LD_LIBRARY_PATH=$ORACLE_HOME/dbhome_1/lib
>PATH=$PATH:$ORACLE_HOME/bin
>export TNS_ADMIN LD_LIBRARY_PATH PATH
>EOF
在 CentOS 6 上配置 Oracle 管理信息库 12c

在这里,我们将配置一个 Oracle Database 11g 服务器,该服务器将用作 CentOS 6 上 Oracle Enterprise Manager Cloud Control 12c 的 Oracle Management Repository。
但首先,我们想简要定义一些我们可能在本文中经常遇到的术语.

OEM12c 的架构具有三个不同的组件:

  • 收集代理(Oracle 管理代理或者 OMA)
  • 聚合代理(Oracle 管理服务器或者 OMS)
  • 存储库代理(Oracle Management Repository 或者 OMR)

Oracle 管理代理/OMA 在目标主机上运行并收集有关在该目标主机上运行的硬件、操作系统和应用程序的信息。

Oracle Management Server/OMS 在中央服务器上运行并收集由多个 Oracle Management Agents/OMA 生成的数据。
OMS 还提供用于监控和管理服务的 Web 界面。

Oracle Management Repository/OMR 是一个 Oracle Database 11g R2.
OMS 从多个 OMA 中提取信息并将数据聚合到 OMR 中。

在 CentOS 6 上配置 Oracle Management Repoistory 12c:

连接omr12c数据库,调整以下系统参数。

[oracle@omr12c ~]$ sqlplus / AS SYSDBA
SQL> ALTER SYSTEM SET processes=300 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET session_cached_cursors=200 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET sga_target=1200M SCOPE=SPFILE;
SQL> ALTER SYSTEM SET shared_pool_size=600M SCOPE=SPFILE;
SQL> ALTER SYSTEM SET pga_aggregate_target=300M SCOPE=SPFILE;
SQL> ALTER SYSTEM SET job_queue_processes=20 SCOPE=SPFILE;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP

如果我们选择在数据库创建期间配置 EM 的选项,那么我们现在必须将其删除。

SQL> shutdown immediate;
SQL>  startup restrict;
SQL>  EXEC sysman.emd_maintenance.remove_em_dbms_jobs;
SQL>  EXEC sysman.setEMUserContext('',5);
SQL>  REVOKE dba FROM sysman;
SQL>  DECLARE
SQL>     CURSOR c1 IS
SQL>        SELECT owner, synonym_name name
SQL>        FROM dba_synonyms
SQL>        WHERE table_owner = 'SYSMAN' ;
SQL>  BEGIN
SQL>     FOR r1 IN c1 LOOP
SQL>        IF r1.owner = 'PUBLIC' THEN
SQL>           EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM '||r1.name;
SQL>        ELSE
SQL>           EXECUTE IMMEDIATE 'DROP SYNONYM '||r1.owner||'.'||r1.name;
SQL>        END IF;
SQL>     END LOOP;
SQL>  END;
SQL>  /
SQL>  DROP USER mgmt_view CASCADE;
SQL>  DROP ROLE mgmt_user;
SQL>  DROP USER sysman CASCADE;
SQL>  ALTER SYSTEM DISABLE RESTRICTED SESSION;
SQL> exit
[oracle@omr12c ~]$ emca -deconfig dbcontrol db -repos drop

Oracle 建议 Oracle Management Repository/OMR 的重做日志文件大小为 300GB。

SQL> ALTER DATABASE ADD LOGFILE ('/u01/app/oracle/oradata/omr12c/redo04a.log','/u01/app/oracle/oradata/omr12c/redo04b.log') size 300M;
SQL> ALTER DATABASE ADD LOGFILE ('/u01/app/oracle/oradata/omr12c/redo05a.log','/u01/app/oracle/oradata/omr12c/redo05b.log') size 300M;
SQL> ALTER DATABASE ADD LOGFILE ('/u01/app/oracle/oradata/omr12c/redo06a.log','/u01/app/oracle/oradata/omr12c/redo06b.log') size 300M;
SQL> ALTER DATABASE DROP LOGFILE GROUP 1;
SQL> ALTER DATABASE DROP LOGFILE GROUP 2;
SQL> ALTER DATABASE DROP LOGFILE GROUP 3;
SQL> ALTER SYSTEM SWITCH LOGFILE;

我们已经在 CentOS 6 服务器上成功配置了 Oracle Management Repository/OMR 12c。

更多: zhilu jiaocheng

创建一个服务来自动启动 Oracle 数据库和监听器:

默认情况下,Oracle Installer 在系统启动期间不配置数据库和侦听器的自动启动。
因此,我们必须为此创建一个服务脚本。

[root@omr12c ~]# su - root
[root@omr12c ~]# cat >> /etc/init.d/dbora << EOF
>#!/bin/sh
># chkconfig: 345 99 10
># description: Oracle auto start-stop script.
>#
># Change the value of ORACLE_HOME to specify the correct Oracle home
># directory for your installation.
>ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
>#
># Change the value of ORACLE to the login name of the
># oracle owner at your site.
># 
>ORACLE_USER=oracle
>PATH=${PATH}:$ORACLE_HOME/bin
>export ORACLE_HOME ORACLE_USER PATH
>#
>case  in
>'start')
>      runuser -l $ORACLE_USER -c '$ORACLE_HOME/bin/dbstart $ORACLE_HOME &' 
>      touch /var/lock/subsys/dbora
>      ;;
>'stop')
>      runuser -l $ORACLE_USER -c '$ORACLE_HOME/bin/dbshut $ORACLE_HOME' 
>      rm -f /var/lock/subsys/dbora
>      ;;
>*)
>      echo "usage: ##代码## {start|stop}"
>      exit
>      ;;
>esac
>#
>exit
>EOF
[root@omr12c ~]# chmod 750 /etc/init.d/dbora
[root@omr12c ~]# chkconfig dbora on
[root@omr12c ~]# sed -i 's/:Y/:N/g' /etc/oratab
[root@omr12c ~]# reboot

我们已经在 CentOS 6 上成功安装了 Oracle Database 11g R2.

配置环境

网络设置

Hostname:omr12c.mydomain.com
IP Address:170.172.0.121/16
Gateway:170.172.0.1
DNS Server:170.172.0.3
日期:2020-09-17 00:11:37 来源:oir作者:oir