【翻译】--19C Oracle 安装指导

18C新功能

    1.简化的基于镜像的Oracle数据库安装
    从18C开始,Oracle能够做为镜像文件来下载和安装,必须解压缩镜像文件到ORACLE_HOME目录,而后执行runInstaller安装。
    有关更多信息,请参阅 关于基于映像的Oracle数据库安装
    2.基于RPM的Oracle数据库安装
    rpm -ivh 命令安装,能够自动完成安装前检查,将提取的软件包分配给预分配的用户和组,完成其余全部操做。
    有关更多信息,请参阅使用RPM软件包安装Oracle数据库
    3.只读Oracle Home
    从Oracle 18C 若是选择只读OracleHome,那么数据库工具和进程都会写入到OracleBase 目录下,而不是OracleHome下。经过这种将Oracle_Home 和配置,日志文件隔离,能够实现多个部署共享ORACLE_HOME
    有关更多信息,请参阅配置只读Oracle主目录
    4.用于打数据库补丁的本地切换Home 命令
    从Oracle Database 18c开始,ORACLE_HOME包含一个内置工具,rhpctl 容许你从当前的ORACLE_HOME,切换到已经打了补丁的ORACLE_HOME,若是须要回退,则能够再切回来。rhpctl 执行切换目录 的全部操做,该命令还提供选项,使用会话管理滚动或不滚动群集中的单个节点或节点集
     有关更多信息,请参见“  Oracle Clusterware管理和部署指南”

 

Oracle数据库在发行版(19C)中的更改

新功能html

oracle 数据库安装的root 脚本自动化支持。
基于镜像的Oracle客户端安装
不推荐的功能
clone.pl脚本在Oracle19C 中不推荐,未来可能会弃用。

1.Oracle数据库安装检查列表

显示器 1024 x 768
RAM DB安装 至少1G,建议2G以上
Grid安装 至少8G
OS

Red Hat Enterprise Linux 7.4: 3.10.0-693.5.2.0.1.el7.x86_64 or laternode

SUSE Linux Enterprise Server 12 SP3: 4.4.162-94.72-default or laterpython

HugePages Oracle建议禁用Transparent HugePages并使用标准HugePages以提升性能
/tmp 至少1G,若是不足需配置TMPTMPDIR变量指定位置
SWAP     ORACLE DB
1G<RAM<=2G 1.5倍RAM
2G<RAM<=16G  等于RAM
RAM>16G  16G
ORACLE RESTART
8G<RAM<16G 等于RAM
RAM>16G =16G
以上若是配置了HugePages,能够先减去分配给HugePages的内存,再计算SWAP
UNSET环境变量 若是已经安装的有Oracle 软件,且使用相同用户安装Oracle软件,须要取消全部相关环境变量配置
unset ORACLE_HOME, ORACLE_BASE, ORACLE_SID, TNS_ADMIN,ORA_NLS10,ORA_CRS_HOME
Root 脚本 可以使用root 执行,也可使用sudo 执行
最小磁盘需求 对于Linux x86-64
对于standalone 服务器安装,Grid 至少须要6.8G
Oracle Database 至少7.5G 
License信息
只能使用购买了受权的组件,更多License信息参考Oracle Database Licensing Information
Oracle ORAchk 建议在Fresh 安装或升级前都使用ORAchk检查,避免安装过程当中出现问题。
Fresh 数据库安装 ./orachk -profile preinstall
升级数据库 ./orachk -u -o pre
GI 安装 若是要使用ASM或Oracle Restart须要在安装数据库前先安装 Oracle Grid Infrastructure for a standalone server
关闭Oracle进程 在不使用Oracle ASM的独立数据库上:安装Oracle Grid Infrastructure时无需关闭数据库
在使用Oracle ASM的独立数据库上:在安装期间会重启Oracle ASM实例
在Oracle RAC数据库节点上,安装须要升级Oracle Clusterware,您必须一次关闭一个节点,执行滚动升级。
Oracle数据库管理工具
默认状况下,Oracle数据库由Oracle Enterprise Manager Database Express管理。
若是您有Oracle Management Agent,并决定使用OEM Cloud Control集中管理数据库,那么请获取如下信息:
OMS主机/OMS端口/EM管理员用户名/EM管理员密码/ASMSNMP用户的密码
内存管理 建议使用ASMM,物理内存大于4G不能使用AMM,也不建议使用
 

Oracle 19C 下的几个小工具:linux

[oracle@orcl19c ~]$ ls $ORACLE_HOME/suptools
orachk oratop tfaweb

2.为Oracle检查和配置服务器硬件

检查硬件和内存
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
df -h /tmp
free
uname -m
df -h /dev/shm
 
 

使用Oracle Preinstallation RPM自动配置Oracle Linux

4 为Oracle配置Linux操做系统

Oracle 18C RPM 包需求
RedHat 6:
SSH
Red Hat Enterprise Linux 6.4: 2.6.32-358.el6.x86_64 or later
 
yum install -y bc binutils compat-libcap1 compat-libstdc++ compat-libstdc++.i686 e2fsprogs e2fsprogs-libs glibc.i686 glibc \
glibc-devel.i686 glibc-devel ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11.i686 libX11 libXau.i686 libXau libXi.i686 \
libXi libXtst.i686 libXtst libXrender.i686 libXrender libXrender-devel.i686 libXrender-devel libgcc.i686 libgcc libstdc++.i686 libstdc++ \
libstdc++-devel.i686 libstdc++-devel libxcb.i686 libxcb make net-tools nfs-utils smartmontools sysstat
 
 
RedHat 7:
SSH
Red Hat Enterprise Linux 7: 3.10.0-123.el7.x86_64 or later

yum install -y bc binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++ glibc.i686 glibc glibc-devel.i686 glibc-devel \
ksh libaio.i686 libaio libaio-devel.i686 libaio-devel libX11.i686 libX11 libXau.i686 libXau libXi.i686 libXi libXtst.i686 libXtst \
libXrender-devel.i686 libXrender-devel libXrender.i686 libXrender libgcc.i686 libgcc libstdc++.i686 libstdc++ libstdc++-devel.i686 libstdc++-devel \
libxcb libxcb.i686 make nfs-utils net-tools python python-configshell python-rtslib python-six smartmontools sysstat targetcli gcc-c++
 
 
检查是否有遗漏

rpm -q bc binutils compat-libcap1 compat-libstdc++-33.i686 compat-libstdc++-33 glibc.i686 glibc glibc-devel.i686 glibc-devel \
ksh libaio.i686 libaio libaio-devel.i686 libaio-devel libX11.i686 libX11 libXau.i686 libXau libXi.i686 libXi libXtst.i686 libXtst \
libXrender-devel.i686 libXrender-devel libXrender.i686 libXrender libgcc.i686 libgcc libstdc++.i686 libstdc++ libstdc++-devel.i686 libstdc++-devel \
libxcb libxcb.i686 make nfs-utils net-tools python python-configshell python-rtslib python-six smartmontools sysstat targetcli gcc-c++
 
 
操做系统RedHat7.6 不包含以下两个包,忽略:

package compat-libstdc++.i686 is not installed
package compat-libstdc++ is not installed
 
 
Oracle 19C须要的软件包
ssh
Red Hat Enterprise Linux 7.4: 3.10.0-862.11.6.el7.x86_64 or later

yum install -y bc binutils compat-libcap1 compat-libstdc++ elfutils-libelf elfutils-libelf-devel fontconfig-devel \
glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc \
librdmacm-devel libstdc++ libstdc++-devel libxcb make net-tools nfs-utils python python-configshell \
python-rtslib python-six targetcli smartmontools sysstat
 
其余可能须要的包
yum install -y xorg-x11-xauth tigervnc-server zip unzip smartmontools lrzsz readline readline-devel
适用于Linux的其余驱动程序和软件包(略,通常不须要)
非必须安装,但您能够有选择的安装或配置这些包
PAM Oracle 强烈建议安装最新的PAM库
OCFS2 包含在OEL6/OEL7中,您能够和GI 一块儿使用,但并非必须使用,也不必。
Oracle Messaging Gateway 和数据库一块儿安装了,其余组件一般不须要。
ODBC 是一系列数据库访问API,若是您要安装请安装最新的: http://www.unixodbc.org,最低版本要求:unixODBC-2.3.4 or later
LDAP 若是须要使用LDAP特性的功能,才须要装,略
编程环境,略
Web浏览器,略

安装适用于Linux的cvuqdisk RPM

若是没有 cvuqdisk ,Cluster Verification Utility没法发现共享磁盘,而且在运行Cluster Verification Utility时收到错误消息“Package cvuqdisk not installed”。
  1. 找到cvuqdiskRPM包,它位于Grid_home目录中/cv/rpm
  2. cvuqdisk程序包复制到群集上的每一个节点。您应该确保每一个节点都运行相同版本的Linux。
  3. root登陆
  4. CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
    rpm -iv cvuqdisk-1.0.10-1.rpm

确认主机名解析

如:ping myhostname  应该是可解析的

禁用透明HugePages

Oracle建议您在开始安装以前禁用Transparent HugePages。sql

透明HugePages内存和标准HugePages 内存不一样,由于内核khugepaged 线程会在运行期间自动分配内存,而标准HugePages内存是在启动时预分配的,不会在运行期间调整。shell

透明HugePages可能致使运行期间内存分配延迟,Oracle建议禁用,改用标准HugePages以提高性能,检查是否开启透明大页:数据库

RedHat内核:express

# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

其余内核:编程

# cat /sys/kernel/mm/transparent_hugepage/enabled

输出以下[always]表示启用了透明大页

[always] never

若是透明HugePages 被从内核中移除,则文件/sys/kernel/mm/transparent_hugepage 和 /sys/kernel/mm/redhat_transparent_hugepage 将不存在

禁用透明HugePagegs,在RedHat 7中,添加transparent_hugepage=never 参数到/etc/default/grub文件。例如:

RUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"

注意,不一样操做系统可能文件名不一样。

运行以下命令,从新生成grub.cfg文件

# grub2-mkconfig -o /boot/grub2/grub.cfg

重启操做系统使变动永久生效。

在安装期间使用自动SSH配置

    集群环境下,每一个节点都要配置ssh,在安装期间OUI经过ssh/scp 向远程节点copy 文件并在远程节点执行命令,Oracle EM 一样要使用SSH.
你能够在安装期间经过OUI为安装用户配置SSH,该自动配置将在集群节点间配置无需密码的 SSH链接,Oralce建议尽量使用该自动化配置过程。

在极少数状况下,当远程节点关闭SSH链接时,Oracle Clusterware安装可能会在“AttachHome”操做期间失败。要避免此问题,请经过在全部群集节点上的SSH守护程序配置文件/etc/ssh/sshd_config中设置如下参数,将timeout wait设置为无限制

vi /etc/ssh/sshd_config
LoginGraceTime 0

验证Linux上的磁盘I/O调度程序

为了得到Oracle ASM的最佳性能,Oracle建议您使用Deadline I/O 调度程序。
磁盘 I/O 调度程序对磁盘I/O的请求进行从新排序,延迟或合并,以实现更高的吞吐量和更低的延迟。Linux有多个磁盘I/O调度程序可用,包括Deadline,Noop,Anticipatory和Completely Fair Queuing(CFQ)。
在每一个群集节点上,输入如下命令以验证是否已配置Deadline磁盘I/O调度程序以供使用:
# cat /sys/block/${ASM_DISK}/queue/scheduler
noop [deadline] cfq
在此示例中,默认磁盘I / O调度程序为Deadline,而且 ASM_DISK 是Oracle自动存储管理(Oracle ASM)磁盘设备。

在某些虚拟环境(VM)和特殊设备(如快速存储设备)上,上述命令的输出多是none操做系统或VM绕过内核I / O调度并将全部I / O请求直接提交给设备。请勿在此类环境中更改I / O计划程序设置。

若是默认磁盘I / O调度程序不是Deadline,则使用rules文件设置它:

  1. 使用文本编辑器为Oracle ASM设备建立UDEV规则文件:
    # vi /etc/udev/rules.d/60-oracle-schedulers.rules
  2. 将如下行添加到规则文件并保存:
    ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
  3. 在群集系统上,将规则文件复制到群集上的全部其余节点。例如:
    $ scp 60-oracle-schedulers.rules root@node2:/etc/udev/rules.d/
  4. 加载规则文件并从新启动UDEV服务。例如:
    1. Oracle Linux和Red Hat Enterprise Linux
      # udevadm control --reload-rules
    2. SUSE Linux Enterprise Server
      # /etc/init.d boot.udev restart
  5. 验证磁盘I/O调度程序是否设置为Deadline。

为Oracle Grid Infrastructure和Oracle数据库配置用户,组和环境

在安装以前,请建立操做系统组和用户,以及配置用户环境。

所需的操做系统组和用户

当您第一次在系统上安装Oracle软件时,OUI会建立该oraInst.loc文件。

使用此more命令肯定您的系统上是否有Oracle中央库存。例如:

# more /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory    #当前的Oracle 中央目录路径
inst_group=oinstall             #对中央目录具备写权限的操做系统组,默认oinstall

使用以下命令确认Oracle Inventory组仍存在于系统上。例如:

$ grep oinstall /etc/group
oinstall:x:54321:grid,oracle
不要把oraInventory 放在Oracle base 目录下,由于这可能致使其余安装的用户权限错误。
若是Oracle Inventory组不存在,则添加
# /usr/sbin/groupadd -g 54321 oinstall
你只能拥有一个GI安装全部者grid,负责Oracle Clusterware 和Oracle ASM.
但你能够为多个不一样的安装,有多个Oracle 用户。
Oracle软件全部者必须将Oracle Inventory组做为其主要组,以便每一个Oracle软件安装全部者均可以写入中央目录(oraInventory),以便正确设置OCR和Oracle Clusterware资源权限。数据库软件全部者还必须具备OSDBA组和OSOPER,OSBACKUPDBA,OSDGDBA,OSRACDBA和OSKMDBA组做为辅助组(若是您建立它们。如:

/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba #管理数据库
/usr/sbin/groupadd -g 54323 oper #数据库启停
/usr/sbin/groupadd -g 54324 backupdba #备份恢复dba
/usr/sbin/groupadd -g 54325 dgdba #管理和监视dg
/usr/sbin/groupadd -g 54326 kmdba #加密密钥管理
/usr/sbin/groupadd -g 54327 asmdba #访问Oracle ASM
/usr/sbin/groupadd -g 54328 asmoper #启动和关闭Oracle ASM
/usr/sbin/groupadd -g 54329 asmadmin
/usr/sbin/groupadd -g 54330 racdba #rac管理
/usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle
useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba grid
 
 
对于Oracle Restart安装,要成功安装Oracle数据库,请确保grid用户是racdba的成员
Oracle数据库有两个标准管理员组:OSDBA(必需)和OSOPER(可选)。
Oracle Database 12c第1版(12.1)及更高版本提供了系列扩展的数据库组,用于授予基于特定任务的系统特权。
ASMSNMP  是一个具备监控Oracle ASM权限的ASM用户,安装过程当中要求您提供其密码。OEM使用它监控Oracle ASM 实例。
您能够建立asmsnmp数据库用户,授予他ASM的sysdba权限。用来监控ASM运行状态。
Oracle GI 组为其成员提供访问和管理Oracle ASM的权限。
若是您不想使用角色分配组,那么Oracle强烈建议您至少使用两个组.dba 和 oinstall
dba 负责全部的系统管理权限
oinstall (oraInventory 组)具备全部Oracle软件安装权限
 

建立操做系统权限组

/usr/sbin/groupadd -g 54327 asmdba     #具备访问ASM权限

/usr/sbin/groupadd -g 54328 asmoper    #具备启动关闭ASM权限

/usr/sbin/groupadd -g 54322 dba        #SYSDBA权限
/usr/sbin/groupadd -g 54323 oper       #启动和关闭数据库

/usr/sbin/groupadd -g 54324 backupdba  #经过RMAN 或 SQLPLUS 执行备份恢复

/usr/sbin/groupadd -g 54325 dgdba      #管理和监控DG

/usr/sbin/groupadd -g 54326 kmdba      #加密密钥管理

/usr/sbin/groupadd -g 54330 racdba     #RAC集群下的Oracle DB 平常管理

建立操做系统Oracle安装用户

/usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle
对于Oracle Grid Infrastructure安装,全部节点上的用户ID和组ID必须相同。
为grid/oracle 用户设置umask 022, 确保建立的文件权限为644
echo umask 022 >>~/.bash_profile
设置grid/oracle 用户descriptors and processes
vi ~/.bash_profile 移除环境变量设置ORACLE_SIDORACLE_HOME, or ORACLE_BASE 等
若是/tmp 不足1G,设置TMP,TMPDIR 变量指向空间足够的位置,/tmp 不能指向共享文件系统
 

检查Oracle软件安装用户的资源限制

vi /etc/security/limits.conf

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock (使用HugePage:90%Mem,单位KB.不使用HuagePages:3145728 (3G))
oracle hard memlock (使用HugePage:90%Mem,单位KB.不使用HuagePages:3145728 (3G))
 

设置远程显示和X11转发配置

远程显示:
export DISPLAY=hostname:0
X11转发
配置用户级ssh客户端配置文件
vi ~/.ssh/config
Host * 
    ForwardX11 no

防止终端输出命令引发的安装错误

Grid Infrastructure 安装期间须要经过ssh在远程运行命令,scp 复制文件。若是系统隐藏文件包含stty 命令可能致使安装错误。
为了不这个问题,你须要修改每一个oracle 软件安装用户家目录的隐藏文件,抑制 STDOUT or  STDERR,以下:
if [ -t 0 ]; then
   stty intr ^C
fi

建立Oracle Database Vault用户账户

若是您打算默认使用Oracle Database Vault,则必须建立Oracle Database Vault用户账户并配置该用户。

您必须先建立Database Vault Owner账户,而后才能使用Oracle Database Vault。您还能够建立Database Vault Account Manager管理账户。

Oracle Database Vault安装基准数据库审计策略。此策略涵盖存储在Oracle Database Vault数据库表中的访问控制配置信息,存储在Oracle Catalog中的信息(回滚段,表空间等),系统权限的使用以及Oracle Label Security配置。安装Oracle Database Vault时,将使用默认值初始化特定于安全性的数据库初始化参数。

参考:

 

取消Oracle安装用户环境变量

在开始安装以前,请取消设置Oracle安装全部者环境变量。若是环境变量设置与安装所需的值冲突,则可能会致使问题。
unset ORA_CRS_HOME ORACLE_HOME ORA_NLS10 TNS_ADMIN以及为Oracle安装用户设置的任何其余环境变量。
确保将$ORACLE_HOME/bin 从环境变量PATH 中移除
 

6 配置Oracle数据库网络

在安装期间分配全局数据库名

输入的数据库名用于设置 DB_NAMEDB_UNIQUE_NAMEDB_DOMAIN参数。

Oracle数据库软件经过其全局数据库名称标识数据库。全局数据库名称由数据库名称和数据库域组成。一般,数据库域与网络域相同,但不必定如此。全局数据库名称惟一的区分数据库与同一网络中的任何其余数据库。在安装期间或使用Oracle Database Configuration Assistant建立数据库时,能够指定全局数据库名称。

例如:
sales.us.example.com

这里:

  • sales.us是数据库的名称。数据库名称(DB_UNIQUE_NAME)部分是一个不超过30个字符的字符串,能够包含字母数字字符,下划线(_),美圆符号($)和井号(#),但必须以字母字符开头。数据库名称中不容许使用其余特殊字符。
  • sales.us也是DB_NAMEDB_NAME初始化参数指定最多八个字符的数据库识别符。
  • example.com是数据库所在的数据库域。在此示例中,数据库域等于网络域。数据库名称和数据库域一块儿使全局数据库名称惟一。域部分是一个不超过128个字符的字符串,能够包含字母数字字符,下划线(_)和井号(#)。DB_DOMAIN初始化参数指定数据库的域名。

可是,DB_NAME参数不必定是DB_UNIQUE_NAME的前八个字符

DB_UNIQUE_NAMEDB_DOMAIN结合起来,构成全局数据库名SERVICE_NAMES

系统标识符(SID)标识特定的数据库实例。同一台电脑上SID惟一标记一个实例。每一个数据库实例都须要惟一的SID和数据库名称。在大多数状况下,SID等于全局数据库名称的数据库名称部分。

 

设置ORACLE_HOSTNAME环境变量

$ ORACLE_HOSTNAME=somehost.example.com
$ export ORACLE_HOSTNAME
安装数据库在包含多个主机别名的服务器上,必须指定变量 ORACLE_HOSTNAME 。(同一个IP地址注册到naming service,解析为多个主机名),命名服务将任何这些别名解析为同一台计算机。设置 Oracle安装用户环境变量 ORACLE_HOSTNAME 为你想要使用的主机名。
 

7 OracleDB和GI支持的存储选项

存储选项 二进制文件 数据文件 恢复文件
oracle ASM
(环回设备不支持使用Oracle ASM)
No Yes Yes
Oracle ACFS Yes Yes (12.1之后) Yes (12.1之后)
本地文件系统 Yes Yes (不推荐) Yes (不推荐)
NAS(network-attached storage) 上的NFS Yes Yes Yes

选择存储选项时,请遵循如下准则:

  • Oracle强烈建议您为Oracle ASM使用一系列专用磁盘。
  • 若是知足所选存储选项的全部要求,则能够为每种文件类型选择受支持的存储选项的任意组合。
  • 您可使用Oracle ASM存储Oracle Clusterware文件。
  • 不支持直接使用原始或块设备。您只能在Oracle ASM下使用原始设备或块设备。
关于Standalone Server的Oracle GI
若是您计划使用Oracle ASM,则必须在安装数据库以前安装Oracle Restart。
Oracle GI for a standalone server 是一个支持单实例数据库的Oracle GI版本。此支持包括卷管理,文件系统和自动重启功能。用于standalone server 的Oracle GI包括Oracle Restart和Oracle ASM.Oracle将这两种基础架构产品组合成一组安装在Oracle Restart主目录中的二进制文件。
Oracle Restart是做为Oracle Grid Infrastructure的一部分提供的功能。 Oracle Restart监视并能够从新启动Oracle数据库实例,Oracle Net Listeners和Oracle ASM实例。 Oracle Restart目前仅限于管理单实例Oracle数据库和Oracle ASM实例。
Oracle ASM 是一个卷管理器也是文件系统,用来存储Oracle 数据文件,它支持单实例Oracle数据库和Oracle RAC配置。 Oracle ASM还支持通用文件系统,包括Oracle二进制文件。 Oracle ASM是Oracle推荐的存储管理解决方案,可替代传统的卷管理器和文件系统。

Oracle Restart经过提供如下服务来提升Oracle数据库的可用性:

  • 当出现硬件或软件故障时,Oracle Restart会自动启动全部Oracle组件,包括Oracle数据库实例,Oracle Net Listener,数据库服务和Oracle ASM。
  • 从新启动数据库主机时,Oracle Restart以正确的顺序启动组件。
  • Oracle Restart会按期检查以监视Oracle组件的状态。若是组件的检查操做失败,则组件将关闭并从新启动。

Oracle ACFS的限制和指南

  • Oracle ACFS 提供通用文件系统。
  • 配置Oracle ASM的状况下,才能使用Oracle ACFS。
  • 请注意如下有关在Oracle ACFS上放置Oracle数据库和Oracle Grid Infrastructure文件的通常准则和限制:
    • 您能够在Oracle ACFS上放置Oracle数据库二进制文件,数据文件和管理文件(例如,跟踪文件)。
    • Oracle ACFS不支持对Oracle数据库数据文件,表空间文件,控制文件和重作日志进行加密。
    • 仅当数据库版本为Oracle Database 11g第2版或更新版本时,才能将Oracle数据库主目录置于Oracle ACFS上。您没法在Oracle ACFS上安装早期版本的Oracle数据库。
    • 您没法将Oracle Clusterware文件放在Oracle ACFS上。
  • Oracle Restart不支持基于root的Oracle Clusterware资源。所以,若是在Oracle Restart 配置上运行Oracle ACFS,则如下限制适用:
    • 从Oracle Database 18c开始,配置助手不容许在Oracle Restart配置中的Oracle ACFS上建立Oracle数据库主目录。
    • Oracle Restart 在全部平台都不支持Oracle ACFS资源。
    • 从Oracle Database 12c开始,Oracle Restart配置不支持Oracle ACFS注册。
    • 在Linux上,Oracle ACFS提供了一种自动机制,用于在系统从新启动和关闭时加载和卸载驱动程序以及装载和卸载Oracle ACFS文件系统。可是,Oracle ACFS在系统运行时不提供已装入文件系统的自动恢复。除Linux以外,Oracle ACFS不在其余操做系统上提供此自动机制。
    • 不支持在Oracle Restart配置的Oracle ACFS文件系统上建立Oracle数据文件。支持在GI for RAC 的ACFS 上建立数据文件。
  • IBM AIX Workload Partitions(WPAR)不支持Oracle ACFS和Oracle ADVM。

Oracle数据库的文件系统选项

若是在文件系统上安装Oracle数据库文件,Oracle建议将文件系统与操做系统或Oracle数据库软件使用的文件系统分开。
标准Oracle数据库建立选项
  • 若是要在非逻辑卷或RAID设备的基本磁盘上建立数据库,建议将数据文件分散到多个磁盘
  • 若是在LVM或RAID配置中使用多个磁盘,则Oracle建议您使用Stripe and Mirror Everything(SAME)方法来提升性能和可靠性。使用此方法,您没必要为数据库存储指定多个文件系统挂载点。
  • 从认证的NAS 设备挂载的NFS,您还能够选择使用Direct NFS Client,它简化了NFS配置的管理并提升了性能。

高级Oracle数据库建立选项

  • 标准Oracle数据库安装可用的三个文件系统选项。
  • 使用Oracle Managed Files,您能够指定文件系统目录,数据库在对象级别自动建立,命名和管理文件。
  • 若是使用OMF特性,则在建立或删除数据库文件时,必须仅指定数据库对象名而不是文件名。

 

NFS 是一种共享文件系统协议,所以NFS 支持单实例和RAC数据库
存储在NAS设备上的Oracle软件和数据库的性能取决于服务器与NAS设备之间的网络链接性能。为了得到更好的性能,Oracle建议您使用专用网络将服务器链接到NAS设备。应使用千兆以太网或更好。
在开始安装以前,NFS文件系统必须已经mount 并可供服务器使用。
 

关于挂载到NFS存储设备的Direct NFS客户端

Direct NFS Client直接在Oracle软件中集成NFS客户端功能,以优化Oracle和NFS服务器之间的I / O路径。 这种集成能够显着提升性能。
Direct NFS Client支持NFSv3,NFSv4,NFSv4.1和pNFS协议来访问NFS服务器。Direct NFS Client还简化了数据库工做负载的NFS客户端配置的性能优化,并在许多状况下实现了自动化。
从Oracle Database 12c第2版开始,启用Direct NFS时,还能够启用Direct NFS dispatcher。Direct NFS调度程序能够将建立的从数据库实例到NFS服务器的TCP链接合并。在大型数据库部署中,使用Direct NFS调度程序可提升可伸缩性和网络性能。并行NFS部署一样须要大量链接。所以,也建议使用Direct NFS调度程序进行并行NFS部署。
Direct NFS Client能够从操做系统挂载点或oranfstab文件获取NFS挂载点

直接NFS客户端要求

  • NFS服务器的写入大小值(wtmax必须为32768或更高才能与Direct NFS Client一块儿使用。
  • NFS挂载点必须由操做系统内核NFS客户端和Direct NFS Client同时挂载,即便您配置了Direct NFS Client提供文件服务。

    若是Oracle数据库没法使用Direct NFS Client链接到NFS服务器,则Oracle Database将使用操做系统内核NFS客户端链接到NFS服务器。当Oracle数据库没法经过Direct NFS Client链接到NAS存储时,它会在Oracle Alert log和trace files中记录有关Direct NFS客户端链接错误的信息性消息。

  • 遵循标准指南,以维护操做系统NFS和Direct NFS客户端安装的Oracle数据库文件的完整性。

直接NFS挂载点搜索顺序

Direct NFS Client按如下顺序搜索挂载点:

  1. $ORACLE_HOME/dbs/oranfstab
  2. /etc/oranfstab
  3. /etc/mtab

Direct NFS Client使用第一个匹配条目做为挂载点。

注意:

每一个实例只能有一个活动的Direct NFS客户端。在实例上使用Direct NFS Client会阻止另外一个Direct NFS Client实施。

Oracle Database Reference 设置enable_dnfs_dispatcher 参数启用 Direct NFS dispatcher
Oracle Database Performance Tuning Guide 了解启用Parallel NFS and Direct NFS dispatcher的性能优点
Oracle Automatic Storage Management Administrator's Guide 使用Direct NFS Client 或 kernel NFS建立的数据文件管理指导

配置Oracle数据库文件系统存储

为了得到最佳的数据库组织和性能,Oracle建议您将数据文件和Oracle数据库软件安装在不一样的磁盘中。
若是计划将存储放在网络文件系统(NFS)设备,Oracle建议您使用Oracle Direct NFS(dNFS)来利用Oracle Direct NFS客户端内置的性能优化。

Related Topics


为Oracle数据库配置NFS Buffer Size 参数
设置NFS buffer size参数rsize  和wsize为至少 32768.
例如, 为一个Oracle 数据文件挂载点设置buffer size 为32768, 设置相似以下:
nfs_server:/vol/DATA/oradata /home/oracle/netapp nfs\
rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,vers=3,timeo=600
Direct NFS Client 以wtmax 粒度向NFS 服务器写入
 

为Direct NFS Client检查TCP网络协议Buffer

默认状况下,TCP的network buffer size 设置为1 MB,UDP的network buffer size  设置为2 MB。TCP buffer size 能够对文件传输设置限制,这可能会对Direct NFS Client用户性能产生负面影响。
检查当前的TCP缓冲区大小,请输入如下命令:
# sysctl -a |grep -e net.ipv4.tcp_[rw]mem

此命令的输出相似于如下内容:

net.ipv4.tcp_rmem = 4096        87380   1056768
net.ipv4.tcp_wmem = 4096        16384   1056768

Oracle建议您根据服务器的连接速度设置值。例如,执行如下步骤:

  1. 由于root,使用文本编辑器打开/etc/sysctl.conf,添加或更改如下内容:
    net.ipv4.tcp_rmem = 4096        87380   4194304
    net.ipv4.tcp_wmem = 4096        16384   4194304
  2. 运行如下命令应用您的更改:
    # sysctl -p
  3. 重启网络:
    # /etc/rc.d/init.d/network restart

为Direct NFS客户端建立oranfstab文件

Direct NFS经过配置文件 oranfstab 来肯定可用的挂载点。
为你要经过Direct NFS Client链接的每台NFS 服务器,建立具备以下属性的oranfstab  文件:

  • server

    NFS服务器名称。

  • local

    数据库主机上最多指定四个路径,可以使用IP地址或名称,在数据库主机上使用ifconfig的命令显示

  • path

    最多四个到NFS服务器的网络路径,由IP地址或名称指定,在NFS服务器上使用ifconfig的命令显示

  • export

    NFS服务器上的导出路径。

  • mount

    导出卷的相应本地挂载点。

  • mnt_timeout

    指定(以秒为单位)Direct NFS Client在超时以前应等待成功挂载的时间。此参数是可选的。默认超时为10分钟(600)。

  • nfs_version

    指定Direct NFS Client使用的NFS协议版本。可能的值包括NFSv3,NFSv4,NFSv4.1和pNFS。默认版本为NFSv3。若是选择NFSv4.x,则必须配置oranfstab 的值nfs_version若是要将Direct NFS与并行NFS一块儿使用,请指定nfs_versionpNFS

  • security_default

    指定服务器访问的全部导出的NFS服务器路径都适用的默认安全模式。此参数是可选的。sys是默认值。请参考security 参数描述,了解security_default参数支持的安全级别

  • security

    指定安全级别,为Direct NFS Client使用Kerberos认证协议保证安全性。该可选参数可为每一个export-mount 对分别指定。security_defaultsecurity参数支持的安全级别为

    • sys:UNIX级别安全性基于UID和GID的AUTH_UNIX认证。这是安全参数的默认值。
    • krb5:Direct NFS在Kerberos认证下运行。服务器被认证为真实服务器,就如它声称的同样。
    • krb5i:Direct NFS在Kerberos认证和NFS完整性下运行。对服务器进行身份验证,并检查每一个消息传输的完整性。
    • krb5p:Direct NFS在Kerberos认证和NFS隐私下运行。服务器都要经过身份验证,而且全部数据都是彻底加密的。

    安全参数,若是指定,优先于security_default参数。若是这些参数都未指定,则sys是默认身份验证。

    对于NFS服务器Kerberos安全设置,请查看相关的NFS服务器文档。对于Kerberos客户端设置,请查看相关的操做系统文档。

  • dontroute

    指定传出消息不该由操做系统路由,而是使用它们绑定的IP地址发送。

    注意:

    dontroute选项是POSIX选项,在同一subnet中具备多个路径的Linux系统上有时不起做用。

  • management

    使Direct NFS Client可以使用管理接口进行SNMP查询。若是SNMP在NFS服务器上的单独管理接口上运行,则可使用此参数。默认值是服务器参数值。

  • community

    指定用于SNMP查询的社区字符串。默认值是public

如下示例显示了oranfstab三个可能的NFS服务器访问单个oranfstab能够有多个NFS服务器访问条目。

示例8-1 使用 Local 和 Path 的服务器访问条目

如下示例同时使用了local和path。由于它们位于不一样的子网中,因此您没必要指定dontroute

server: MyDataServer1
local: 192.0.2.0
path: 192.0.2.1
local: 192.0.100.0
path: 192.0.100.1
export: /vol/oradata1 mount: /mnt/oradata1

示例8-2 在同一子网中使用 local 和path,指定dontroute

local和path在同一子网,指定dontroute

server: MyDataServer2
local: 192.0.2.0
path: 192.0.2.128
local: 192.0.2.1
path: 192.0.2.129
dontroute
export: /vol/oradata2 mount: /mnt/oradata2

示例8-3使用名称代替IP地址,具备多个Exports,management和community

server: MyDataServer3
local: LocalPath1
path: NfsPath1
local: LocalPath2
path: NfsPath2
local: LocalPath3
path: NfsPath3
local: LocalPath4
path: NfsPath4
dontroute
export: /vol/oradata3 mount: /mnt/oradata3
export: /vol/oradata4 mount: /mnt/oradata4
export: /vol/oradata5 mount: /mnt/oradata5
export: /vol/oradata6 mount: /mnt/oradata6
management: MgmtPath1
community: private

示例8-4使用Direct NFS Exports的Kerberos身份认证

security参数覆盖security_default

server:  nfsserver
 local: 192.0.2.0
 path: 192.0.2.2
 local: 192.0.2.3
 path: 192.0.2.4
 export: /private/oracle1/logs  mount: /logs  security: krb5
 export: /private/oracle1/data  mount: /data  security: krb5p
 export: /private/oracle1/archive mount: /archive security: sys 
 export: /private/oracle1/data1 mount: /data1
 security_default: krb5i

启用和禁用NFS的Direct NFS客户端控制

默认状况下,Direct NFS Client 以禁用状态和单实例数据库一块儿安装,启用以前,您必须配置 oranfstab 文件
经过如下步骤启用或禁用。
启用
 
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk dnfs_on
 
禁用 1. oracle 用户执行

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk dnfs_off
 
2. 删除oranfstab 文件

注意:

若是删除Oracle数据库正在使用的NFS路径,则必须从新启动数据库才能使更改生效。

在Direct NFS客户端上启用混合列压缩

执行如下步骤以在Direct NFS客户端上启用混合列压缩(HCC):

  1. 确保在NFS存储服务器上启用了SNMP。例如:
    $ snmpget -v1 -c public server_name .1.3.6.1.4.1.42.2.225.1.4.2.0
    SNMPv2-SMI::enterprises.42.2.225.1.4.2.0 = STRING: "Sun Storage 7410"
  2. 若是在NFS服务器之外的接口上启用了SNMP,则配置oranfstab使用management参数
  3. 若是使用public以外的社区字符串配置SNMP,则配置oranfstab使用community参数
  4. 检查snmpget是否可用来 确保libnetsnmp.so已经安装

为Standalone Server配置Oracle Grid Infrastructure存储

 
10 为Standalone Server安装和配置Oracle Grid Infrastructure
 

11 安装Oracle数据库

Oracle数据库和Oracle Grid Infrastructure安装软件在多种介质中以基于映像的zip文件的形式提供,可使用多个选项进行安装。

在大多数状况下,您使用Oracle Universal Installer提供的图形用户界面(GUI)来安装软件。可是,您也可使用Oracle Universal Installer完成静默模式安装。

注意:

要在Oracle自动存储管理(Oracle ASM)上安装Oracle数据库文件,必须首先为standalone server安装完成Oracle Grid Infrastructure。用于standalone server的Oracle Grid Infrastructure包含了Oracle Restart和Oracle ASM。

要升级现有Oracle ASM,请经过运行Oracle Grid Infrastructure升级来升级。

您不能使用早期版本的Oracle Universal Installer来安装此版本的组件。

关于基于映像的Oracle数据库安装

从18C 开始Oracle提供了镜像形式的Oracle 软件,建立Oracle Home(建议符合OFA建议)后,解压软件包到ORACLE_HOME,而后运行runInstaller注册数据库软件。
单实例和集群均可以经过这种方式部署。
使用此方法能够实现自定义镜像的部署,好比打过补丁或升级后,建立黄金镜像部署到其余服务器。

关于使用Oracle Fleet Patching和Provisioning部署Oracle数据库

从Oracle 19C 开始, Rapid Home Provisioning被重命名为Oracle Fleet Patching and Provisioning (Oracle FPP).。
经过Oracle Fleet Patching和Provisioning,您能够Oracle软件镜像方式建立,存储和管理OracleHome模板(这称为gold images)。好比数据库,中间件和应用。您能够制做任何黄金映像的工做副本,而后您能够将该工做副本提供给数据中心或云计算环境中的任何节点。
不管集群仍是单节点仍是OracleRestart 上,不管是否安装有GI 均可以经过Oracle FPP部署,打补丁和升级。
Microsoft Windows和HP-UX Itanium系统不支持Oracle Fleet Patching和Provisioning
 
挂载镜像到操做系统
# mount -t iso9660 /dev/dvd /mnt/dvd

关于安装期间的字符集选择

建立数据库后,更改其字符集一般在时间和资源方面很是昂贵。 此类操做可能须要经过导出导入来转换全部字符数据。 所以,在安装时仔细选择数据库字符集很是重要。

Oracle在如下地方使用字符集:

  • 字符数据类型(CHARVARCHAR2CLOB,和LONG)。
  • 表名,列名和PL / SQL变量等标识符。
  • 存储的SQL和PL / SQL源代码,包括嵌入在此代码中的文本文字
从Oracle Database 12c第2版(12.2)开始,从通用/事务处理或数据仓库模板建立的数据库的缺省数据库字符集是Unicode AL32UTF8
Unicode是通用字符集,支持世界上大多数当前使用的语言。它还支持许多历史脚本(字母表)。Unicode是许多技术的默认编码,包括Java,XML,XHTML,ECMAScript和LDAP。Unicode很是适合支持互联网和全球化。
AL32UTF8是一个多字节字符集,字符操做相比单字节字符集(如WE8ISO8859P1或WE8MSWIN1252)可能会稍微慢一些。存储空间AL32UTF8与支持该语言的传统字符集相比要求更高一些英文数据只有存储在CLOB列中时,才可能须要更多空间非字符数据类型(如NUMBER or DATE)的存储不依赖于字符集。Unicode的广泛性和灵活性一般超过了这些额外的成本。
多租户容器数据库(CDB)的数据库字符集决定之后能够插入哪些数据库。确保你的容器数据库与要插拔的PDB字符集兼容。若是你选择AL32UTF8, 则可插拔任何Oracle 数据库支持的字符集(基于EBCDIC的字符集除外)。
 

关于AMM

若是物理内存大于4GB,则安装过程当中不能选择AMM,能够选择ASMM

安装Oracle数据库软件

在启动Oracle数据库或Grid 安装向导以前,请肯定是否要使用任何可用的镜像建立选项。
提取数据库镜像文件并运行runInstaller命令开始安装。        

安装向导用于建立镜像的安装选项

基于镜像的安装你能够安装数据库或Grid经过运行 runInstaller 和  gridSetup.sh ,他们都提供了镜像建立选项:

表11-1安装向导的映像建立选项

选项
描述
-createGoldImage 从当前的Oracle Home建立黄金镜像
-destinationLocation 指定要建立黄金镜像的完整路径或位置。
-exclFiles 指定要重新建立的黄金镜像中排除的文件的完整路径。
—help 帮助。
 

例如:

./runInstaller -createGoldImage -destinationLocation /tmp/my_db_images
./gridSetup.sh -createGoldImage -destinationLocation /tmp/my_grid_images

 

运行Oracle数据库安装向导以安装Oracle数据库

Oracle 给出的安装步骤:
Oracle用户执行:
$ mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
$ chgrp oinstall /u01/app/oracle/product/19.0.0/dbhome_1
$ cd /u01/app/oracle/product/19.0.0/dbhome_1
$ unzip -q /tmp/db_home.zip
$ cd /u01/app/oracle/product/19.0.0/dbhome_1
$ ./runInstaller
配置选项选择:Create and configure a single instance database.
你能够提供信息自动运行root脚本,也能够手工运行。若是自动运行该失败,你能够修复问题后从新执行。

使用RPM软件包安装Oracle数据库

关于基于RPM的Oracle数据库安装

从Oracle Database 18c开始,您可使用RPM软件包安装单实例Oracle数据库或Oracle Database Instant Client软件。

基于RPM的安装执行预安装检查,提取数据库软件,将提取的软件的全部权从新分配给预配置的用户和组,维护Oracle清单,并执行为单实例Oracle配置Oracle数据库软件所需的全部根操做数据库建立和配置。

基于RPM的安装过程会检测什么时候不知足安装的最低要求,并提示您完成这些最低预安装要求。

基于RPM的安装执行仅限软件的Oracle数据库安装并建立Oracle Home。建立Oracle Home后,您可使用 DBCA 建立Oracle数据库。

基于RPM的安装过程为您提供了使用/etc/init.d/oracledb_ORCLCDB-19c服务配置脚本使用默认设置建立数据库的选项

基于RPM的安装的限制和指南

  • 不支持使用RPM为Oracle数据库软件打补丁。请使用OPatch并按照常规修补过程应用Oracle数据库补丁。
  • 基于RPM的Oracle数据库安装不适用于Standard Edition 2。
  • 不支持使用 rpm -Uvh 升级数据库对于Oracle数据库升级,请遵循常规升级过程。
  • 支持RPM安装在同一台计算机上将多个Oracle数据库软件版本安装到不一样的Oracle主目录中。

运行RPM软件包以安装Oracle数据库

手动安装Oracle Database RPM

  1. root登陆
  2. 下载并安装OracleRPM包:
    1. 在Oracle Linux上
      # yum -y install oracle-database-preinstall-19c
    2. 在Red Hat Enterprise Linux上
      # curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
      # yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

      成功安装后,您能够删除下载的RPM文件:

      # rm oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
  3. 也能够从如下位置访问基于Oracle Database RPM的安装的软件下载页面,下载RPM包
  4. 下载后经过以下命令安装
        # yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm
建立和配置Oracle数据库
    以默认配置安装示例数据库:
    # /etc/init.d/oracledb_ORCLCDB-19c configure
若是须要修改参数请编辑:/etc/sysconfig/oracledb_ORCLCDB-19c.conf
该脚本建立包含一个PDB(ORCLPDB1)的容器数据库(ORCLCDB),并配置好监听(1521)

12 Oracle数据库安装后续任务

安装Oracle数据库后,Oracle建议您当即完成其余任务。在使用这些产品以前,还必须完成特定于产品的配置任务。

注意:

本章仅介绍基本配置。有关更详细的配置和调整信息,请参阅特定于产品的管理和调整指南。
        1.打补丁 Release Updates (RU) and Release Update Revisions (RUR) patch
             从Oracle Database 18c开始,Oracle以Release Updates(RU)和Release Update Revisions(RUR)的形式提供季度更新。 Oracle再也不发布补丁集。 有关更多信息,请参阅My Oracle Support说明2285040.1。
         登录Mos,搜索你须要的补丁版本号,点击ReadMe,它包含了补丁信息和如何打补丁。
          补丁升级成功后不要删除 $ ORACLE_HOME/.patch_storage目录,由于它包含了补丁信息。
        2.除了SYS, SYSTEM, 和 DBSMP 用户外,其余的系统管理员帐户密码均被收回,若是要使用请解锁并重设密码。
        Oracle  默认帐户描述说明
        但运行各类cat*.sql脚本时,你可能会自动建立大部分的帐户。检查哪些帐户是Oracle 建立并维护的,查询ALL_USERS 表的 USERNAME  和 ORACLE_MAINTAINED 列。若是 RACLE_MAINTAINED 是Y
        那么必定不要修改帐户,除非运行建立他的脚本
    1.建议安装后,备份root.sh脚本,由于若是你以后在相同ORACLE HOME下经过OUI安装其余oracle 产品,将会更新root.sh的内容。
    2.Oracle 建议安装/升级/打补丁后,运行utlrp.sql脚本,查找并从新编译失效对象。
    3.升级ORAchK 工具。
    ORAchk 检查覆盖全部Oralce软件栈,识别并定位top问题,ORAch'k 主动扫描软件,部署等已知问题。,包括以下:   
    • 独立的Oracle数据库
    • Oracle Grid Infrastructure
    • Oracle Real Application Clusters
    • 最高可用性架构(MAA)验证
    • 升级准备验证
    • Oracle GoldenGate

         Oracle正在继续根据客户要求扩展检查。

     Oracle ORAchk须要Python 3.6软件和库。 运行时提供了确切须要哪些库的信息。
    ORAchk预安装在  $ORACLE_HOME/suptools/orachk 目录,Oracle建议升级导最新版,也能够从Mos(note 1268927.2)下载独立软件。
$ cd $ORACLE_HOME/oui/bin
$ ./runInstaller
检查安装组件,而后关闭退出该OUI.
命令选项 描述
oaa

Oracle Advanced Analytics

olap

Oracle OLAP

partitioning

Oracle分区

rat

Oracle Real Application Testing

使用该工具必须先关闭数据库,修改选项后再启动数据库,用法示例:
cd $ORACLE_HOME/bin
srvctl stop database -d Sales
chopt enable oaa
srvctl start database -d Sales
        Oracle Restart安装过程当中,您只能建立一个磁盘组。 在Oracle Clusterware安装过程当中,您能够建立多个磁盘组。 若是计划为独立服务器或Oracle RAC添加Oracle数据库,则应为数据库文件建立快速恢复区。
        设定  DB_RECOVERY_FILE_DEST参数指定快速恢复区,Oracle会将全部RMAN备份,归档,控制文件自动备份和数据库副本写入FRA。RMAN经过删除再也不须要的过期备份和归档文件自动管理FRA中的文件。
         Oracle建议您建立FRA磁盘组。 Oracle Clusterware文件和Oracle数据库文件能够放在同一磁盘组,您也能够将快速恢复文件放在同一磁盘组中。 可是,Oracle建议您建立单独的FRA磁盘组以减小存储争用。
        设定 DB_RECOVERY_FILE_DEST 启用快速恢复区,经过DB_RECOVERY_FILE_DEST_SIZE设定快速恢复区大小,通常规则来讲,FRA越大月有用,为了方便使用,Oracle建议建立FRA磁盘组至少        能保留3天恢复信息。理想状况下,FRA 应该可以包含全部的文件副本(数据恢复所须要的全部的数据文件,控制文件,在线日志和归档文件)。
       多个数据库能够指向同一个FRA,根据数据库的重要性经过DB_RECOVERY_FILE_DEST_SIZE参数分别指定其对应的大小。
$ cd /u01/app/oracle/product/19.0.0/grid/bin
$ ./asmca/u01/app/oracle/product/19.0.0/grid
    若是你须要安装多套Oracle 数据库,那么您可能想要克隆Oracle Home,由于克隆比从新安装要节省时间,若是你已经打了补丁,那么此方法一样有用。新的OracleHOME已经打了补丁。
执行如下步骤以克隆Oracle主目录:
    1.验证你要克隆的数据库是成功的。
    cat /u01/app/oracle/oraInventory/logs/installActionsdate_time.log
    若是打了补丁,检查
lsinventory$ORACLE_HOME/OPatch/opatch
    2. 中止与Oracle home.有关的全部进程
    3. 建立Oracle Home的压缩文件(不是Oracle Base)
    如:
# zip -r dbhome_1.zip /u01/app/oracle/product/19.0.0/dbhome_1
或
# tar -cvf dbhome_1.tar /u01/app/oracle/product/19.0.0/dbhome_1
不要包含Oracle Base 下的adminfast_recovery_area, 和 oradata 目录,这些目录会在安装新库的时候建立。
    4. Copy 文件导目标库,若是使用FTP,请使用Binary模式传输
    5. 使用以下命令抽取压缩包
# unzip -d / dbhome_1.zip
# tar -xvf dbhome_1.tar
    6.修改目录拥有者
# chown -R oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1
    7. 移除解压缩的ORACLE HOME 下不须要的文件
# cd $ORACLE_HOME
# rm -rf network/admin/*.ora
# rm dbs/old_database_entries
9. 运行 $ORACLE_HOME/clone/bin/clone.pl 脚本,使用以下语法,你也能够添加其余组。
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/clone/bin/clone.pl ORACLE_BASE="/u01/app/oracle" ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1"
OSDBA_GROUP=dba OSOPER_GROUP=oper OSBACKUPDBA_GROUP=backupdba OSDGDBA_GROUP=dgdba OSKMDBA_GROUP=kmdba OSRACDBA_GROUP=racdba -defaultHomeName
 
若是此命令中未指定操做系统组,clone.pl使用源ORACLE HOME 的操做系统组
运行$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/clone/bin/clone.pl -help 获取更多选项
 clone.pl 在19C中已弃用,未来会被移除。因此Oracle 建议您使用仅安装软件选项代替clone.pl克隆数据库
clone.pl 在19C中已弃用,未来会被移除。因此Oracle 建议您使用仅安装软件选项代替clone.pl克隆数据库
  
OUI启动,而后将克隆操做记录在cloneActionstimestamp.log文件中。此日志文件一般位于/u01/app/oracle/oraInventory/logs目录中。
cloneActionstimestamp.log/u01/app/oracle/oraInventory/logs
使用如下命令运行Net Configuration Assistant以配置新数据库的链接信息:

Oracle卸载选项

$ cd $ORACLE_HOME/bin
$ ./netca
使用如下命令运行Database Configuration Assistant觉得新克隆的oracle主目录建立新的Oracle数据库:使用如下命令运行Database Configuration Assistant觉得新克隆的oracle主目录建立新的Oracle数据库:
$ cd $ORACLE_HOME/bin
$ ./dbca

13删除Oracle数据库软件

执行Oracle HOME 下的 deinstall  删除Oracle 软件。
注意:若是您在集群中某个节点上安装了单实例数据库,或者你有多个数据库使用了相同的Global Name(GDN),您不能使用deinstall只移除一个数据库
您能够经过deinstall 来中止和删除数据库软件和组件。包括:
  • Oracle Database
  • Oracle Grid Infrastructure, which includes Oracle Clusterware and Oracle Automatic Storage Management (Oracle ASM)
  • Oracle Real Application Clusters (Oracle RAC)
  • Oracle Database Client

 deinstall 命令位于  $ORACLE_HOME/deinstall 目录

-checkonly 选项,你能够建立响应文件,您也能够编辑默认响应文件。

卸载Grid, RAC 下以root 执行rootcrs.sh; Oracle Gi for Standalone 下以root执行roothas.sh 替代deinstall 删除Grid Infrastracture

 

若是Oracle Home 中的软件未运行(好比安装失败),那么deinstall 不能肯定配置文件,您须要交互或经过响应文件提供。

在卸载Oracle GI前,您须要卸载ACFS且禁用ADVM.

若是您在使用GNS,通知管理员移除DNS相关子域名

运行时deinstall,若是中央目录(oraInventory)中不包含其余已注册的oracle 软件,则将如下文件和目录:

 

  • admin
  • cfgtoollogs
  • checkpoints
  • diag
  • oradata
  • fast_recovery_area

Oracle强烈建议您使用Optimal Flexibl

deinstall 删除Oracle 配置文件,数据文件和FRA   文件。即便他们不在ORACLE BASE下。卸载语法:

 

 

./deinstall [-silent] [-checkonly] [-paramfile complete path of input response file] [-params name1=value name2=value . . .] [-o complete path of directory for saving files] [-tmpdir complete path of temporary directory to use] [-logdir complete path of log directory to use] [-local] [-skipLocalHomeDeletion] [-skipRemoteHomeDeletion] [-help]
参考:https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/oracle-deinstallation-tool-deinstall.html#GUID-71E860C5-4E1E-4D2F-AFD1-141709A172C0
 
 

Oracle数据库的卸载示例

cd $ORACLE_HOME/deinstall
./deinstall 执行卸载
你能够加上-checkonly 用来建立响应文件,也能够编辑响应文件模板:$ORACLE_HOME/deinstall/response/deinstall.rsp.tmpl
经过参数  -paramfile 指定响应文件位置
案例1,卸载Oracle
$ cd /u01/app/oracle/product/19.0.0/dbhome_1/deinstall
$ ./deinstall -paramfile /home/usr/oracle/my_db_paramfile.tmpl
案例2,卸载Grid Infrostrucure
$ cd  /u01/app/oracle/product/19.0.0/grid/deinstall
$ ./deinstall -paramfile /home/usr/oracle/my_grid_paramfile.tmpl/u01/app/oracle/product/19.0.0/grid

降级Oracle Restart

若是在安装期间收到错误,请使用此过程取消配置和降级Oracle Restart,或者对Oracle Restart进行故障排除。

要降级Oracle Restart,必须首先降级Oracle数据库,取消配置Oracle Restart,而后从新配置Oracle Restart。

此外,roothas.sh-deconfig -force 能够在不删除已安装的二进制文件的状况下取消配置Oracle Restart。若是在为独立服务器安装Oracle Grid Infrastructure期间遇到错误,则此功能很是有用。

例如,运行root.sh命令时,您发现缺乏操做系统软件包。经过运行roothas.sh -deconfig -force,您能够取消配置Oracle Restart,修正错误,而后再次运行root.sh

注意:

在取消配置或降级Oracle Restart以前,中止全部正在运行的数据库,服务和侦听器。
  • oracle用户身份建立PFILE的备份
    CREATE PFILE='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/test_init.ora'
    FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';
  • root用户身份登陆
  • 降级Oracle数据库。
  • 降级Oracle Restart资源:
    # srvctl downgrade database -d db_unique_name -o $ORACLE_HOME -t to_version
  • 切换到Grid_home/crs/install目录:
    # cd /u01/app/oracle/product/19.0.0/grid/crs/install
  • 取消配置Oracle Restart。
    # roothas.sh -deconfig -force
  • grid用户身份执行deinstall卸载Oracle Restart 
    $ cd /u01/app/19.0.0/grid/deinstall/
    $ ./deinstall
    deinstall 工具将Oracle Grid Infrastructure home分离,更新OraInventory并清空目录。
  • 在早期版本的Oracle Restart home中root用户身份手动运行root.sh以配置Oracle Restart。
    若是您的系统上没有早期版本的Oracle Restart,则安装相应版本的Oracle Grid Infrastructure for standalone server 以安装Oracle Restart。
  • grid用户将组件添加回Oracle Restart 
    1. 将Oracle数据库添加到Oracle Restart配置:
      $ srvctl add database -db db_unique_name -o $ORACLE_HOME
    2. 将监听添加到Oracle Restart配置:
      $ srvctl add listener -l listener_name -o $ORACLE_HOME
    3. 使用srvctl add service命令将每一个服务添加到数据库例如:
      $ srvctl add service -db mydb -service myservice
  1. 将Oracle主目录链接到Oracle Restart配置:
    $ ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1" ORACLE_HOME_NAME="Ora19c_home$ ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1" ORACLE_HOME_NAME="Ora19c_home

    删除基于RPM的Oracle数据库安装

    1. # yum -y remove oracle-database-ee-19c
    yum 命令检测OracleHome中的默认配置组件,例如数据库(ORCLCDB)和监听(LISTENER),并为您删除这些组件。

    yum命令检测到Oracle主目录中的其余已配置组件(如其余数据库或监听),则会中止卸载过程。将显示一条消息,指示您手动删除这些已配置的组件。 要删除这些已配置的组件:

    $ cd $ORACLE_HOME/bin
  2. $ ./dbca
  3. 要删除与安装关联的任何监听,请运行Oracle Net Configuration Assistant(Oracle NETCA)。
    $ cd $ORACLE_HOME/bin 
    $ ./netca
  4. 再次登陆root执行yum命令以删除基于rpm的数据库安装。
    # yum -y remove oracle-database-ee-19c
卸载之前的版本Grid Home
对于之前版本的升级,若是要卸载之前版本的Grid home,请执行如下步骤:
  1. root用户身份登陆
  2. 手动更改先前版本Grid home的权限。
    # chmod -R 775 /u01/app/oracle/product/18.0.0/grid
    # chown -R oracle:oinstall /u01/app/oracle/product/18.0.0/grid
    # chown oracle /u01/app/oracle/product/18.0.0

    在这个例子中:

    • /u01/app/oracle/product/18.0.0/grid 是之前版本的Oracle Grid Infrastructure,用于独立服务器Home
    • oracle 是Oracle Grid Infrastructure安装全部者用户
    • oinstall 是Oracle Inventory组的名称(OINSTALL组)
    • /u01/app/oracle/product/18.0.0 是前一个Grid Home的父目录。
  3. 以Oracle Grid Infrastructure软件全部者user(oracle身份登陆并运行deinstall命令。
A 手工完成预安装任务
Oracle建议您使用Oracle Universal Installer和Cluster Verification Utility修复脚原本完成最小配置设置。若是您没法使用修复脚本,请手动完成最低系统设置。

配置Linux内核参数

这些主题说明了若是没法使用修复脚本完成它们,如何为Linux手动配置内核参数。

安装的最小参数设置

若是没法使用修正脚本,请使用此表手动设置参数

注意:

  • 除非另行指定,不然下表中显示的内核参数和shell限制值仅为最小值。对于生产数据库系统,Oracle建议您调整这些值以优化系统性能。有关调整内核参数的更多信息,请参阅操做系统文档。
  • 若是任何参数的当前值大于此表中列出的值,则Fixup脚本不会更改该参数的值。

表A-1最低操做系统资源参数设置

参数 文件

SEMMSL

SEMMNS

SEMOPM

SEMMNI

250

32000

100

128

/proc/sys/kernel/sem
SHMALL

大于或等于shmmax的值,以页为单位。

/proc/sys/kernel/shmall
SHMMAX

物理内存大小的一半(以字节为单位)

有关配置shmmax的其余信息,请参阅My Oracle Support说明567506.1。

/proc/sys/kernel/shmmax
SHMMNI

4096

/proc/sys/kernel/shmmni
panic_on_oops

1

/proc/sys/kernel/panic_on_oops
file-MAX

6815744

/proc/sys/fs/file-max
AIO-MAX-NR

1048576

注意:此值限制并发高峰的请求,应设置为避免I/O子系统故障。

/proc/sys/fs/aio-max-nr
ip_local_port_range

最低:9000

最大值:65500

/proc/sys/net/ipv4/ip_local_port_range
rmem_default

262144

/proc/sys/net/core/rmem_default
rmem_max

4194304

/proc/sys/net/core/rmem_max
wmem_default

262144

/proc/sys/net/core/wmem_default
wmem_max

1048576

/proc/sys/net/core/wmem_max

更改内核参数值

若是内核参数值与最小建议值不一样,请使用这些说明显示和更改内核参数值。

使用如下命令显示内核参数的当前值:

表A-2显示内核参数值的命令

参数 命令
semmslsemmnssemopmsemmni # /sbin/sysctl -a | grep sem

此命令显示信号量参数的值。

shmall,shmmaxshmmni # /sbin/sysctl -a | grep shm

此命令显示共享内存段大小的详细信息。

file-MAX # /sbin/sysctl -a | grep file-max

此命令显示最大文件句柄数。

ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range

此命令显示端口号范围。

rmem_default # /sbin/sysctl -a | grep rmem_default
rmem_max # /sbin/sysctl -a | grep rmem_max
wmem_default # /sbin/sysctl -a | grep wmem_default
wmem_max # /sbin/sysctl -a | grep wmem_max
AIO-MAX-NR # /sbin/sysctl -a | grep aio-max-nr

若是您使用Oracle预安装RPM来完成预安装配置任务,那么Oracle预安装RPM会为您设置这些内核参数。可是,若是您未使用Oracle预安装RPM或内核参数与建议的最小值不一样,则更改这些内核参数值:

  1. 使用任何文本编辑器,建立或编辑/etc/sysctl.d/97-oracle-database-sysctl.conf文件,添加或编辑相似于如下内容的行:
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
  2. 更改内核参数的当前值:
    # /sbin/sysctl --system
    查看输出。若是值不正确,请编辑该 /etc/sysctl.d/97-oracle-database-sysctl.conf 文件,而后再次输入此命令。
  3. 确认值设置正确:
    # /sbin/sysctl -a
  4. 从新启动计算机,或运行sysctl --system以使/etc/sysctl.d/97-oracle-database-sysctl.conf生效
设置内核参数值的准则
  • 若是您使用了Oracle预安装RPM,那么您的内核参数设置将驻留在/etc/sysctl.d/99-oracle-database-server-19c-preinstall-sysctl.conf文件中。
  • 仅包含要更改的内核参数值的行。对于信号量参数(kernel.sem),您必须指定全部四个值。若是任何当前值大于最小值,则指定较大的值。
  • /etc/sysctl.conf文件已被弃用。
  • 避免在/etc/sysctl.d/下的多个文件中设置内核参数值具备词法后面名称的文件/etc/sysctl.d/优先,而后才是/etc/sysctl.confOracle建议您使用Oracle预安装RPM,除其余预安装任务外,还会为数据库安装设置内核参数值。

配置SUSE Linux的其余内核设置

SUSE Linux Enterprise Server系统上须要其余内核参数设置配置。

仅在SUSE Linux Enterprise Server系统上执行如下步骤:
  1. 输入如下命令以使系统/etc/sysctl.conf 在从新启动时读取文件:
    # /sbin/chkconfig boot.sysctl on
  2. 输入oinstall组的GID做为参数/proc/sys/vm/hugetlb_shm_group.的值。

    例如,oinstall组GID是501

    # echo 501 > /proc/sys/vm/hugetlb_shm_group
    使用 vi 添加下面的文本 /etc/sysctl.conf,并使 boot.sysctl 脚本在系统从新启动后运行:
    vm.hugetlb_shm_group=501

    注意:

    只能将一个组定义为 vm.hugetlb_shm_group。

 

手动设置UDP和TCP内核参数

若是不使用Fixup脚本或CVU设置临时端口,则设置TCP / IP临时端口范围参数,以便为预期的服务器工做负载提供足够的临时端口。

确保将较低范围设置为至少9000或更高,以回避Well Known端口,并回避Oracle和其余服务器端口经常使用的Registered Ports范围。将端口范围设置得足够高,觉得您打算使用的任何应用程序保留端口。

若是您所拥有的范围的较低值大于9000,而且该范围足以知足您的预期工做负载,那么您能够忽略有关临时端口范围的Oracle Universal Installer警告。

例如,使用IPv4,使用如下命令检查临时端口的当前范围:
$ cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000

在前面的示例中,最低端口(32768)和最高端口(61000)设置为默认范围。

若有必要,请将UDP和TCP临时端口范围更新到足以知足预期系统工做负载的范围,并确保临时端口范围从9000及更高开始。例如:
# echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range
Oracle建议您永久保留这些设置。例如, root 使用文本编辑器打开 /etc/sysctl.conf ,添加或更改如下内容: net.ipv4.ip_local_port_range = 9000 65500 ,而后从新启动网络:
# /etc/rc.d/init.d/network restart

使用Oracle ASMLIB配置存储设备路径持久性

要使用Oracle ASMLIB配置Oracle ASM设备,请完成如下任务:

注意:

要建立在安装期间使用Oracle ASM驱动程序的数据库,必须选择以交互模式运行ASMCA的安装方法。您还必须将磁盘发现字符串更改成ORCL:*

IBM不支持Oracle ASMLIB:System z上的Linux。

因使用ASMLIB不太方便,此处略过
手动配置存储设备路径持久性

您能够经过建立规则文件来维护存储文件路径持久性。

默认状况下,设备文件命名方案udev在服务器启动时动态建立设备文件名,并将其全部权分配给root。若是udev应用默认设置,则会为磁盘修改Oracle设备文件名和全部者,致使服务器从新启动时没法访问磁盘。

例如,在从新启动服务器以后拥有者为grid 的表决盘/dev/sdd可能变成拥有者为root 的设备/dev/sdf

若是使用Oracle ASMFD,则无需确保udev权限和设备路径持久性

若是不使用Oracle ASMFD,则必须建立自定义规则文件。Linux供应商自定义其udev配置并使用不一样的顺序来读取规则文件。例如,在某些Linux发行版udev启动时,它会依次执行规则文件中定义的规则(配置指令)。

这些文件位于路径中/etc/udev/rules.d/规则文件以词法顺序读取。例如,文件10-wacom.rules中的规则在90-ib.rules以前被解析和执行

udev规则文件中指定设备信息时,请确保指定OWNER,GROUP和MODE在显示的顺序中的全部其余特征以前。例如,要在UDEV行上包含特征ACTION,请在OWNER,GROUP和MODE以后指定ACTION。

若是规则文件指向了相同设备,在受支持的Linux内核版本上,最后读取的文件生效。

为Oracle ASM手动配置设备持久性

  1. 在现有系统(单实例或群集)上,要获取当前挂载路径,请在服务器上的存储设备上运行命令scsi_id/sbin/scsi_id)以获取其惟一的设备标识符。 scsi_id使用-s参数运行命令时,您提供的设备路径和名称应该相对于sysfs目录/sys,(例如/block/device)对于/sys/block/device例如:
          # /sbin/scsi_id -g -s /block/sdb/sdb1
     360a98000686f6959684a453333524174
     # /sbin/scsi_id -g -s /block/sde/sde1
   360a98000686f6959684a453333524179

  记录惟一的SCSI标识符,以便在须要时提供它们。

  注意:

  不管scsi_id命令从哪一个节点运行,该命令都应返回给定设备的相同设备标识符值。

  1. 经过编辑/etc/scsi_id.config文件并添加options=-g文件,将SCSI设备配置为可信设备(列为白名单)例如:
    # cat > /etc/scsi_id.config
    vendor="ATA",options=-p 0x80
    options=-g
  2. 使用文本编辑器为Oracle ASM设备建立UDEV规则文件,为安装全部者和您指定OSASM组的操做系统组设置权限0660,其成员是Oracle Grid Infrastructure软件的管理员。 例如,在Oracle Linux上,要建立rules.d安装全部者所在的基于角色的配置文件grid和OSASM组asmadmin,请输入相似于如下内容的命令:
    # vi /etc/udev/rules.d/99-oracle-asmdevices.rules
     
    KERNEL=="sdb1, OWNER="grid", GROUP="asmadmin", MODE="0660", 
    BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000000"
    KERNEL=="sdc1", OWNER="grid", GROUP="asmadmin", MODE="0660",
    BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000001"
    KERNEL=="sdd1", OWNER="grid", GROUP="asmadmin", MODE="0660",
    BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000002"
  3. 在群集系统上,将rules.d文件复制到群集上的全部其余节点。例如:
    # scp 99-oracle-asmdevices.rules root@node2:/etc/udev/rules.d/99-oracle-asmdevices.rules
  4. 以root用户身份,运行partprobe命令。 
    # /sbin/partprobe /dev/sdc1
    # /sbin/partprobe /dev/sdd1
    # /sbin/partprobe /dev/sde1
    # /sbin/partprobe /dev/sdf1
  5. 运行命令udevtest/sbin/udevtest)以测试您建立的UDEV规则配置。输出应指示设备可用且规则按预期应用。例如,对于/dev/ssd1
    # udevtest /block/sdd/sdd1
    main: looking at device '/block/sdd/sdd1' from subsystem 'block'
    udev_rules_get_name: add symlink
    'disk/by-id/scsi-360a98000686f6959684a453333524174-part1'
    udev_rules_get_name: add symlink
    'disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.887085-part1'
    udev_node_mknod: preserve file '/dev/.tmp-8-17', because it has correct dev_t
    run_program: '/lib/udev/vol_id --export /dev/.tmp-8-17'
    run_program: '/lib/udev/vol_id' returned with status 4
    run_program: '/sbin/scsi_id'
    run_program: '/sbin/scsi_id' (stdout) '360a98000686f6959684a453333524174'
    run_program: '/sbin/scsi_id' returned with status 0
    udev_rules_get_name: rule applied, 'sdd1' becomes 'data1'
    udev_device_event: device '/block/sdd/sdd1' validate currently present symlinks
    udev_node_add: creating device node '/dev/data1', major = '8', minor = '17', 
    mode = '0640', uid = '0', gid = '500'
    udev_node_add: creating symlink
    '/dev/disk/by-id/scsi-360a98000686f6959684a453333524174-part1' to '../../data1'
    udev_node_add: creating symlink
    '/dev/disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085
    -part1' to '../../data1'
    main: run: 'socket:/org/kernel/udev/monitor'
    main: run: '/lib/udev/udev_run_devd'
    main: run: 'socket:/org/freedesktop/hal/udev_event'
    main: run: '/sbin/pam_console_apply /dev/data1
    /dev/disk/by-id/scsi-360a98000686f6959684a453333524174-part1
    /dev/disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085-
    part1'

    在示例输出中,请注意应用规则会将OCR设备/dev/sdd1重命名/dev/data1

  6. 加载规则并从新启动UDEV服务。例如:
    • Oracle Linux和Red Hat Enterprise Linux
      # udevadm control --reload-rules
    • SUSE Linux Enterprise Server
      # /etc/init.d boot.udev restart
验证是否正确设置了设备权限和拥有者。

B使用响应文件安装和配置Oracle数据库

查看如下主题以使用响应文件安装和配置Oracle产品。

响应文件的工做原理

响应文件能够帮助您在多台计算机上屡次安装Oracle产品。

启动Oracle Universal Installer(OUI)时,您可使用响应文件自动安装和配置Oracle软件的所有或部分。OUI使用响应文件中包含的值来提供部分或所有安装提示的答案。

一般,安装程序以交互模式运行,这意味着它会提示您在图形用户界面(GUI)中提供信息。使用响应文件提供此信息时,可使用如下任一模式从命令提示符运行安装程序:

  • 静默模式

    若是响应文件中包含全部提示的响应,在启动安装程序时指定-silent选项,则它将以静默方式运行。在静默模式安装期间,安装程序不显示任何屏幕,而是在您用于启动它的终端中显示进度信息。

  • 响应文件模式

    若是在响应文件中包含部分或所有提示的响应并省略-silent选项,则安装程序将以响应文件模式运行。在响应文件模式安装期间,安装程序将显示全部屏幕,包括在响应文件中为其指定信息的屏幕,以及未在响应文件中指定所需信息的屏幕。

您能够经过输入响应文件中列出的变量的值来定义静默或响应文件安装的设置。例如,要指定Oracle主目录名,请提供ORACLE_HOME环境变量的Oracle主路径

ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1

使用静默模式或响应文件模式的缘由

有关在静默模式或响应文件模式下运行安装程序的用例,请查看本节。

模式 用途

静默模式

使用静默模式进行如下安装:

  • 完成无人参与安装,您可使用操做系统 at 实用程序进行安排
  • 在多个系统上完成几个相似的安装,无需用户交互
  • 在没有安装X Window System软件的系统上安装软件。

安装程序会在您用于启动它的终端上显示进度信息,但不会显示任何安装程序屏幕。

响应文件模式

在多个系统上使用响应文件模式完成相似的Oracle软件安装,为某些提示提供默认答案,但不是全部提示。

使用响应文件

使用如下常规步骤在静默或响应文件模式下使用安装程序安装和配置Oracle产品:

注意:

在以静默或响应文件模式运行安装程序以前,必须在系统上完成全部必需的预安装任务。

  1. 准备响应文件。
  2. 以静默或响应文件模式运行安装程序。
  3. 根据Oracle Universal Installer的提示运行 root 脚本。
  4. 若是您完成了纯软件安装,则以静默或响应文件模式运行Net Configuration Assistant和Oracle DBCA,以分别建立数据库侦听器和Oracle数据库实例。

准备响应文件

Oracle为每一个产品和每一个配置工具都提供响应文件模板。
对于Oracle数据库,响应文件模板位于 $ORACLE_HOME/install/response 目录中。
对于Oracle Grid Infrastructure,响应文件模板位于 Grid_home /install/response 目录中。

表B-1 Oracle数据库和Oracle Grid Infrastructure的响应文件

响应文件 描述

db_install.rsp

无声安装Oracle数据库。

dbca.rsp

使用Oracle DBCA静默建立和配置Oracle数据库。

netca.rsp

使用Oracle NETCA静默配置Oracle Net。

gridsetup.rsp

Oracle Grid Infrastructure安装的静默配置。

警告:

修改响应文件模板并保存文件以供使用时,响应文件可能包含纯文本密码。响应文件的全部权应仅提供给Oracle软件安装全部者,响应文件的权限应更改成600. Oracle强烈建议数据库管理员在不使用时删除或保护响应文件。

要复制和修改响应文件:

  1. 将响应文件从响应文件目录复制到系统上的目录:

    例如,对于Oracle数据库:

    $ cp $ORACLE_HOME/install/response/db_install.rsp local_directory
  2. 在文本编辑器中打开响应文件:
    $ vi /local_dir/db_install.rsp
  3. 按照文件中的说明进行编辑。

    注意:

    若是未正确配置响应文件,安装程序或配置助手将失败。另外,请确保您的响应文件名具备.rsp后缀。

  4. 经过将文件的权限更改成600来保护响应文件:
    $ chmod 600 /local_dir/db_install.rsp 

    确保只有Oracle软件全部者用户能够查看或修改响应文件,或者在安装成功后考虑删除它们。

    注意:

    Oracle数据库安装的彻底指定的响应文件包含数据库管理账户的密码以及做为OSDBA组成员的用户的密码(自动备份所需)。

 

录制响应文件

您能够在交互模式下使用OUI来记录响应文件,而后您能够编辑并使用它们来完成静默模式或响应文件模式安装。此方法对于高级或纯软件安装很是有用。

在安装过程当中经过在Summary page 点击 Save Response File 您能够保存全部安装步骤到响应文件,您能够将响应文件应用于稍后的静默安装。
保存响应文件后,您能够继续安装,也能够选择退出安装。

注意:

OUI在记录响应文件时不保存密码。

要记录响应文件:

  1. 完成标准安装的预安装任务。

    当您运行安装程序以记录响应文件时,它会检查系统以验证它是否知足安装软件的要求。所以,Oracle建议您完成全部必需的安装前任务。

  2. 确保Oracle软件全部者用户(一般oracle)对指定的OracleHome 目录具备建立或写权限
  3. 在每一个安装屏幕上,指定所需信息。
  4. 当安装程序显示“Smmary”屏幕时,请执行如下步骤:
    1. 单击保存响应文件在窗口中,指定新响应文件的文件名和位置。
    2. 单击“ 完成”继续安装。

      若是您不想继续安装,请单击“ 取消”安装中止,但保留记录的响应文件。

    注意:

    确保您的响应文件名具备 .rsp 后缀。
  5. 在另外一个系统上使用该响应文件以前,请编辑该文件并进行所需的更改。编辑时,请使用文件中的说明做为指导。

使用响应文件运行Oracle Universal Installer

获取帮助信息

  • 对于Oracle数据库:
    $ $ORACLE_HOME/runInstaller -help
  • 对于Oracle Grid Infrastructure:
    $ /u01/app/oracle/product/19.0.0/grid/gridSetup.sh -help/u01/app/oracle/product/19.0.0/grid

要使用响应文件运行安装程序:

  1. 完成正常安装的预安装任务。
  2. 以软件安装全部者用户身份登陆。
  3. 若是要以响应文件模式安装,请设置DISPLAY环境变量,静默模式不须要。
  4. 要以静默或响应文件模式启动安装程序,请输入相似于如下内容的命令:
    • 对于Oracle数据库:
      $ $ORACLE_HOME/runInstaller [-silent] \
       -responseFile responsefilename
    • 对于Oracle Grid Infrastructure:
      $ /u01/app/oracle/product/19.0.0/grid/gridSetup.sh [-silent] \
       -responseFile responsefilename/u01/app/oracle/product/19.0.0/grid

    注意:

    不要指定响应文件的相对路径。若是指定相对路径,则安装程序将失败。

  5. 若是这是您第一次在系统上安装Oracle软件,则Oracle Universal Installer会提示您运行orainstRoot.sh脚本。

    root用户身份登陆并运行orainstRoot.sh脚本:

    $ su root
    password:
    # /u01/app/oraInventory/orainstRoot.sh
  6. 安装完成后,以root用户身份登陆并运行root.sh脚本。例如:
    $ su root
    password:
    # $ORACLE_HOME/root.sh

    使用响应文件运行netca

$ cp /directory_path/assistants/netca/netca.rsp local_directory
$ vi /local_dir/netca.rsp
$ $ORACLE_HOME/bin/netca /silent /responsefile /local_dir/netca.rsp

使用响应文件运行Oracle DBCA

 

$ cp /directory_path/assistants/dbca/dbca.rsp local_directory 
$ $ORACLE_HOME/bin/dbca -help
$ vi /local_dir/dbca.rsp
$ORACLE_HOME/bin/dbca [-silent] -responseFile /local_dir/dbca.rsp 
您还能够在命令行上指定响应文件中的选项。安装前请设定ORACLE_HOME 环境变量,若是采用响应文件模式,您还须要设定DISPLAY 环境变量。

为安装后配置使用安装响应文件

从Oracle Database 12c第2版(12.2)开始,您可使用在安装期间建立的响应文件来完成安装后配置。

使用参数-executeConfigTools 安装来配置配置助手。您可使用位于$ORACLE_HOME/install/response/product_timestamp.rsp的响应文件来获取运行配置工具所需的密码。 在运行-executeConfigTools命令以前,必须更新响应文件中的密码。

Oracle强烈建议您使用密码响应文件来维护安全性:

  • 响应文件的权限应设置为600。
  • 响应文件的全部者应该是安装全部者用户,并将该组设置为中央inventory(oraInventory)组。

示例B-1 Oracle Grid Infrastructure的响应文件密码(grid用户)

grid.install.crs.config.ipmi.bmcPassword=password grid.install.asm.SYSASMPassword=password grid.install.asm.monitorPassword=password grid.install.config.emAdminPassword=password 

若是您没有BMC卡,或者您不想启用IPMI,请将ipmi.bmcPassword输入字段留空。

若是您不想启用Oracle Enterprise Manager进行管理,请将emAdminPassword密码字段留空。

示例B-2独立服务器(oracle用户)的 Oracle Grid Infrastructure的响应文件密码

oracle.install.asm.SYSASMPassword=password oracle.install.asm.monitorPassword=password oracle.install.config.emAdminPassword=password 

若是您不想启用Oracle Enterprise Manager进行管理,请将emAdminPassword密码字段留空。

示例B-3 Oracle数据库的响应文件密码(oracle用户)

此示例说明了指定用于数据库配置助手的密码。

oracle.install.db.config.starterdb.password.SYS=password oracle.install.db.config.starterdb.password.SYSTEM=password oracle.install.db.config.starterdb.password.DBSNMP=password oracle.install.db.config.starterdb.password.PDBADMIN=password oracle.install.db.config.starterdb.emAdminPassword=password oracle.install.db.config.asm.ASMSNMPPassword=password 

您还能够指定oracle.install.db.config.starterdb.password.ALL=密码 以对全部数据库用户使用相同的密码。

DBCA须要SYS,SYSTEM和DBSNMP密码才能使用。您必须指定如下密码,具体取决于您的系统配置:

  • 若是数据库使用Oracle自动存储管理(Oracle ASM)进行存储,则必须为ASMSNMPPassword指定密码若是您未使用Oracle ASM,请将此密码变量的值保留为空。
  • 若是建立有一个或多个可插拔数据库(PDB)的多租户容器数据库(CDB),则必须为PDBADMIN变量指定密码若是您未使用Oracle ASM,请将此密码变量的值保留为空。

使用响应文件运行安装后配置

  1. 编辑响应文件并为配置设定所需的密码。安装期间建立的响应文件位于$ORACLE_HOME/install/response/product_timestamp.rsp例如:

    对于Oracle数据库(oracle用户)

    oracle.install.asm.SYSASMPassword=password oracle.install.config.emAdminPassword=password

    对于Oracle Grid Infrastructure(grid用户)

    grid.install.asm.SYSASMPassword=password grid.install.config.emAdminPassword=password
  2. 切换目录到包含安装软件的Oracle Home。例如:

    对于Oracle Grid Infrastructure:

    cd Grid_home

    Grid_home路径/u01/app/oracle/product/19.0.0/grid

    对于Oracle数据库:

    cd $ORACLE_HOME
  3. 使用如下语法运行配置脚本:

    对于Oracle Grid Infrastructure:

    $ ./gridSetup.sh -executeConfigTools -responseFile Grid_home/install/response/product_timestamp.rsp

    对于Oracle数据库:

    $ ./runInstaller -executeConfigTools -responseFile $ORACLE_HOME/install/response/product_timestamp.rsp

    对于Oracle数据库,您还能够运行

    $ ./runInstaller -executeConfigTools -responseFile $ORACLE_HOME/inventory/response/db_install.rsp$ORACLE_HOME/inventory/response/db_install.rsp

    安装后配置工具以图形界面运行,显示配置进度。指定 [-silent]在静默模式下运行安装后配置选项。

    例如,对于Oracle Grid Infrastructure:

    $ ./gridSetup.sh -executeConfigTools -responseFile /u01/app/oracle/product/19.0.0/grid/response/grid_2016-01-09_01-03-36PM.rsp [-silent]/u01/app/oracle/product/19.0.0/grid

    对于Oracle数据库:

    $ ./runInstaller -executeConfigTools -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/inventory/response/db_2016-01-09_01-03-36PM.rsp [-silent]/u01/app/oracle/product/19.0.0/dbhome_1/inventory/response/

 

使用ConfigToolAllCommands脚本进行安装后配置

从Oracle Database 12c第2版(12.2)开始,configToolAllCommands不推荐使用,而且可能在未来的发行版中不支持脚本。

C最佳灵活架构

Oracle Optimal Flexible Architecture(OFA)规则是一组配置指南,旨在确保组织良好的Oracle安装,从而简化管理,支持和维护。

表C-2最佳灵活体系结构分层文件路径示例

目录 描述
/

根目录

/u01/

用户数据挂载点1

/u01/app/

应用软件子目录

/u01/app/oraInventory

中央目录,用于维护服务器上的Oracle安装信息。设定OINSTALL组有写权限。全部Oracle软件安装用户必须将OINSTALL做为主组,并可以写入该组。

/u01/app/oracle/

用户Oracle的Oracle Base目录服务器上能够安装许多Oracle数据库,以及许多Oracle数据库软件安装全部者。

Oracle软件主目录应位于Oracle软件安装全部者的Oracle Base目录中,除非该Oracle软件是为群集部署的Oracle Grid Infrastructure。

/u01/app/grid

用户grid的Oracle Base目录用于群集安装的Oracle Grid Infrastructure的Oracle Home(Grid home)位于Grid用户以外。

服务器上只能有一个Grid Home,而且只有一个Grid软件安装全部者。GridHome包含日志文件和其余管理文件。

/u01/app/oracle/admin/

数据库管理文件子目录

/u01/app/oracle/admin/TAR

支持日志文件子目录

/u01/app/oracle/admin/db_sales/

名为“sales”的数据库的Admin子树

/u01/app/oracle/admin/db_dwh/

名为“dwh”的数据库的管理子目录

/u01/app/oracle/fast_recovery_area/

恢复文件子目录

/u01/app/oracle/fast_recovery_area/db_sales

名为“sales”的数据库的恢复文件

/u01/app/oracle/fast_recovery_area/db_dwh

名为“dwh”的数据库的恢复文件

/u02/app/oracle/oradata
/u03/app/oracle/oradata
/u04/app/oracle/oradata

Oracle数据文件目录

/u01/app/oracle/product/

除Oracle Grid Infrastructure以外的Oracle软件产品的通用目录

/u01/app/oracle/product/19.0.0/dbhome_1

Oracle数据库1的Oracle Home目录,由oracle账户拥有 

/u01/app/oracle/product/19.0.0/dbhome_2

Oracle数据库2的Oracle Home目录,由oracle账户拥有

/u01/app/oracle2/product/19.0.0/dbhome_2

Oracle数据库2的Oracle Home目录,由oracle2账户拥有 

/u01/app/oracle/product/19.0.0/grid

适用于独立服务器的Oracle Grid Infrastructure的Oracle Home目录,由Oracle database和Oracle Grid Infrastructure的安装全部者oracle帐户拥有

/u01/app/19.0.0/grid
用于集群的Oracle Grid Infrastructure的Oracle Home(Grid home),在安装以前由grid用户拥有,在安装后由root拥有
/u01/app/oracle/product/19.0.0/client_1

Oracle数据库客户端1的Oracle主目录,由Oracle数据库安装全部者账户 oracle拥有

 

D 配置只读Oracle Homes

了解只读Oracle Home

关于只读Oracle Home

从Oracle Database 18c开始,您能够配置Oracle Home为只读模式。

在只读Oracle home模式下,全部配置数据和日志文件都位于只读Oracle home外。此功能容许您将只读Oracle home看成镜像能够分布到多个服务器

除了传统的ORACLE_BASE和ORACLE_HOME目录以外,如下目录包含之前在ORACLE_HOME中的文件:

  • ORACLE_BASE_HOME
  • ORACLE_BASE_CONFIG

只读Oracle Home的优势

  • 不停机打补丁和更新数据库
  • 简化打修补和批量部署,由于只需更新一个镜像便可将补丁分发到许多服务器。
  • 经过实施安装和配置分离来简化配置。
  • 安装和配置分离,简化配置
此特性不会影响数据库监控,诊断和性能调优。

关于 Oracle Base Homes

不管是只读Oracle Home 仍是读写Oralce Home,用户文件,实例文件,日志文件都在ORACLE_BASE_HOME下.
在读写Oracle Home环境,ORACLE_BASE_HOME 路径和ORACLE_HOME  相同,在只读Oracle Home 模式下,ORACLE_BASE_HOME 位于ORACLE_BASE/homes/HOME_NAME.
其中HOME_NAME 是ORACLE_HOME 的内部名
例如network/{admin,trace,log }目录位于ORACLE_BASE_HOME ,读写环境下就在ORACLE_HOME下,只读环境下位于ORACLE_BASE/homes/HOME_NAME。
获取ORACLE_BASE_HOME 路径
/u01/app/oracle/homes/OraDB19Home1$ setenv ORACLE_HOME /u01/app/oracle/product/19.0.0/dbhome_1
$ cd $ORACLE_HOME/bin
$ ./orabasehome
OraDB19Home1 就是HOME_NAME

关于 Oracle Base Config

ORACLE_BASE_CONFIG 读写环境下路径和ORACLE_HOME相同,在只读环境下与ORACLE_BASE路径相同
ORACLE_BASE_CONFIG/dbs 包含了ORACLE_HOME的配置文件,里面的每一个文件都包含ORACLE_SID,因此这个目录是能够多个ORACLE_SID 共享的
获取ORACLE_BASE_CONFIG 路径
/u01/app/oracle$ setenv ORACLE_HOME /u01/app/oracle/product/19.0.0/dbhome_1
$ cd $ORACLE_HOME/bin
$ ./orabaseconfig

关于 orabasetab

orabasetab 基于ORACLE_HOME 定义ORACLE_BASE,ORACLE_BASE_HOME和ORACLE_BASE_CONFIG
orabasetab 位于ORACLE_HOME/install/orabasetab,可用来肯定ORACLE_HOME是只读仍是读写,还用来定义ORACLE_BASE 和ORACLE_HOME
该文件最后一行由四部分组成,经过冒号分隔如:
$ cat /u01/app/oracle/product/19.0.0/dbhome_1/install/orabasetab
/u01/app/oracle/product/19.0.0/dbhome_1:/u01/app/oracle:OraDB19Home1:Y:
  • 第一个字段匹配当前的$ ORACLE_HOME。
  • 第二个字段定义当前ORACLE_HOME的ORACLE_BASE。
  • 第三个字段定义了HOME_NAME,用于在只读ORACLE_HOME中构造ORACLE_BASE_HOME路径。
  1. 第四个字段在读/写ORACLE_HOME显示N只读ORACLE_HOME中显示Y
在只读ORACLE_HOME中,ORACLE_BASE_HOME路径为 ORACLE_BASE/homes/HOME_NAME ,ORACLE_BASE_CONFIG与ORACLE_BASE相同。
在读/写ORACLE_HOME中,ORACLE_HOME,ORACLE_BASE_HOME和ORACLE_BASE_CONFIG都是相同的。

启用只读Oracle Home

1. 执行仅限软件的Oracle安装

$ mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
$ chown oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1
$ cd /u01/app/oracle/product/19.0.0/dbhome_1
$ unzip -q /tmp/db_home.zip
而后执行runInstall ,选择仅安装软件,可根据须要有选择无图形界面

 

2.执行roohctl脚本  
$ cd /u01/app/oracle/product/19.0.0/dbhome_1/bin
$ ./roohctl -enable
Rac环境以上脚本在每一个节点都要执行,或经过参数--nodelist执行
$ ./roohctl –enable –nodelist comma_separated_list_of_nodes
3. DBCA 建立数据库
$ ./dbca
可选择有无图形界面安装

 

Copy demo目录到Oracle Base Home

 

在只读Oralce Home 模式下,你必须Copy demo目录从ORACLE_HOME 到ORACLE_BASE_HOME。

Oracle数据库包含各类demo目录,其中包含各类示例和产品演示,您可使用它们来了解Oracle数据库的产品,选项和功能。这些目录一般用不到,只有在演示的时候才会用

默认状况下,许多演示目录不可用。您必须安装Oracle数据库示例才能查看和使用示例和产品演示。

将相应demo目录复制到ORACLE_BASE_HOME中的相应位置。如今,您可使用该demo目录的副本

您必须将如下demo目录从ORACLE_HOME 复制到ORACLE_BASE_HOME:

  • jdbc/demo
  • odbc/demo
  • ord/http/demo
  • precomp/demo
  • rdbms/demo
  • sqlj/demo
  • sqlplus/demo
  • xdk/demo

您还必须odbc/demoprecomp/demordbms/demoxdk/demo 目录建立符号连接。请参阅本主题中的“建立符号连接”部分。

Copy demo 目录

 

$ mkdir -p $(orabasehome)/rdbms $ cp -r $ORACLE_HOME/rdbms/demo $(orabasehome)/rdbms/demo$ ls -l -d $(orabasehome)/rdbms/demo
一样,将 以前列出的全部demo目录从ORACLE_HOME 复制到ORACLE_BASE_HOME。

 

建立符号连接  
您必须为odbc/demoprecomp/demordbms/demo, xdk/demo建立符号连接
将原始的ORACLE_HOME下的demo 目录替换为指向copy 目录的软链接

$ ls -l -d $ORACLE_HOME/rdbms/demo
$ ls -l -d $ORACLE_HOME/odbc/demo
$ ls -l -d $ORACLE_HOME/precomp/demo
$ ls -l -d $ORACLE_HOME/xdk/include

$ mv $ORACLE_HOME/rdbms/demo $ORACLE_HOME/rdbms/demo.installed
$ mv $ORACLE_HOME/odbc/demo $ORACLE_HOME/odbc/demo.installed
$ mv $ORACLE_HOME/precomp/demo $ORACLE_HOME/precomp/demo.installed

$ ln -s $(orabasehome)/rdbms/demo $ORACLE_HOME/rdbms/demo
$ ln -s $(orabasehome)/odbc/demo $ORACLE_HOME/odbc/demo
$ ln -s $(orabasehome)/precomp/demo $ORACLE_HOME/precomp/demo
$ ln -s $ORACLE_HOME/xdk/include $(orabasehome)/xdk/include

 

注意:在只读Oracle Home 模式下 plsql/demo/ncmmpdemo.sql不可用。

复制init.ora文件

cp $ORACLE_HOME/init.ora $(orabasehome)/init.ora

肯定Oracle Home是否只读

$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
$ cd $ORACLE_HOME/bin
$ ./orabasehome
/u01/app/oracle/homes/OraDB19Home1
若是 orabasehome 命令输出与$ORACLE_HOME相同,那么OracleHome处于读/写模式。若是显示路径为 ORACLE_BASE/homes/HOME_NAME ,则OracleHome处于只读模式。

只读Oracle Home 下的文件路径和目录变化

表D-1读/写和只读Oracle主文件路径示例

目录 读/写Oracle Home File Path 只读Oracle主文件路径

ORACLE_HOME

/u01/app/oracle/product/19.0.0/dbhome_1 /u01/app/oracle/product/19.0.0/dbhome_1

ORACLE_BASE

/u01/app/oracle/ /u01/app/oracle/

ORACLE_BASE_HOME

/u01/app/oracle/product/19.0.0/dbhome_1 /u01/app/oracle/homes/OraDB19Home1

ORACLE_BASE_CONFIG

/u01/app/oracle/product/19.0.0/dbhome_1

/u01/app/oracle/

network

/u01/app/oracle/product/19.0.0/dbhome_1/network

/u01/app/oracle/homes/OraDB19Home1/network

dbs

/u01/app/oracle/product/19.0.0/dbhome_1/dbs

/u01/app/oracle/dbs

E管理Oracle数据库端口号

查看默认端口号。若是须要,请在安装后使用这些步骤更改分配的端口。(略)

相关文章
相关标签/搜索