本系列文章将会带领大家从零完成一个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
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需要创建三个用户组与一个用户,理论上单例按照需要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= O R A C L E B A S E / p r o d u c t / 12.1.0 / d b h o m e 1 e x p o r t O R A C L E S I D = r u i a d g e x p o r t P A T H = ORACLE_BASE/product/12.1.0/dbhome_1 export ORACLE_SID=ruiadg export PATH= ORACLEBASE/product/12.1.0/dbhome1exportORACLESID=ruiadgexportPATH=HOME/bin: O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/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
参考:https://jingyan.baidu.com/article/6079ad0e6215fd28ff86db88.html
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服务
# vncserver
You 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 exist
New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1
Creating 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
--切换到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= oracle
ORACLE_HOME= /oracle/app/oracle/product/12.1.0/dbhome_1
Enter 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架构