本系列文章将会带领大家从零完成一个Oracle ADG架构的搭建。
本片文章为系列文章的第一篇。

前言

本文将带领大家完成两台服务的Oracle安装。

正文

版本说明:
Oracle版本 Oracle Database 12c Release 1 (12.1.0.2.0) - Enterprise Edition
操作系统版本 Red Hat 7.0

一、检查硬件是否符合安装要求

Oracle12c的硬件要求如下:

1)检查操作系统位数是否与安装包一致

# uname -m
x86_64

经检查,操作系统是64位操作系统,符合安装要求

2)内存与交换空间

官方要求如下:

RAM(内存) Swap Space(交换空间)
Between 1GB and 2GB 1.5 tmes the size of the RAM
Between 2GB and 16GB Equal to the size of the RAM
More than 16GB 16GB
--执行命令查看
#  free      total        used        free      shared  buff/cache   available
Mem:             8009356      245836      7480536      9076    282984     7518036
Swap:            16769020        0        16769020

说明:若需扩充swap空间,请参考附录【1】

二、安装必要软件包

1)检查是否已安装包
使用命令:rpm -qa |grep 包名

#rpm -qa |grep binutils

#rpm -qa |grep compat-libstdc++

#rpm -qa |grep elfutils-libelf

#rpm -qa |grep expat

#rpm -qa |grep gcc

#rpm -qa |grep glibc

#rpm -qa |grep libaio

#rpm -qa |grep libgcc

#rpm -qa |grep libstdc++

#rpm -qa |grep make

#rpm -qa |grep numactl

#rpm -qa |grep sysstat

#rpm -qa |grep ksh

#rpm -qa |grep unixODBC

#rpm -qa |grep cpp

#rpm -qa |grep mpfr

#rpm -qa |grep compat-libcap

#rpm -qa |grep libstdc+±devel

#rpm -qa |grep gcc-c

#rpm -qa |grep glibc-devel

#rpm -qa |grep libaio-devel

2)安装包

--使用如下命令安装
# yum -y install 包名

需安装的包参考如下:
binutils-2.27-41.base.el7.x86_64
compat-libstdc+±33-3.2.3-72.el7.x86_64
elfutils-libelf-0.176-2.el7.x86_64
expat-2.1.0-10.el7_3.x86_64
libgcc-4.8.5-39.el7.x86_64
glibc-2.17-292.el7.x86_64
glibc-common-2.17-292.el7.x86_64
libaio-0.3.109-13.el7.x86_64
libgcc-4.8.5-39.el7.x86_64
libstdc+±4.8.5-39.el7.x86_64
make-3.82-24.el7.x86_64
numactl-libs-2.0.12-3.el7.x86_64
sysstat-10.1.5-18.el7.x86_64.rpm
ksh-20120801-139.0.1.el7.x86_64.rpm
cpp-4.8.5-39.0.1.el7.x86_64.rpm
unixODBC-2.3.1-14.0.1.el7.x86_64.rpm
mpfr-devel-3.1.1-4.el7.x86_64.rpm
compat-libcap1-1.10-7.el7.x86_64.rpm
libstdc+±devel-4.8.5-39.0.1.el7.x86_64.rpm
gcc-c+±4.8.5-39.0.1.el7.x86_64.rpm
glibc-devel-2.17-292.0.1.el7.x86_64.rpm
libaio-devel-0.3.109-13.el7.x86_64.rpm

补充说明:
若yum源中无所需包,可从网上下载,链接如下:
http://rpmfind.net/linux/rpm2html/search.php?query=ksh&submit=Search+…&system=&arch=

将下载安装包上传至服务器/usr/package 目录下(其它路径也可以),在该路径执行yum命令安装(如下例):
# yum -y install ksh-20120801-142.el7.x86_64.rpm

三.Oracle安装包拷贝

1)创建安装包存放目录

# mkdir -p /oradata/source_target/

2)拷贝oracle 12c安装包至服务器

# cd /oradata/source_target/#cp /tmp/rui/linuxamd64_12102_database_1of2.zip .#cp /tmp/rui/linuxamd64_12102_database_2of2.zip . # ll
total 2625080
-rw-r--r--. 1 root root 1673544724 Mar 19 00:56 linuxamd64_12102_database_1of2.zip
-rw-r--r--. 1 root root 1014530602 Mar 19 00:56 linuxamd64_12102_database_2of2.zip

四.创建Oracle数据库的系统账号和用户名

说明:
安装oracle需要创建三个用户组与一个用户,理论上单例按照需要3种用户组,实际可以只建两个oinstall和dba,后面再安装oracle数据库的时候把OSOPER组也设置是dba组。各用户组清单如下:

oracle 清单组(一般为oinstall):
OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。

数据库管理员(OSDBA,一般为 dba):
OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关闭实例。该组的默认名称为dba。

数据库操作员组(OSOPER,一般为 oper):
OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。
该组的默认名称为oper。SYSOPER 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完

执行命令如下:

--创建oinstall组
# groupadd oinstall --创建dba组
# groupadd dba  --创建oper组
# groupadd oper--创建oracle用户,加入第一个用户组为oinstall,然后加入dba,oper用户组
# useradd -g oinstall -G dba,oper oracle    --修改oracle用户密码,需要手动输入两次
# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.--查看新建的oracle用户信息
# id oracle
uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba),1002(oper)

五.修改系统核心参数

在Root用户下执行以下步骤:
1)修改shell参数,以限制oracle用户资源配置。

--打开/etc/security/limits.conf文件
# 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

2)编辑登录配置/etc/pam.d/login文件,使上一步的shell配置生效

--打开/etc/pam.d/login文件
# vi /etc/pam.d/login

将下列内容加入该文件末尾:
session required /lib/security/pam_limits.so
session required pam_limits.so

3)修改内核参数

--打开/etc/sysctl.conf文件
# vi /etc/sysctl.conf

将以下参数添加至文件末尾:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmall = 19804244
kernel.shmmax = 101397731328
kernel.shmmni = 4096
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.ip_local_port_range = 9000 65500

4)完成添加后用root用户执行语句sysctl -p使配置生效,并检查显示的结果是否与修改后的值:

# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmall = 19804244
kernel.shmmax = 101397731328
kernel.shmmni = 4096
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.ip_local_port_range = 9000 65500

5)增大可打开文件描述符的最大数

--打开/etc/profile文件
# vi /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

6)创建oracle安装目录
创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定。

#mkdir -p /oracle/app/product
#mkdir /oracle/app/oradata
#mkdir /oracle/oraInventory

7)创建目录完成后将目录权限分配给oracle用户

--更改目录属主为Oracle用户所有,属组为oinstall
# chown -R oracle:oinstall /oracle/app
# chown -R oracle:oinstall /oracle/oraInventory

8)配置oracle用户的环境变量(环境变量可在安装完成后配置)

--使用oracle用户打开文件.bash_profile
# su - oracle
$ vi .bash_profile

增加以下内容:
export ORACLE_BASE=/oracle/app
export ORACLE_HOME=ORACLEBASE/product/12.1.0/dbhome1exportORACLESID=ruiadgexportPATH=ORACLE_BASE/product/12.1.0/dbhome_1 export ORACLE_SID=ruiadg export PATH=ORACLEB​ASE/product/12.1.0/dbhome1​exportORACLES​ID=ruiadgexportPATH=HOME/bin:ORACLEHOME/bin:ORACLE_HOME/bin:ORACLEH​OME/bin:PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

--查看环境变量
$ env | grep ORA
$ su - oracle
Password:
Last login: Fri Mar 19 01:23:56 CST 2021 on pts/0
$ env | grep ORA #查看环境变量是否完成
ORACLE_SID=ruiadg
ORACLE_BASE=/oracle/app
ORACLE_HOME=/oracle/app/product/12.1.0/dbhome_1

六.安装包准备

1)查看压缩包

$ su
Password:
# cd /oradata/source_target/
# ll
total 2625080
-rw-r--r--. 1 root root 1673544724 Mar 19 00:56 linuxamd64_12102_database_1of2.zip
-rw-r--r--. 1 root root 1014530602 Mar 19 00:56 linuxamd64_12102_database_2of2.zip

2)解压压缩文件准备安装

# unzip linuxamd64_12102_database_1of2.zip
# unzip linuxamd64_12102_database_2of2.zip

解压后在当前目录中生成了一个database的文件夹,解压过程中将两个压缩文件的内容解压到了database文件夹中

# ll
total 2625080
drwxr-xr-x. 7 root root        117 Jul  7  2014 database
-rw-r--r--. 1 root root 1673544724 Mar 19 00:56 linuxamd64_12102_database_1of2.zip
-rw-r--r--. 1 root root 1014530602 Mar 19 00:56 linuxamd64_12102_database_2of2.zip
# cd database/
# ll
total 20
drwxr-xr-x.  4 root root  234 Mar 19 01:34 install
drwxrwxr-x.  2 root root   61 Jul  7  2014 response
drwxr-xr-x.  2 root root   34 Jul  7  2014 rpm
-rwxr-xr-x.  1 root root 8533 Jul  7  2014 runInstaller
drwxrwxr-x.  2 root root   29 Jul  7  2014 sshsetup
drwxr-xr-x. 14 root root 4096 Jul  7  2014 stage
-rwxr-xr-x.  1 root root  500 Feb  7  2013 welcome.html

七.Win10上安装RealVNC

参考:https://jingyan.baidu.com/article/6079ad0e6215fd28ff86db88.html

八.Linux 服务器上VNC安装与配置

1)安装

#yum -y install tigervnc-server-1.8.0-17.el7.x86_64.rpm

2)配置

# vi /etc/sysconfig/vncservers

添加如下内容:
VNCSERVERS=“1:root”
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

3)启动vnc服务

# vncserverYou will require a password to access your desktops.Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify:
xauth:  file /root/.Xauthority does not existNew 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log
--查看服务开启状态
# service vncserver status
Redirecting to /bin/systemctl status vncserver.service
Unit vncserver.service could not be found.

4)配置图形界面
修改配置文件,激活图形界面

#  vi /root/.vnc/xstartup

注释掉倒数三行,并在末尾添加:
gnome-session &

5)配置vnc服务

$  su - root
Password:Last login: Fri Mar 19 03:05:49 CST 2021 from 10.159.44.100 on pts/0
# xhost +
xhost:  unable to open display ""
# export DISPLAY=localhost.localdomain:1
# xhost +
access control disabled, clients can connect from any host

九.关闭防火墙

参考:Linux防火墙状态查看与修改命令(含centOS7操作命令)

# firewall-cmd --state
not running

若防火墙为开启状态,执行如下命令关闭:

# systemctl stop firewalld.service

十.Windows借助VNC Viewer访问Linux




十一.安装oracle

--切换到oracle用户
#  su - oracle$ cd /oradata/source_target/database$ ll
total 20
drwxr-xr-x.  4 root root  234 Mar 19 01:34 install
drwxrwxr-x.  2 root root   61 Jul  7  2014 response
drwxr-xr-x.  2 root root   34 Jul  7  2014 rpm
-rwxr-xr-x.  1 root root 8533 Jul  7  2014 runInstaller
drwxrwxr-x.  2 root root   29 Jul  7  2014 sshsetup
drwxr-xr-x. 14 root root 4096 Jul  7  2014 stage
-rwxr-xr-x.  1 root root  500 Feb  7  2013 welcome.html--执行安装
$ ./runInstaller

图形化安装步骤如下:
当前VNC画面如下:

下面开始进入安装步骤。
1)配置安全更新。因为后期不需要收到更新信息,所以取消邮件通知的勾选,点击【Next】进入下一步。

会弹出告警,点击【Yes】继续。

2)选择安装选项。选择创建和配置数据库,点击【Next】进入下一步。

3)系统类。选择服务器类,点击【Next】进入下一步。

4)网格安装选项。选择单实例数据库安装,点击【Next】进入下一步。

5)安装类型。选择高级安装,点击【Next】进入下一步。

6)产品语言。默认的有英语,添加简体中文,点击【Next】进入下一步。

7)数据库版本。选择企业版,点击【Next】进入下一步。

8)安装位置。根据需要正确配置完Oracle基目录和软件位置后,点击【Next】进入下一步。

9)创建Inventory。配置Inventory目录后,点击【Next】进入下一步。

10)配置类型。选择一般用途/事务处理,点击【Next】进入下一步。

11)数据库标识符。正确配置全局数据库名和SID,取消对“创建为容器数据库”的勾选,点击【Next】进入下一步。

12)配置选项。
内存调整为50%

字符集选择UTF-8

实例方案保留默认配置,点击【Next】进入下一步。

13)数据库存储。指定数据库文件位置,点击【Next】进入下一步。

14)管理选项。保留默认配置,点击【Next】进入下一步。

15)恢复选项。勾选“启用恢复”,并配置文件系统的恢复区位置,点击【Next】进入下一步。

16)方案口令。对所有账户设置相同的密码,点击【Next】进入下一步。

在弹出的提示框中点击【Yes】继续。

17)操作系统组。直接点击【Next】进入下一步。

18)概要。若查看信息没有问题,点击【Install】开始安装。

19)安装产品。执行到脚本安装会要求以root用户身份执行脚本。


打开个命令行,把脚本复制进入回车即可,如下所示:

# /oracle/oraInventory/orainstRoot.sh
Changing permissions of /oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.Changing groupname of /oracle/oraInventory to oinstall.
The execution of the script is complete.# /oracle/app/oracle/product/12.1.0/dbhome_1/root.sh
Performing root user operation.The following environment variables are set as:ORACLE_OWNER= oracleORACLE_HOME=  /oracle/app/oracle/product/12.1.0/dbhome_1Enter the full pathname of the local bin directory: [/usr/local/bin]:  此处直接回车Copying dbhome to /usr/local/bin ...Copying oraenv to /usr/local/bin ...Copying coraenv to /usr/local/bin ...Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

执行完成后,点击【OK】继续安装。

20)完成。安装完成后,点击【Close】关闭窗口。

至此,Oracle软件及实例ruiadg已安装成功。

如上,已经完成一台机器的Oracle安装,按照相同的方式在另一台机器上安装Oracle(两台机器的配置最好相同),即满足了搭建最基本ADG架构(一主一备)的基本条件。


附录【1】
参考连接:https://www.cnblogs.com/jascky/p/8078540.html

1)找个地方创建一个.swap的文件,我放在了/mnt目录下

# dd if=/dev/zero of=/mnt/8GB.swap bs=1G count=8
8+0 records in
8+0 records out
8589934592 bytes (8.6 GB) copied, 11.8513 s, 725 MB/s

这条命令是在/mnt目录下创建一个名为8GB.swap的交换文件,基础大小为1GB,有8个,so:1*8=8GB

2)把创建的.swap文件格式化为Swap文件

# mkswap /mnt/8GB.swap
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=d4cba72b-4e46-43e7-92ba-aa11278b89a2

3)把创建的.swap文件加入到系统中

# swapon /mnt/8GB.swap
swapon: /mnt/8GB.swap: insecure permissions 0644, 0600 suggested.

以上步骤可以做到临时启用交换文件,如果要下次启动系统的时候也启动交换文件,那么还要继续做以下步骤。

4)在/ect/fstab中加入新的Swap分区

# vi /etc/fstab

在最后一行添加(前面是生成的.swap文件的位置)

/mnt/8GB.swap   none swap sw 0 0


下一篇:ADG架构搭建2 – 搭建一主一备ADG架构

ADG架构搭建1--Oracle安装相关推荐

  1. ADG架构搭建4 -- 搭建一主两备ADG架构

    本文接该系列文章的上一篇:ADG架构搭建3 – 一主一备ADG主备切换 前言 请先参照文章<ADG架构搭建1–Oracle安装>完成第三台服务器的Oracle安装. 本文将完成的ADG架构 ...

  2. ADG架构搭建5 -- 一主两备ADG主备切换

    本文接该系列文章的上一篇:ADG架构搭建4 – 搭建一主两备ADG架构 前言 在<ADG架构搭建3 – 一主一备ADG主备切换>一文中,已经带领大家完成了一主一备ADG的主备切换,相信大家 ...

  3. ADG架构搭建3 -- 一主一备ADG主备切换

    本文接该系列文章的上一篇:ADG架构搭建2 – 搭建一主一备ADG架构 前言 Oracle Dataguard的角色转换包含两类:Switchover和Failover.Switchover指主备之间 ...

  4. adg oracle 架构_技术栈数据中心有了ADG架构就高枕无忧了?你还需要做这一步!...

    技术栈 数据中心有了ADG架构, 就高枕无忧了? 你还需要做这一步! 如果把数据中心建设比喻成西天取经,那旅途上的九九八十一难就是我们不得不躲闪.跨越.攻坚的堡垒.即日起,希嘉推出"技术栈& ...

  5. adg oracle 架构_基于 Oracle RAC/ADG/OGG 等设计数据库双活方案,必须掌握五方面知识点...

    原标题:基于 Oracle RAC/ADG/OGG 等设计数据库双活方案,必须掌握五方面知识点 上周,社区组织活动就数据库(Oracle)双活方案进行了深入探讨,包括如何选择双活方案.具体方案的复杂度 ...

  6. 搭建分布式架构4--ZooKeeper注册中心安装

    2019独角兽企业重金招聘Python工程师标准>>> ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务--分布式同步(Distr ...

  7. LAMP架构搭建明细,源码编译安装

    LAMP架构搭建明细 LAMP概述 Apache源码编译 Mysql源码编译 PHP源码编译 LAMP概述 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写 Linux,操 ...

  8. Linux环境搭建:CentOS7安装Oracle

    CentOS7 安装Oracle 11.2.0 材料 [root@bogon yum.repos.d]# rpm -qi centos-release Name : centos-release Ve ...

  9. LANMT架构搭建jspxcms

    LANMT架构搭建jspxcms 大纲: 前言 LANMT是什么? 实验拓扑图 实验环境 实验步骤 Tomcat配置 MySQL配置 jspxcms安装 Apache Httpd配置并测试 Nginx ...

最新文章

  1. 【每日一算法】无重复字符的最长子串
  2. 几个让我印象深刻的面试题(二)
  3. python3.4编程_求教python3.4的编程问题
  4. 狱警招计算机专业干啥,狱警迎来“大扩招”消息,福利待遇不输公务员,大专学历也能报...
  5. element ui 多个子组件_ElementUI 技术揭秘(2) 组件库的整体设计
  6. Scala_类和对象
  7. 人工智能规模化落地还有哪些坑?阿里副总裁华先胜连麦详解!
  8. winedt (latex 编译器)解决中文的问题(CJK CTEX)
  9. c语言错误spawning,C语言一直出现Error spawning cl.exe的解决办法
  10. swift 脚本_Swift脚本和命令行参数
  11. JS开发之Factory(工厂)模式解析
  12. java web术语_Java Web 基本概念和术语
  13. 读书笔记:《码农增刊·游戏人生》
  14. 【零基础学Python】Day7 Python基本数据类型之Set
  15. FPGA学习-PS2接口
  16. 如何提升会员收入?从这道面试题谈谈框架思维。
  17. 【实时语音转文本】PC端实时语音转文本(麦克风外音系统内部音源)
  18. 微信支付不能调起微信支付页面
  19. 452页24万字智慧城市顶层设计及智慧应用解决方案
  20. 人脸识别检测项目实战

热门文章

  1. SNN系列|神经元模型篇(3)SRM
  2. 魔方内存盘的使用体验
  3. struts1 异常
  4. 轮廓的最大面积内接矩形/内接圆计算
  5. No.84 柱状图中最大的矩形
  6. 侠诺虚拟服务器,简便不简单 侠诺PPPoE服务器功能介绍
  7. 明日之后多贝雪山服务器在安卓系统叫什么,明日之后多贝雪山NPC坐标点 多贝雪山NPC位置详解...
  8. 敏捷开发工具Pivotal Tracker实施小结
  9. 企业微信开发——企业内部自建应用开发(第二篇)---JS_SDK配置
  10. Softmax分类器基本实现