暂无图片
暂无图片
19
暂无图片
暂无图片
暂无图片

Oracle Linux 7.9 + ASM安装Oracle 12CR2

原创 董大威 2023-09-28
5120

目录

一、前言

  欢迎阅读本篇技术文档,本文档将帮助大家顺利完成Oracle Linux 7.9 + ASM安装Oracle 12CR2的过程。在本文档中,您将学到如何准备安装前的环境、如何正确配置ASM磁盘、如何安装Oracle 12CR2,以及如何进行基本配置。希望通过这份文档,能够帮助大家更好地理解Oracle数据库的安装和配置流程,能够更加轻松地进行相关操作。希望本文档能够为您提供有价值的信息,并使您能够成功安装和配置Oracle 12CR2数据库。

二、安装前准备工作

1、硬件要求

1.1、内存要求

至少1GB的RAM用于Oracle数据库安装。建议2GB RAM。 至少8 GB的RAM用于Oracle Grid安装 [root@hellodba ~]# grep MemTotal /proc/meminfo MemTotal: 9909068 kB

1.2、Swap Space

        RAM       Swap Space
在1GB到2GB之间 RAM大小的1.5倍
2GB到16GB之间 等于RAM的大小
超过16GB 等于16GB
[root@hellodba ~]# grep SwapTotal /proc/meminfo SwapTotal: 10485756 kB

1.3、Automatic Memory Management

  从Oracle Database 11g开始,自动内存管理功能需要更多的共享内存(/dev/shm)和文件描述符。在Linux系统中,/dev/shm目录是一个特殊的目录,用于实现共享内存,默认是系统内存的50%。它是一个临时文件系统,通常位于RAM(内存)中,而不是硬盘上,并且在系统重启时会被清空。因此,/dev/shm目录只适合用于短期存储和进程间通信,不能用于长期存储数据。/dev/shm大小应该大于SGA+PGA的总内存大小,在Linux系统上,如果操作系统 /dev/shm装载大小对于Oracle系统全局区域(SGA)和程序全局区域(PGA)来说太小,则会导致ORA-00845错误。

1.4、磁盘空间要求

目录/tmp至少有1GB空间,如果小于所需空间,请从目录中删除不必要的文件满足磁盘空间需求。
[root@hellodba ~]# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 17G 4.8G 13G 29% /

       安装类型   软件文件的磁盘空间要求(GB)
企业版 7.2
标准版 7.2
Grid 8.6
 
[root@hellodba ~]# df -h /u01 Filesystem Size Used Avail Use% Mounted on /dev/sda1 80G 33M 80G 1% /u01

2、软件要求

2.1、适用于 Linux x86-64 操作系统要求

//需要以下或更高版本的操作系统: Supported Oracle Linux 8 Distributions for x86-64 Supported Oracle Linux 7 Distributions for x86-64 Supported Oracle Linux 6 Distributions for x86-64 Supported Red Hat Enterprise Linux 8 Distributions for x86-64 Supported Red Hat Enterprise Linux 7 Distributions for x86-64 Supported Red Hat Enterprise Linux 6 Distributions for x86-64 Supported SUSE Linux Enterprise Server 15 Distributions for x86-64 Supported SUSE Linux Enterprise Server 12 Distributions for x86-64 Supported NeoKylin Linux Advanced Server 7 Distributions for x86-64
[root@hellodba ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.9 (Maipo)

2.2、适用于 Linux x86-64 内核要求

Oracle Linux 8.2 with the Unbreakable Enterprise Kernel 6: 5.4.17-2011.1.2.el8uek.x86_64 or later Oracle Linux 8.2 with the Red Hat Compatible Kernel: 4.18.0-193.19.1.el8_2.x86_64 or later Oracle Linux 7 with the Unbreakable Enterprise Kernel 3: 3.8.13-35.3.1.el7uek.x86_64 or later Oracle Linux 7.2 with the Unbreakable Enterprise Kernel 4: 4.1.12-32.2.3.el7uek.x86_64 or later Oracle Linux 7 with the Red Hat Compatible kernel: 3.10.0-123.el7.x86_64 or later Oracle Linux 6.4 with the Unbreakable Enterprise Kernel 2: 2.6.39-400.211.1.el6uek.x86_64or later Oracle Linux 6.6 with the Unbreakable Enterprise Kernel 3: 3.8.13-44.1.1.el6uek.x86_64 or later Oracle Linux 6.8 with the Unbreakable Enterprise Kernel 4: 4.1.12-37.6.2.el6uek.x86_64 or later Oracle Linux 6.4 with the Red Hat Compatible kernel: 2.6.32-358.el6.x86_64 or later Red Hat Enterprise Linux 8.2: 4.18.0-193.19.1.el8_2.x86_64 or later Red Hat Enterprise Linux 7: 3.10.0-123.el7.x86_64 or later Red Hat Enterprise Linux 6.4: 2.6.32-358.el6.x86_64 or later SUSE Linux Enterprise Server 15: 4.12.14-25-default or later SUSE Linux Enterprise Server 12 SP1: 3.12.49-11.1 or later NeoKylin Linux Advanced Server 7: 3.10.0-693.el7.x86_64 or later
[root@hellodba ~]# uname -r 5.4.17-2102.201.3.el7uek.x86_64

2.3、适用于 Linux x86-64 的 Oracle 数据库包要求

//Packages for Oracle Linux 7 bc binutils-2.23.52.0.1-12.el7 (x86_64) compat-libcap1-1.10-3.el7 (x86_64) compat-libstdc++-33-3.2.3-71.el7 (i686) compat-libstdc++-33-3.2.3-71.el7 (x86_64) glibc-2.17-36.el7 (i686) glibc-2.17-36.el7 (x86_64) glibc-devel-2.17-36.el7 (i686) glibc-devel-2.17-36.el7 (x86_64) ksh libaio-0.3.109-9.el7 (i686) libaio-0.3.109-9.el7 (x86_64) libaio-devel-0.3.109-9.el7 (i686) libaio-devel-0.3.109-9.el7 (x86_64) libX11-1.6.0-2.1.el7 (i686) libX11-1.6.0-2.1.el7 (x86_64) libXau-1.0.8-2.1.el7 (i686) libXau-1.0.8-2.1.el7 (x86_64) libXi-1.7.2-1.el7 (i686) libXi-1.7.2-1.el7 (x86_64) libXtst-1.2.2-1.el7 (i686) libXtst-1.2.2-1.el7 (x86_64) libXrender (i686) libXrender (x86_64) libXrender-devel (i686) libXrender-devel (x86_64) libgcc-4.8.2-3.el7 (i686) libgcc-4.8.2-3.el7 (x86_64) libstdc++-4.8.2-3.el7 (i686) libstdc++-4.8.2-3.el7 (x86_64) libstdc++-devel-4.8.2-3.el7 (i686) libstdc++-devel-4.8.2-3.el7 (x86_64) libxcb-1.9-5.el7 (i686) libxcb-1.9-5.el7 (x86_64) make-3.82-19.el7 (x86_64) nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS) net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC and Oracle Clusterware) smartmontools-6.2-4.el7 (x86_64) sysstat-10.1.5-1.el7 (x86_64)

3、关闭透明页

从Red Hat Enterprise Linux 6、Oracle Linux 6、SUSE 11和Unbreakable Enterprise Kernel 2(UEK2)内核开始,Transparent HugePages在运行时默认启用。然而,透明的HugePages可能会导致内存分配延迟,因为内存是动态分配的。因此,甲骨文建议您在所有甲骨文数据库服务器上禁用透明HugePages,以避免性能问题。

//查看透明页是否启用,显示[always]表示Transparent HugePages是启用的 [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/defrag always defer defer+madvise [madvise] never [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never //禁用透明页 [root@hellodba ~]# vi /etc/rc.d/rc.local echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled [root@hellodba ~]# chmod +x /etc/rc.d/rc.local [root@hellodba ~]# reboot //透明页已关闭 [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/defrag always defer defer+madvise madvise [never]

4、配置主机名解析

[root@hellodba ~]# echo "192.168.0.55 hellodba" >> /etc/hosts [root@hellodba ~]# ping hellodba PING hellodba (192.168.0.55) 56(84) bytes of data. 64 bytes from hellodb (192.168.0.55): icmp_seq=1 ttl=64 time=0.013 ms

5、创建所需的操作系统组和用户

[root@hellodba ~]# /usr/sbin/groupadd -g 54321 oinstall [root@hellodba ~]# /usr/sbin/groupadd -g 54322 dba [root@hellodba ~]# /usr/sbin/groupadd -g 54323 oper [root@hellodba ~]# /usr/sbin/groupadd -g 54324 backupdba [root@hellodba ~]# /usr/sbin/groupadd -g 54325 dgdba [root@hellodba ~]# /usr/sbin/groupadd -g 54326 kmdba [root@hellodba ~]# /usr/sbin/groupadd -g 54327 asmdba [root@hellodba ~]# /usr/sbin/groupadd -g 54328 asmoper [root@hellodba ~]# /usr/sbin/groupadd -g 54329 asmadmin [root@hellodba ~]# useradd -u 54321 -g oinstall -G dba,asmdba,asmadmin,backupdba,dgdba,kmdba,oper oracle [root@hellodba ~]# useradd -u 54331 -g oinstall -G asmadmin,asmdba,asmoper,dba,oper grid [root@hellodba ~]# echo "hellodba" | passwd --stdin oracle [root@hellodba ~]# echo "hellodba" | passwd --stdin grid [root@hellodba ~]# id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54327(asmdba),54329(asmadmin) [root@hellodba ~]# id grid uid=54331(grid) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54327(asmdba),54328(asmoper),54329(asmadmin)

6、配置Oracle软件安装用户的资源限制

[root@hellodba ~]# vi /etc/security/limits.conf #ORACLE SETTING #打开文件描述符大小 grid soft nproc 16384 grid hard nproc 16384 oracle soft nproc 16384 oracle hard nproc 16384 #单个用户可用的进程数 grid soft nofile 65536 grid hard nofile 65536 oracle soft nofile 65536 oracle hard nofile 65536 #进程堆栈段的大小 grid soft stack 32768 grid hard stack 32768 oracle soft stack 32768 oracle hard stack 32768 #内存锁,略低于物理内存 oracle hard memlock 8000000 oracle soft memlock 8000000

7、为Linux配置内核参数

在Oracle数据库安装期间,可以生成并运行修复脚本,以检查和设置成功安装数据库所需的内核参数值。建议手动预先修改好。

[root@hellodba ~]# vi /etc/sysctl.conf #ORACLE SETTING #可以拥有的异步IO请求数 fs.aio-max-nr = 1048576 #允许文件句柄的最大数目 fs.file-max = 6815744 #信号参数 kernel.sem = 250 32000 100 128 #IP V4的端口范围 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 = 1048586 #当系统检测到oops时,重新启动系统,以便系统能够重新初始化恢复正常工作 kernel.panic_on_oops = 1 #单个共享内存段最大值,让数据库在一个共享段里面的可以容纳整个SGA #最大值:比物理内存小1字节 #(kernel.shmmax = 物理内存*1024*1024*1024-1) kernel.shmmax = 8589934591 #控制共享内存页数(kernel.shmall = shmmax/4096) kernel.shmall = 2097151 #共享内存的最大数量 kernel.shmmni = 4096 #当系统内存使用90%的时候开始使用交换页面 vm.swappiness=10 #默认是100,增大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大。越容易回收。 vm.vfs_cache_pressure=200 #大页内存,物理内存大于8G一定要配 (sga_max_size+1g) / 2M vm.nr_hugepages = 2500

8、创建所需的软件目录并授权

[root@hellodba ~]# mkdir -p /u01/app/oraInventory [root@hellodba ~]# mkdir -p /u01/app/oracle [root@hellodba ~]# mkdir -p /u01/app/oracle/product/12.2.0/dbhome_1 [root@hellodba ~]# mkdir -p /u01/app/grid [root@hellodba ~]# mkdir -p /u01/app/12.2.0/grid [root@hellodba ~]# mkdir -p /soft [root@hellodba ~]# chown -R grid:oinstall /u01 [root@hellodba ~]# chown -R grid:oinstall /u01/app/oraInventory [root@hellodba ~]# chown -R oracle:oinstall /u01/app/oracle [root@hellodba ~]# chown -R oracle:oinstall /u01/app/oracle/product/12.2.0/dbhome_1 [root@hellodba ~]# chown -R grid:oinstall /u01/app/grid [root@hellodba ~]# chown -R grid:oinstall /u01/app/12.2.0/grid [root@hellodba ~]# chown -R oracle:oinstall /soft [root@hellodba ~]# chmod -R 775 /u01/ [root@hellodba ~]# chmod -R 775 /soft

9、关闭numa功能

//NUMA关闭前 [root@hellodba ~]# dmesg | grep -i numa [ 0.013781] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0xbfffffff] -> [mem 0x00000000-0xbfffffff] [ 0.013782] NUMA: Node 0 [mem 0x00000000-0xbfffffff] + [mem 0x100000000-0x2bfffffff] -> [mem 0x00000000-0x2bfffffff] //关闭NUMA [root@hellodba ~]# vi /etc/default/grub 将 GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet" 改 GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off" [root@hellodba ~]# grub2-mkconfig -o /etc/grub2.cfg [root@hellodba ~]# reboot //NUMA关闭后 [root@hellodba ~]# dmesg | grep -i numa [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.17-2102.201.3.el7uek.x86_64 root=UUID=c688c77e-1936-4344-9beb-61f77ca77637 ro crashkernel=auto rhgb quiet numa=off [ 0.013396] NUMA turned off [ 0.031316] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.17-2102.201.3.el7uek.x86_64 root=UUID=c688c77e-1936-4344-9beb-61f77ca77637 ro crashkernel=auto rhgb quiet numa=off

10、禁用SELINUX

[root@hellodba ~]# getenforce Enforcing [root@hellodba ~]# vi /etc/selinux/config 将 SELINUX=enforcing 改 SELINUX= disabled [root@hellodba ~]# setenforce 0 [root@hellodba ~]# getenforce Permissive

11、关闭防火墙

//关闭防火墙 [root@hellodba ~]# systemctl stop firewalld //查看防火墙状态 [root@hellodba ~]# systemctl status firewalld //禁止防火墙开机自启动 [root@hellodba ~]# systemctl disable firewalld

12、修改 /dev/shm大小

[root@hellodba ~]# echo "none /dev/shm tmpfs defaults,size=10G 0 0" >> /etc/fstab [root@hellodba ~]# mount -o remount /dev/shm [root@hellodba ~]# df -h /dev/shm Filesystem Size Used Avail Use% Mounted on tmpfs 10G 0 10G 0% /dev/shm

13、安装Oracle数据库所需软件包

13.1、配置YUM源

[root@hellodba ~]# mount /dev/cdrom /mnt [root@hellodba ~]# cd /etc/yum.repos.d [root@hellodba yum.repos.d]# rm -rf *.repo [root@hellodba yum.repos.d]# echo "[EL]" >> hellodba.repo [root@hellodba yum.repos.d]# echo "name=Linux 7.9 DVD" >> hellodba.repo [root@hellodba yum.repos.d]# echo "baseurl=file:///mnt" >> hellodba.repo [root@hellodba yum.repos.d]# echo "gpgcheck=0" >> hellodba.repo [root@hellodba yum.repos.d]# echo "enabled=1" >> hellodba.repo

13.2、安装必要的软件包

[root@hellodba ~]# yum -y install bc* yum -y install binutils* yum -y install compat-libcap1* yum -y install compat-libstdc* yum -y install glibc* yum -y install ksh* yum -y install libaio* yum -y install libX11* yum -y install libXau* yum -y install libXi* yum -y install libXtst* yum -y install libXrender* yum -y install libgcc* yum -y install libstdc++* yum -y install libxcb* yum -y install make* yum -y install smartmontools* yum -y install sysstat*

14、配置Oracle软件所有者环境

[root@hellodba ~]# su - oracle [oracle@hellodba ~]$ vi ~/.bash_profile umask 022 export PS1 export TMP=/tmp export LANG=en_US.UTF-8 export TMPDIR=$TMP export TZ=Asia/Shanghai export ORACLE_TERM=xterm; export ORACLE_UNQNAME=hellodb export ORACLE_SID=hellodb; export ORACLE_BASE=/u01/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_LANG=AMERICAN_AMERICA.UTF-8; export PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_BASE/product/12.2.0/dbhome_1/bin:$ORACLE_HOME/bin; export THREADS_FLAG=native;

15、配置Grid软件所有者环境

[root@hellodba ~]# su - grid [grid@hellodba ~]$ vi ~/.bash_profile umask 022 export PS1 export TMP=/tmp export LANG=en_US.UTF-8 export TMPDIR=$TMP export TZ=Asia/Shanghai export ORACLE_SID=+ASM; export ORACLE_TERM=xterm; export ORACLE_BASE=/u01/app/grid; export ORACLE_HOME=/u01/app/12.2.0/grid; export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin; export THREADS_FLAG=native;

16、重启操作系统

[root@hellodba ~]# reboot

三、为Oracle ASM配置存储

1、Oracle ASM简

  Oracle ASM是用于Oracle数据库文件的卷管理器和文件系统,支持单实例Oracle数据库和Oracle Real Application Clusters(Oracle RAC)配置。Oracle ASM是Oracle推荐的存储管理解决方案,它提供了传统卷管理器、文件系统和裸设备的替代方案。Oracle ASM 使用磁盘组来存储数据文件;Oracle ASM 磁盘组是 Oracle ASM 作为一个单元管理的磁盘集合。在磁盘组中,Oracle ASM 公开 Oracle 数据库文件的文件系统接口。存储在磁盘组中的文件内容均匀分布,以消除热点并在磁盘之间提供统一的性能。性能可与裸设备的性能相媲美。

图 1-1 Oracle ASM for Single-Instance Oracle Databases
image.png

2、确定 Oracle ASM的存储需求

  确定是否将Oracle ASM用于Oracle群集软件文件、Oracle数据库文件、恢复文件,还是除Oracle群集软件或Oracle数据库二进制文件之外的所有文件。Oracle数据库文件包括数据文件、控制文件、重做日志文件、服务器参数文件和密码文件。

3、选择要用于 Oracle ASM 磁盘组的 Oracle ASM 冗余级别

Oracle ASM 磁盘组选择的冗余级别决定了 Oracle ASM 如何镜像磁盘组中的文件,并确定所需的磁盘数和可用磁盘空间量。
 
External redundancy(外部冗余):外部冗余磁盘组至少需要一个磁盘设备。外部冗余磁盘组中的有效磁盘空间是其所有设备中的磁盘空间之和。由于 Oracle ASM 不会在外部冗余磁盘组中镜像数据,因此 Oracle 建议将外部冗余与RAID等存储设备或其他提供自己的数据保护机制的类似设备一起使用。
 
Normal redundancy(普通冗余):在正常的冗余磁盘组中,为了提高性能和可靠性,Oracle ASM默认使用双向镜像。一个正常的冗余磁盘组至少需要三个磁盘设备。正常冗余磁盘组中的有效磁盘空间是其所有设备中磁盘空间总和的一半。
 
High redundancy(高冗余):在高冗余磁盘组中,Oracle ASM使用三向镜像来提高性能并提供最高级别的可靠性。高冗余磁盘组至少需要五个磁盘设备。高冗余磁盘组中的有效磁盘空间是其所有设备中磁盘空间总和的三分之一。
 
Flex redundancy(弹性冗余):弹性冗余磁盘组是一种冗余磁盘组,具有灵活的文件冗余、镜像拆分和冗余更改等功能。Flex 磁盘组可以将具有不同冗余要求的文件合并到单个磁盘组中。它还为数据库提供了更改其文件冗余的功能。磁盘组是文件组的集合,每个文件组与一个数据库相关联。配额组定义磁盘组中一组数据库的最大存储空间或配额限制。

图 3-1 Oracle ASM Disk Space Minimum Requirements for Oracle Database no-CBD
image.png

图 3-2 Minimum Space Requirements for Oracle Member Cluster
image.png

图 3-3 Minimum Space Requirements for Oracle Standalone Cluster
image.png

4、虚拟机配置文件修改

1) 将虚拟机关机。 2) 虚拟机配置文件最后行添加disk.EnableUUID="TRUE",才可以获取磁盘的UUID。

5、虚拟机添加硬盘(ASM磁盘组用)

//GRID [root@hellodba ~]# fdisk -l | grep '/dev/sd*' | grep '5368 MB' Disk /dev/sdc: 5368 MB, 5368709120 bytes, 10485760 sectors Disk /dev/sdd: 5368 MB, 5368709120 bytes, 10485760 sectors Disk /dev/sde: 5368 MB, 5368709120 bytes, 10485760 sectors //SYSTEM [root@hellodba ~]# fdisk -l | grep "/dev/sd*" | grep '107.4 GB' Disk /dev/sdg: 107.4 GB, 107374182400 bytes, 209715200 sectors Disk /dev/sdh: 107.4 GB, 107374182400 bytes, 209715200 sectors Disk /dev/sdf: 107.4 GB, 107374182400 bytes, 209715200 sectors //RECOVERY [root@hellodba ~]# fdisk -l | grep "/dev/sd*" | grep '214.7 GB' Disk /dev/sdk: 214.7 GB, 214748364800 bytes, 419430400 sectors Disk /dev/sdj: 214.7 GB, 214748364800 bytes, 419430400 sectors Disk /dev/sdi: 214.7 GB, 214748364800 bytes, 419430400 sectors //DATA [root@hellodba ~]# fdisk -l | grep "/dev/sd*" | grep '322.1 GB' Disk /dev/sdm: 322.1 GB, 322122547200 bytes, 629145600 sectors Disk /dev/sdl: 322.1 GB, 322122547200 bytes, 629145600 sectors Disk /dev/sdn: 322.1 GB, 322122547200 bytes, 629145600 sectors

6、查看磁盘UUID

6.1、GRID

[root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc 36000c29dc217cc2c9eb8d971686fbecc [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd 36000c29fd9252e86d0eece3b0a121ab8 [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sde 36000c292a8af130d62f2406a78e6f145 KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29dc217cc2c9eb8d971686fbecc",RUN +="/bin/sh -c 'mknod /dev/asm-grid01 b $major $minor;chown grid:asmadmin /dev/asm-grid01;chmod 0660 /dev/asm-grid01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29fd9252e86d0eece3b0a121ab8",RUN +="/bin/sh -c 'mknod /dev/asm-grid02 b $major $minor;chown grid:asmadmin /dev/asm-grid02;chmod 0660 /dev/asm-grid02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c292a8af130d62f2406a78e6f145",RUN +="/bin/sh -c 'mknod /dev/asm-grid03 b $major $minor;chown grid:asmadmin /dev/asm-grid03;chmod 0660 /dev/asm-grid03'"

6.2、SYSTEM

[root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdg 36000c29e4c4e442145237b367a0748a6 [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdh 36000c2963c75235c0de133e54d1869ce [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdf 36000c2926873e97f65c69a22d81fa635 KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29e4c4e442145237b367a0748a6",RUN +="/bin/sh -c 'mknod /dev/asm-system01 b $major $minor;chown grid:asmadmin /dev/asm-system01;chmod 0660 /dev/asm-system01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2963c75235c0de133e54d1869ce",RUN +="/bin/sh -c 'mknod /dev/asm-system02 b $major $minor;chown grid:asmadmin /dev/asm-system02;chmod 0660 /dev/asm-system02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2926873e97f65c69a22d81fa635",RUN +="/bin/sh -c 'mknod /dev/asm-system03 b $major $minor;chown grid:asmadmin /dev/asm-system03;chmod 0660 /dev/asm-system03'"

6.3、RECOVERY

[root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdk 36000c29da4020e9d02f3fcf5a73befb0 [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdj 36000c2969b8605fc3f881b70e2f25446 [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdi 36000c293f38b54dfb20ca02d7417ad38 KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29da4020e9d02f3fcf5a73befb0",RUN +="/bin/sh -c 'mknod /dev/asm-recovery01 b $major $minor;chown grid:asmadmin /dev/asm-recovery01;chmod 0660 /dev/asm-recovery01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2969b8605fc3f881b70e2f25446",RUN +="/bin/sh -c 'mknod /dev/asm-recovery02 b $major $minor;chown grid:asmadmin /dev/asm-recovery02;chmod 0660 /dev/asm-recovery02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c293f38b54dfb20ca02d7417ad38",RUN +="/bin/sh -c 'mknod /dev/asm-recovery03 b $major $minor;chown grid:asmadmin /dev/asm-recovery03;chmod 0660 /dev/asm-recovery03'"

6.4、DATA

[root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdm 36000c29043f8d4a2a02c8001796fa07e [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdl 36000c2971d20e5fc653ee4d007957ca8 [root@hellodba ~]# /usr/lib/udev/scsi_id -g -u /dev/sdn 36000c29499fb255ceff8247e4e1ebb40 KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29043f8d4a2a02c8001796fa07e",RUN +="/bin/sh -c 'mknod /dev/asm-data01 b $major $minor;chown grid:asmadmin /dev/asm-data01;chmod 0660 /dev/asm-data01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2971d20e5fc653ee4d007957ca8",RUN +="/bin/sh -c 'mknod /dev/asm-data02 b $major $minor;chown grid:asmadmin /dev/asm-data02;chmod 0660 /dev/asm-data02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29499fb255ceff8247e4e1ebb40",RUN +="/bin/sh -c 'mknod /dev/asm-data03 b $major $minor;chown grid:asmadmin /dev/asm-data03;chmod 0660 /dev/asm-data03'"

7、配置规则

[root@hellodba ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29dc217cc2c9eb8d971686fbecc",RUN +="/bin/sh -c 'mknod /dev/asm-grid01 b $major $minor;chown grid:asmadmin /dev/asm-grid01;chmod 0660 /dev/asm-grid01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29fd9252e86d0eece3b0a121ab8",RUN +="/bin/sh -c 'mknod /dev/asm-grid02 b $major $minor;chown grid:asmadmin /dev/asm-grid02;chmod 0660 /dev/asm-grid02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c292a8af130d62f2406a78e6f145",RUN +="/bin/sh -c 'mknod /dev/asm-grid03 b $major $minor;chown grid:asmadmin /dev/asm-grid03;chmod 0660 /dev/asm-grid03'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29e4c4e442145237b367a0748a6",RUN +="/bin/sh -c 'mknod /dev/asm-system01 b $major $minor;chown grid:asmadmin /dev/asm-system01;chmod 0660 /dev/asm-system01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2963c75235c0de133e54d1869ce",RUN +="/bin/sh -c 'mknod /dev/asm-system02 b $major $minor;chown grid:asmadmin /dev/asm-system02;chmod 0660 /dev/asm-system02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2926873e97f65c69a22d81fa635",RUN +="/bin/sh -c 'mknod /dev/asm-system03 b $major $minor;chown grid:asmadmin /dev/asm-system03;chmod 0660 /dev/asm-system03'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29da4020e9d02f3fcf5a73befb0",RUN +="/bin/sh -c 'mknod /dev/asm-recovery01 b $major $minor;chown grid:asmadmin /dev/asm-recovery01;chmod 0660 /dev/asm-recovery01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2969b8605fc3f881b70e2f25446",RUN +="/bin/sh -c 'mknod /dev/asm-recovery02 b $major $minor;chown grid:asmadmin /dev/asm-recovery02;chmod 0660 /dev/asm-recovery02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c293f38b54dfb20ca02d7417ad38",RUN +="/bin/sh -c 'mknod /dev/asm-recovery03 b $major $minor;chown grid:asmadmin /dev/asm-recovery03;chmod 0660 /dev/asm-recovery03'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29043f8d4a2a02c8001796fa07e",RUN +="/bin/sh -c 'mknod /dev/asm-data01 b $major $minor;chown grid:asmadmin /dev/asm-data01;chmod 0660 /dev/asm-data01'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c2971d20e5fc653ee4d007957ca8",RUN +="/bin/sh -c 'mknod /dev/asm-data02 b $major $minor;chown grid:asmadmin /dev/asm-data02;chmod 0660 /dev/asm-data02'" KERNEL=="sd?",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="36000c29499fb255ceff8247e4e1ebb40",RUN +="/bin/sh -c 'mknod /dev/asm-data03 b $major $minor;chown grid:asmadmin /dev/asm-data03;chmod 0660 /dev/asm-data03'"

8、加载规则

[root@hellodba ~]# /sbin/udevadm trigger --type=devices --action=change [root@hellodba ~]# ls -lsa /dev/asm* 0 brw-rw---- 1 grid asmadmin 8, 192 Oct 7 20:47 /dev/asm-data01 0 brw-rw---- 1 grid asmadmin 8, 176 Oct 7 20:47 /dev/asm-data02 0 brw-rw---- 1 grid asmadmin 8, 208 Oct 7 20:47 /dev/asm-data03 0 brw-rw---- 1 grid asmadmin 8, 16 Oct 7 20:47 /dev/asm-grid01 0 brw-rw---- 1 grid asmadmin 8, 32 Oct 7 20:47 /dev/asm-grid02 0 brw-rw---- 1 grid asmadmin 8, 64 Oct 7 20:47 /dev/asm-grid03 0 brw-rw---- 1 grid asmadmin 8, 160 Oct 7 20:47 /dev/asm-recovery01 0 brw-rw---- 1 grid asmadmin 8, 144 Oct 7 20:47 /dev/asm-recovery02 0 brw-rw---- 1 grid asmadmin 8, 128 Oct 7 20:47 /dev/asm-recovery03 0 brw-rw---- 1 grid asmadmin 8, 96 Oct 7 20:47 /dev/asm-system01 0 brw-rw---- 1 grid asmadmin 8, 112 Oct 7 20:47 /dev/asm-system02 0 brw-rw---- 1 grid asmadmin 8, 80 Oct 7 20:47 /dev/asm-system03

四、安装Oracle Grid软件

1、上传Oracle Grid安装软件到服务器并解压

//通过grid用户上传Oracle Grid安装软件到服务器 /soft 目录 [grid@hellodba soft]$ cd $ORACLE_HOME [grid@hellodba grid]$ unzip -q /soft/linuxx64_12201_grid_home.zip

2、运行Oracle Grid安装向导以安装Grid软件

[grid@hellodba ~]$ cd $ORACLE_HOME [grid@hellodba grid]$ ./gridSetup.sh

3、安装选项(为独立服务器配置 Oracle 网格基础结构)

选择“Configure Oracle Grid Infrastructure for a Standalone Server (Oracle Restart)”选项。点击下一步。
image.png

4、创建ASM磁盘组

单击更改发现路径以选择Oracle ASM要使用的但未在屏幕中列出的设备。
image.png

在“更改磁盘发现路径”窗口中,输入用于搜索 Oracle ASM 使用的设备的字符串。
image.png

指定ASM磁盘组名称,并设置合适的AU大小。
每个 Oracle ASM 磁盘都分为分配单元 (AU)。分配单元是磁盘组中的基本分配单元。文件扩展数据块由一个或多个分配单位组成。Oracle ASM 文件由一个或多个文件扩展数据块组成。
创建磁盘组时,可以使用磁盘组属性设置 Oracle ASM 分配单元大小。这些值可以是 1、2、4、8、16、32 或 64 MB,具体取决于特定的磁盘组兼容性级别。较大的 AU 大小通常为使用大型顺序读取的数据仓库应用程序提供性能优势。
Oracle 建议将磁盘组的分配单元 (AU) 大小设置为 4 MB。除了此 AU 大小建议之外,操作系统 (OS) I/O 大小应设置为可能的最大大小。
4 MB 分配单元的一些优点包括:
如果 I/O 大小增加到 AU 大小,则通过 I/O 子系统增加 I/O。
减小了 SGA 大小以管理数据库实例中的扩展数据块映射。
如果 I/O 大小增加到 AU 大小,则数据文件初始化速度更快。
增加了文件大小限制。
减少了数据库打开时间。

image.png

5、指定ASM密码

设置连接到 Oracle ASM 实例所需的密码。
image.png
image.png

6、管理选项

指定用于执行注册到Cloud Control配置的详细信息。
image.png

7、操作系统组

默认情况下,操作系统组处于选中状态。您也可以手动选择。
image.png

8、指定安装位置

默认情况下显示 Oracle 基本路径。您可以根据需要更改此路径。指定 Oracle 基本数据库、软件位置,然后单击下一步。
image.png
image.png

9、指定创建清单目录

默认情况下显示 Oracle Inventory Directory 基本路径。您可以根据需要更改此路径。
image.png

10、执行脚本选择

在软件配置过程中,某些操作必须以root用户执行,再次可以选择让安装程序自动执行这些操作。
此处不选择自动执行脚本,后面手动处理。

image.png

11、先决条件检查

此选项验证是否满足执行数据库安装的最低系统要求。
注意:“修复并再次检查”选项会生成一个脚本,您必须以用户身份运行该脚本。此生成的脚本将某些系统参数设置为 Oracle 建议的值。

image.png

12、安装

注意:从 Oracle 数据库 11g Release 2 (11.2) 开始,您可以通过单击保存响应文件将所有安装步骤保存到响应文件中。稍后,此文件可用于静默安装。
image.png
image.png

13、执行配置脚本

在运行此屏幕中提到的脚本之前,不要单击“OK”。
以用户身份运行配置脚本。

image.png

[root@hellodba ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete. [root@hellodba ~]# /u01/app/12.2.0/grid/root.sh Performing root user operation. The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /u01/app/12.2.0/grid 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. Using configuration parameter file: /u01/app/12.2.0/grid/crs/install/crsconfig_params The log of current session can be found at: /u01/app/grid/crsdata/hellodba/crsconfig/roothas_2023-10-07_11-00-58PM.log LOCAL ADD MODE Creating OCR keys for user 'grid', privgrp 'oinstall'.. Operation successful. LOCAL ONLY MODE Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'root'.. Operation successful. CRS-4664: Node hellodba successfully pinned. 2023/10/07 23:01:02 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service' CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'hellodba' CRS-2673: Attempting to stop 'ora.evmd' on 'hellodba' CRS-2677: Stop of 'ora.evmd' on 'hellodba' succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'hellodba' has completed CRS-4133: Oracle High Availability Services has been stopped. CRS-4123: Oracle High Availability Services has been started. hellodba 2023/10/07 23:01:36 /u01/app/12.2.0/grid/cdata/hellodba/backup_20231007_230136.olr 0 2023/10/07 23:01:36 CLSRSC-327: Successfully configured Oracle Restart for a standalone server

image.png

14、完成安装

单击“Close”结束安装,并退出安装程序。
image.png

15、创建剩余的ASM磁盘组

15.1、创建system磁盘组

[grid@hellodba ~]$ asmca -silent -createDiskGroup -diskGroupName system -diskList '/dev/asm-system01','/dev/asm-system02','/dev/asm-system03' -redundancy NORMAL -au_size 4

15.2、创建RECOVERY磁盘组

[grid@hellodba ~]$ asmca -silent -createDiskGroup -diskGroupName recovery -diskList '/dev/asm-recovery01','/dev/asm-recovery02','/dev/asm-recovery03' -redundancy NORMAL -au_size 4

15.3、创建DATA磁盘组

[grid@hellodba ~]$ asmca -silent -createDiskGroup -diskGroupName data -diskList '/dev/asm-data01','/dev/asm-data02','/dev/asm-data03' -redundancy NORMAL -au_size 4

15.4、查看ASM磁盘组状态

[grid@hellodba ~]$ asmcmd lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED NORMAL N 512 512 4096 4194304 921600 921336 307200 307068 0 N DATA/ MOUNTED NORMAL N 512 512 4096 4194304 15360 15064 5120 4972 0 N GRID/ MOUNTED NORMAL N 512 512 4096 4194304 614400 614136 204800 204668 0 N RECOVERY/ MOUNTED NORMAL N 512 512 4096 4194304 307200 306936 102400 102268 0 N SYSTEM/

五、安装Oracle数据库软件

1、上传Oracle数据库安装软件到服务器并解压

//通过oracle用户上传Oracle数据库安装软件到服务器 /soft 目录 [oracle@hellodba ~]$ cd /soft [oracle@hellodba soft]$ unzip -q linuxx64_12201_database.zip

2、安装数据库软件

[oracle@hellodba ~]$ cd /soft/database [oracle@hellodba database]$ ./runInstaller

2.1、配置安全更新

不接收安全更新。
image.png
image.png

2.2、安装选项

仅安装数据库软件:此选项仅安装数据库二进制文件。若要配置数据库,必须在安装软件后运行 Oracle 数据库配置助手。
image.png

2.3、数据库安装选项

选择要执行的数据库安装类型,然后单击下一步。
ingle instance database installation:此选项安装数据库和侦听器。
Oracle Real Application Clusters database installation:此选项安装 Oracle Real Application Clusters。
Oracle RAC One Node database installation:此选项安装 Oracle RAC One Node 数据库。

image.png

2.4、选择数据库版本

选择企业版或标准版,单击下一步。
image.png

2.5、指定安装位置

默认情况下显示 Oracle 基本路径。您可以根据需要更改此路径。指定 Oracle 基本数据库、软件位置,然后单击下一步。
在“软件位置”字段中,接受默认值或输入要在其中安装 Oracle 软件的 Oracle 主目录路径。目录路径不得包含空格。单击下一步。

image.png

2.6、操作系统组选择

默认情况下,操作系统组处于选中状态。您也可以手动选择。
image.png

2.7、先决条件检查

此选项验证是否满足执行数据库安装的最低系统要求。
注意:“修复并再次检查”选项会生成一个脚本,您必须以用户身份运行该脚本。此生成的脚本将某些系统参数设置为 Oracle 建议的值。

image.png

2.8、执行安装

注意:从 Oracle 数据库 11g Release 2 (11.2) 开始,您可以通过单击保存响应文件将所有安装步骤保存到响应文件中。稍后,此文件可用于静默安装。
image.png
image.png

2.9、执行配置脚本

在运行此屏幕中提到的脚本之前,不要单击“OK”。
以用户身份运行配置脚本。

image.png

[root@hellodba ~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh Performing root user operation. The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/12.2.0/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: The contents of "dbhome" have not changed. No need to overwrite. The contents of "oraenv" have not changed. No need to overwrite. The contents of "coraenv" have not changed. No need to overwrite. 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. Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : Oracle Trace File Analyzer (TFA - User Mode) is available at : /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl OR Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script : /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh

image.png

2.10、数据库软件安装完成

单击“Close”结束安装,并退出安装程序。
image.png

六、使用DBCA创建数据库

1、启动数据库配置助手

[oracle@hellodba ~]$ dbca

2、创建数据库

在“操作”窗口中,选择“创建数据库”,然后单击“下一步”以启动用于创建数据库的引导式工作流。
image.png

3、创建模式

如果选择“高级配置”,则可以自定义管理员用户帐户的存储位置、管理选项、数据库选项和不同的密码。
如果选择“典型配置”,则在数据库的选项中进行选择较少,从而可以更快地创建数据库。

image.png

4、部署类型

此窗口选择要创建的数据库的类型。
Oracle 为以下两种工作负载类型提供模板:
General Purpose or Transaction Processing(通用或事务处理)。
Data Warehouse(数据仓库)。
对于更复杂的环境,可以选择“Custom Database(自定义数据库)”选项。此选项不使用模板,会导致更复杂,这意味着创建数据库需要更长的时间。

image.png

5、数据库标识

在“Global Database Name(全局数据库名称)”字段中,输入数据库名称。
在 “SID ”字段中,输入系统标识符。SID 默认为数据库名称,并唯一标识运行数据库的实例。
如果启用“创建为容器数据库”选项,则会将数据库创建为可支持零个、一个或多个用户创建的可插入数据库 (PDB) 的多租户容器数据库 (CDB)。
如果不希望 DBCA 在创建 CDB 时创建 PDB,请启用“创建空容器数据库”选项。
如果希望 DBCA 在创建 CDB 时创建一个或多个 PDB,请启用“使用一个或多个 PDB 创建容器数据库”选项。然后在 PDB 数 字段中输入要创建的 PDB 数。在“PDB 名称”字段中,指定要用于创建一个或多个 PDB 的名称。创建多个 PDB 时,指定的 PDB 名称将用作要创建的 PDB 的前缀。
本实验创建非CDB模式。

image.png

6、存储选项

Use template file for database storage attributes:此选项指示 DBCA 使用模板中指定的目录信息。
Use following for the database storage attributes:此选项要求您指定数据库文件的存储位置。
使用此选项,您需要选择如何管理数据库文件:
如果选择“文件系统”,则数据库文件由操作系统的文件系统管理。
如果选择自动存储管理 (ASM),则将数据文件放在 Oracle 自动存储管理 (Oracle ASM) 磁盘组中。
如果指定“使用 Oracle 管理的文件 (OMF)”选项,Oracle 数据库将直接管理包含 Oracle 数据库的操作系统文件。为所有文件指定默认位置(称为数据库区域)。此后,Oracle 数据库会根据需要自动创建并删除此位置中的文件。选择此选项时,会将数据库文件的完整管理委派给数据库。您不再需要指定文件名、位置或大小。您还可以通过选择多路重做日志和控制文件来创建重做和联机日志文件的多个副本。

image.png

image.png

image.png

image.png

image.png

7、恢复区和归档配置

Specify Fast Recovery Area:选择此选项可指定备份和恢复区域及其目录位置和大小。
Enable Archiving:选择此选项可启用数据库联机重做日志文件的存档,这些文件可用于恢复数据库。
Oracle 建议您选择“启用存档”。选择此选项可针对软件或硬件故障更好地保护数据库。如果现在未选择此选项,则可以稍后启用存档日志模式。
本实验暂不启用存档。

image.png

8、监听配置

显示当前 Oracle 主目录中的侦听器。如果要在当前 Oracle 主目录中创建新的侦听器,可以在“监听配置”窗口中执行此操作。
image.png

9、数据库组件选择

选择要配置在数据库中使用的组件。显示为禁用的组件,要么是没安装,要么依赖于未选择的组件。
image.png

10、初始化参数

10.1、内存

Use Automatic Shared Memory Management(使用自动共享内存管理):
此方法使您能够将特定数量的内存分配给 SGA和PGA。为 SGA 启用了自动共享 内存管理,并根据需要将内存分配给各个PGA。
Use Manual Shared Memory Management(使用手动共享内存管理):
此方法要求您为每个 SGA 组件和PGA 输入特定值。您可以确定 SGA 内如何在 SGA 内存组件之间的分布方式。此方法适用于有经验的 Oracle 数据库管理员。
Use Automatic Memory Management(使用自动内存管理):
此方法要求您在内存目标字段中设置 Oracle 系统范围的可用内存,然后系统会自动调整 SGA 的许多内存组件,并根据需要将内存分配给各个 PGA。系统还可以根据处理需求动态减少或增加分配给 SGA 和PGA 的内存总量。用于数据库实例的总内存永远不会超过您指定的内存量。
注:如果数据库实例的总物理内存大于 4 GB,则无法选择使用自动内存管理选项。请改用自动共享内存管理。自动共享内存管理根据需要自动在各个组件之间分配可用内存,使系统能够最大限度地利用所有可用的 SGA 内存。
经验值:
SGA < 物理内存 * 80% * 80%
PGA < 物理内存 * 80% * 20%

image.png

10.2、块大小和用户进程数

在此选项卡中,您可以指定可以同时连接到数据库的最小块大小和操作系统用户进程的最大数量。
Block Size(块大小): 使用此列表选择块大小,或接受默认值。Oracle数据库数据存储在指定大小的数据块中。一个数据块对应于磁盘上特定数量的物理空间字节。选择默认8192 Bytes。
Processes(进程): 指定可以同时连接到数据库的进程的最大数量。此参数的默认值是300。根据具体需要进行调整。

image.png

10.3、字符集

使用此选项卡定义数据库使用的字符集。字符集是用于在计算机屏幕上显示字符的编码方案。字符集决定了数据库中可以表示哪些语言。
Oracle建议使用Unicode(AL32UTF8)作为数据库字符集。AL32UTF8是Oracle对Unicode标准UTF-8编码的名称。Unicode标准是通用字符集,支持世界上目前使用的大多数语言。使用Unicode标准对于任何多语言技术(包括数据库处理)都是必不可少的。在创建数据库并积累生产数据后,更改数据库字符集是一个耗时且复杂的项目。因此,在安装时选择正确的字符集非常重要。即使数据库目前不存储多语言数据,但预计将在几年内存储多语言数据,为数据库字符集选择AL32UTF8通常是唯一好的决定。

image.png

10.4、连接模式

使用此窗口选择数据库模式。您可以在以下任一模式下运行数据库:
专用服务器模式: 此模式允许每个用户进程的专用服务器进程。当客户总数预计很小(例如50个或更少)时,请选择此选项。当数据库客户端通常向数据库发出持久、长期运行的请求时,您也可以选择此选项。默认情况下,数据库是为专用服务器进程配置的。
共享服务器模式: 此模式允许多个客户端连接共享数据库分配的资源池。在客户端负载预计会对内存和其他系统资源造成压力的配置中使用此模式。如果您选择共享服务器模式,那么您必须在启动数据库实例时指示要创建的服务器进程数量。

image.png

10.5、示例模式

若要在数据库中包括示例架构,请选择“Add sample schemas to the database”。
image.png

11、管理选项

Oracle Enterprise Manager 为单个数据库提供基于 Web 的管理工具,并为管理整个 Oracle 环境提供中央管理工具。
若要在本地管理数据库,请选择“Configure Enterprise Manager (EM) database express”。
本实验不配置EM管理器。

image.png

12、数据库凭证

设置管理用户SYS和SYSTEM的密码。
image.png
image.png

13、创建选项

此窗口中,可以对控制文件、数据文件、联机重做日志组等进行调整。如果对存储结构或参数不满意,则可以进行更改。
这里对Redo Log(在线重做日志)进行简单调整下:Redo Log需根据实际情况进行调整大小,如果存在大量DML操作,为了防止频繁切换日志,建议设置大点提高性能,但不是越大越好,建议切换频率在15分钟左右一次。我这里先暂设置5组200MB。

image.png

image.png

14、创建数据库

image.png
image.png
image.png

15、安装完成

单击“Close”结束安装,并退出安装程序。
image.png

七、数据库管理入门

1、启用SQL*Plus从命令行连接到数据库

[root@hellodba ~]# su - oracle [oracle@hellodba ~]$ sqlplus / as sysdba

2、查看数据库基础信息

SQL> select name,log_mode,open_mode,platform_name,db_unique_name from v$database; NAME LOG_MODE OPEN_MODE PLATFORM_NAME DB_UNIQUE_NAME -------------------------------------------------------------------------------------- HELLODB NOARCHIVELOG READ WRITE Linux x86 64-bit hellodb

3、查看数据库版本

SQL> select banner from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production PL/SQL Release 12.2.0.1.0 - Production CORE 12.2.0.1.0 Production TNS for Linux: Version 12.2.0.1.0 - Production NLSRTL Version 12.2.0.1.0 - Production

4、查看数据库字符集

SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%'; PARAMETER VALUE -------------------------------------------------------------------------------- NLS_CHARACTERSET AL32UTF8 NLS_NCHAR_CHARACTERSET UTF8

5、查看数据库块大小

SQL> show parameter db_block_size NAME TYPE VALUE ------------------------------------------- db_block_size integer 8192

6、实例的启动与关闭

6.1、启动

[root@hellodba ~]# su - oracle [oracle@hellodba ~]$ lsnrctl start [oracle@hellodba ~]$ sqlplus / as sysdba SQL> startup

6.2、关闭

[root@hellodba ~]# su - oracle [oracle@hellodba ~]$ lsnrctl stop [oracle@hellodba ~]$ sqlplus / as sysdba SQL> shutdown immediate;

7、取消180天密码过期限制

SQL> select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME='PASSWORD_LIFE_TIME'; PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT ----------------------------------------------------------------------------------------------- DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 SQL> alter profile default limit password_life_time unlimited; SQL> select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME='PASSWORD_LIFE_TIME'; PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT ----------------------------------------------------------------------------------------------- DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED

8、关闭审计

SQL> show parameter audit; NAME TYPE VALUE ----------------------------------------------------------------------------------------------- audit_file_dest string /u01/app/oracle/admin/hellodb/adump audit_sys_operations boolean FALSE audit_syslog_level string audit_trail string DB SQL> alter system set audit_trail=none scope=spfile; (重启数据库生效)

9、调整db_files

SQL> show parameter db_files; NAME TYPE VALUE --------------------------------------------------------------------------- db_files integer 200 SQL> alter system set db_files=1024 scope=spfile; (重启数据库生效)

10、Oracle Grid相关操作

10.1、添加环境变量

///查看ORACLE_HOME目录 [grid@hellodba ~]$ env | grep ORACLE ORACLE_SID=+ASM ORACLE_BASE=/u01/app/grid ORACLE_TERM=xterm ORACLE_HOME=/u01/app/12.2.0/grid # 添加到root下的环境变量 [root@hellodba ~]# vi ~/.bash_profile PATH=$PATH:/u01/app/12.2.0/grid/bin:$HOME/bin [root@hellodba ~]# source ~/.bash_profile

10.2、查看服务状态

[root@hellodba ~]# crsctl check has CRS-4638: Oracle High Availability Services is online

10.3、查看资源状态

[root@hellodba ~]# crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE hellodba STABLE ora.GRID.dg ONLINE ONLINE hellodba STABLE ora.LISTENER.lsnr ONLINE ONLINE hellodba STABLE ora.RECOVERY.dg ONLINE ONLINE hellodba STABLE ora.SYSTEM.dg ONLINE ONLINE hellodba STABLE ora.asm ONLINE ONLINE hellodba Started,STABLE ora.ons OFFLINE OFFLINE hellodba STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE hellodba STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE hellodba STABLE ora.hellodb.db 1 ONLINE ONLINE hellodba Open,HOME=/u01/app/o racle/product/12.2.0 /dbhome_1,STABLE --------------------------------------------------------------------------------

10.4、启动、停止服务

10.4.1、启动服务

[root@hellodba ~]# crsctl start has CRS-4123: Oracle High Availability Services has been started.

10.4.2、停止服务

[root@hellodba ~]# crsctl stop has CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'hellodba' CRS-2673: Attempting to stop 'ora.RECOVERY.dg' on 'hellodba' CRS-2673: Attempting to stop 'ora.GRID.dg' on 'hellodba' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'hellodba' CRS-2677: Stop of 'ora.GRID.dg' on 'hellodba' succeeded CRS-2677: Stop of 'ora.RECOVERY.dg' on 'hellodba' succeeded CRS-2673: Attempting to stop 'ora.evmd' on 'hellodba' CRS-2673: Attempting to stop 'ora.DATA.dg' on 'hellodba' CRS-2673: Attempting to stop 'ora.SYSTEM.dg' on 'hellodba' CRS-2677: Stop of 'ora.SYSTEM.dg' on 'hellodba' succeeded CRS-2677: Stop of 'ora.DATA.dg' on 'hellodba' succeeded CRS-2673: Attempting to stop 'ora.asm' on 'hellodba' CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'hellodba' succeeded CRS-2677: Stop of 'ora.evmd' on 'hellodba' succeeded CRS-2677: Stop of 'ora.asm' on 'hellodba' succeeded CRS-2673: Attempting to stop 'ora.cssd' on 'hellodba' CRS-2677: Stop of 'ora.cssd' on 'hellodba' succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'hellodba' has completed CRS-4133: Oracle High Availability Services has been stopped.

八、总结

  到此Oracle Linux 7.9 + ASM安装Oracle 12CR2部署完毕,并进行了一些常规的设置。安装Oracle数据库需要有一定的专业知识和经验,在实际操作中,可能还会遇到其他问题和挑战,建议在进行安装之前详细阅读相关文档和指南,并确保有必要的技术支持和备份措施。希望通过本文对您搭建一套基于Oracle Linux 7.9 + ASM + Oracle 12CR2的数据库环境有一定帮助,祝顺利!

九、写在后面

  由于本人有限的能力和知识储备,可能存在错误或疏漏之处,如有错误敬请批评指正!

公众号:Hello DBA
 
扫码_搜索联合传播样式标准色版.png

最后修改时间:2023-10-09 14:32:34
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论