暂无图片
暂无图片
10
暂无图片
暂无图片
暂无图片

Oracle Linux 6.9 + ASM 安装Oracle 11g

原创 董大威 2023-09-20
3315

目录

一、前言

  本文档旨在为您提供在 Oracle Linux 6.9 系统上使用 ASM(Automatic Storage Management)安装 Oracle 11g 数据库的详细步骤和指导。
  Oracle 11g 是一款强大而广泛使用的关系型数据库管理系统,而 Oracle Linux 6.9 是一款经过优化的操作系统,专为运行 Oracle 数据库而设计。在本文档中,我们将重点介绍如何正确配置和安装 Oracle 11g 数据库,并且借助 ASM 实现高性能的存储管理。通过阅读本文档,您将了解到如何准备安装所需的环境、规划磁盘布局、配置 ASM 存储、执行必要的操作系统和数据库设置,以及完成 Oracle 11g 的安装和初始化过程。本文将提供清晰的步骤说明,并附带必要的命令示例和屏幕截图,以便您能够轻松地跟随操作。无论您是新手还是有经验的数据库管理员,本文档都将是您的有力助手。希望通过本文档,您能够轻松顺利地完成Oracle 11g数据库的安装,并且在日常使用中取得优秀的表现。

二、安装前准备工作

1、硬件要求

1.1、内存要求

最低:1 GB 内存 建议:2 GB 或更多内存 [root@hellodba ~]# grep MemTotal /proc/meminfo MemTotal: 2851844 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: 3170300 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
 
       安装类型   数据文件的磁盘空间要求(GB)
企业版 1.7
标准版 1.5
 
[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 操作系统要求

//需要以下或更高版本的操作系统: Asianux Server 3 SP2 Asianux Server 4 SP3 Oracle Linux 4 Update 7 Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel) Oracle Linux 5 Update 5 Oracle Linux 6 Oracle Linux 6 (with Red Hat Compatible Kernel) Oracle Linux 7 Oracle Linux 7 (with Red Hat Compatible Kernel) Red Hat Enterprise Linux 4 Update 7 Red Hat Enterprise Linux 5 Update 2 Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 7 SUSE Linux Enterprise Server 10 SP2 SUSE Linux Enterprise Server 11 SUSE Linux Enterprise Server 12 SP1 NeoKylin Linux Advanced Server 6 NeoKylin Linux Advanced Server 7
[root@hellodba ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.9 (Santiago)

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

On Oracle Linux 4 and Red Hat Enterprise Linux 4 2.6.9 or later On Oracle Linux 5 Update 2 with Red Hat Compatible Kernel 2.6.18 or later On Oracle Linux 5 Update 5 with Red Hat Compatible Kernel 2.6.18 or later On Oracle Linux 5 Update 5 with Unbreakable Enterprise Kernel 2.6.32-100.0.19 or later On Oracle Linux 6 2.6.32-100.28.5.el6.x86_64 or later On Oracle Linux 6 with Red Hat Compatible Kernel 2.6.32-71.el6.x86_64 or later On Oracle Linux 7 3.8.13-33.el7uek.x86_64 or later On Oracle Linux 7 with Red Hat Compatible Kernel 3.10.0-54.0.1.el7.x86_64 or later On Red Hat Enterprise Linux 5 Update 2 2.6.18 or later On Red Hat Enterprise Linux 5 Update 5 2.6.18 or later On Red Hat Enterprise Linux 6 2.6.32-71.el6.x86_64 or later On Red Hat Enterprise Linux 7 3.10.0-54.0.1.el7.x86_64 or later On Asianux Server 3 2.6.18 or later On Asianux Server 4 2.6.32-71.el6.x86_64 or later On SUSE Linux Enterprise Server 10 2.6.16.21 or later On SUSE Linux Enterprise Server 11 2.6.27.19 or later On SUSE Linux Enterprise Server 12 3.12.49-11 or later On NeoKylin Linux Advanced Server 6 2.6.32-431.el6.x86_64 or later On NeoKylin Linux Advanced Server 7 3.10.0-327.el7.x86_64 or later
[root@hellodba ~]# uname -r 4.1.12-61.1.28.el6uek.x86_64

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

//Oracle Linux 7 and Red Hat Enterprise Linux 7: binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64) unixODBC-2.2.14-11.el6 (x86_64) or later unixODBC-2.2.14-11.el6.i686 or later unixODBC-devel-2.2.14-11.el6 (x86_64) or later unixODBC-devel-2.2.14-11.el6.i686 or later

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] 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/defrag always madvise [never] [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/enabled always 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 501 oinstall [root@hellodba ~]# /usr/sbin/groupadd -g 502 dba [root@hellodba ~]# /usr/sbin/groupadd -g 503 oper [root@hellodba ~]# /usr/sbin/groupadd -g 504 asmadmin [root@hellodba ~]# /usr/sbin/groupadd -g 505 asmdba [root@hellodba ~]# /usr/sbin/groupadd -g 506 asmoper [root@hellodba ~]# /usr/sbin/useradd -u 501 -g oinstall -G dba,asmdba oracle [root@hellodba ~]# /usr/sbin/useradd -u 502 -g oinstall -G asmadmin,asmdba,asmoper,dba grid [root@hellodba ~]# echo "hellodba" | passwd --stdin oracle [root@hellodba ~]# echo "hellodba" | passwd --stdin grid [root@hellodba ~]# id oracle uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),505(asmdba) [root@hellodba ~]# id grid uid=502(grid) gid=501(oinstall) groups=501(oinstall),502(dba),504(asmadmin),505(asmdba),506(asmoper)

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

7、为Linux配置内核参数

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

[root@hellodba ~]# vi /etc/sysctl.conf [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 = 2684354560 #控制共享内存页数(kernel.shmall = shmmax/4096) kernel.shmall = 655360 #共享内存的最大数量 kernel.shmmni = 4096 #当系统内存使用90%的时候开始使用交换页面 vm.swappiness=10 #默认是100,增大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大。越容易回收。 vm.vfs_cache_pressure=200

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

[root@hellodba ~]# mkdir -p /u01/app/11.2.0/grid [root@hellodba ~]# mkdir -p /u01/app/grid [root@hellodba ~]# mkdir -p /u01/app/oracle [root@hellodba ~]# mkdir -p /u01/app/oraInventory [root@hellodba ~]# mkdir -p /soft [root@hellodba ~]# chown grid:oinstall /u01/app/11.2.0/grid [root@hellodba ~]# chown grid:oinstall /u01/app/grid [root@hellodba ~]# chown oracle:oinstall /u01/app/oracle [root@hellodba ~]# chown -R grid:oinstall /u01 [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.000000] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0xbfffffff] -> [mem 0x00000000-0xbfffffff] [ 0.000000] NUMA: Node 0 [mem 0x00000000-0xbfffffff] + [mem 0x100000000-0x1017fffff] -> [mem 0x00000000-0x1017fffff] //关闭NUMA [root@hellodba ~]# vi /boot/grub/grub.conf 将 kernel /boot/vmlinuz-4.1.12-124.16.4.el6uek.x86_64 ro root=UUID=6218906d-6763-48da-b0d8-3643f20145f5 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=256M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet kernel /boot/vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=6218906d-6763-48da-b0d8-3643f20145f5 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet 改 kernel /boot/vmlinuz-4.1.12-124.16.4.el6uek.x86_64 ro root=UUID=6218906d-6763-48da-b0d8-3643f20145f5 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=256M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet numa=off kernel /boot/vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=6218906d-6763-48da-b0d8-3643f20145f5 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet numa=off [root@hellodba ~]# reboot //NUMA关闭后 [root@hellodba ~]# dmesg | grep -i numa [ 0.000000] Command line: ro root=UUID=dfff9ce0-3d47-4d1c-8a98-d592ca60b24b rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=256M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet numa=off [ 0.000000] NUMA turned off [ 0.000000] Kernel command line: ro root=UUID=dfff9ce0-3d47-4d1c-8a98-d592ca60b24b rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=256M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM 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 ~]# service iptables stop [root@hellodba ~]# chkconfig iptables off

12、修改 /dev/shm大小

[root@hellodba ~]# df -h /dev/shm Filesystem Size Used Avail Use% Mounted on tmpfs 1.4G 72K 1.4G 1% /dev/shm [root@hellodba ~]# vi /etc/fstab 将 tmpfs /dev/shm tmpfs defaults 0 0 改 tmpfs /dev/shm tmpfs defaults,size=3g 0 0 [root@hellodba ~]# mount -o remount /dev/shm [root@hellodba ~]# df -h /dev/shm Filesystem Size Used Avail Use% Mounted on tmpfs 3.0G 72K 3.0G 1% /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 6.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 binutils* yum -y install compat-libcap1* yum -y install compat-libstdc++-33* yum -y install gcc-* yum -y install gcc-c* yum -y install glibc* yum -y install glibc-devel* yum -y install ksh* yum -y install libaio* yum -y install libaio-devel* yum -y install libgcc* yum -y install libstdc++* yum -y install libstdc++-devel* yum -y install libXi* yum -y install libXtst* yum -y install *make* yum -y install sysstat* yum -y install unixODBC yum -y install elfutils-libelf*

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

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

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

[root@hellodba ~]# su - grid [grid@hellodba ~]$ vi ~/.bash_profile export PS1 umask 022 export TMP=/tmp export LANG=en_US.UTF-8; export TMPDIR=$TMP export ORACLE_SID=+ASM; export ORACLE_TERM=xterm; export ORACLE_BASE=/u01/app/grid; export ORACLE_HOME=/u01/app/11.2.0/grid; export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export PATH=.:$PATH:$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 群集件文件,外部冗余磁盘组提供 1 个投票磁盘文件和1个OCR,没有副本。必须使用外部技术来提供镜像以实现高可用性。
由于 Oracle ASM 不会在外部冗余磁盘组中镜像数据,因此 Oracle 建议将外部冗余与RAID等存储设备或其他提供自己的数据保护机制的类似设备一起使用。
Normal redundancy(普通冗余):
在正常的冗余磁盘组中,为了提高性能和可靠性,Oracle ASM默认使用双向镜像。一个正常的冗余磁盘组至少需要三个磁盘设备。正常冗余磁盘组中的有效磁盘空间是其所有设备中磁盘空间总和的一半。
对于Oracle Clusterware文件,普通冗余磁盘组提供3个投票磁盘文件,1个OCR和2个副本(一个主镜像和一个辅助镜像)。在正常冗余的情况下,集群可以在一个失败组的丢失中幸存下来。对于大多数安装,甲骨文建议您选择正常的冗余。
High redundancy(高冗余):
在高冗余磁盘组中,Oracle ASM使用三向镜像来提高性能并提供最高级别的可靠性。高冗余磁盘组至少需要五个磁盘设备。高冗余磁盘组中的有效磁盘空间是其所有设备中磁盘空间总和的三分之一。
对于Oracle Clusterware文件,高冗余磁盘组提供5个投票磁盘文件、1个OCR和3个副本(一个主镜像和两个辅助镜像)。由于高冗余性,集群可以在失去两个失败组后幸存下来。虽然高冗余磁盘组确实提供了高水平的数据保护,但在决定选择高冗余磁盘组之前,您应该考虑额外存储设备的更高成本。

图 3-1 Total Oracle Clusterware Storage Space Required by Redundancy Type
image.png

图 3-2 Total Oracle Database Storage Space Required by Redundancy Type
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 Disk /dev/sdd: 5368 MB, 5368709120 bytes Disk /dev/sde: 5368 MB, 5368709120 bytes //SYSTEM [root@hellodba ~]# fdisk -l | grep "/dev/sd*" | grep '107.4 GB' Disk /dev/sdf: 107.4 GB, 107374182400 bytes Disk /dev/sdh: 107.4 GB, 107374182400 bytes Disk /dev/sdg: 107.4 GB, 107374182400 bytes //RECOVERY [root@hellodba ~]# fdisk -l | grep "/dev/sd*" | grep '214.7 GB' Disk /dev/sdi: 214.7 GB, 214748364800 bytes Disk /dev/sdj: 214.7 GB, 214748364800 bytes Disk /dev/sdk: 214.7 GB, 214748364800 bytes //DATA [root@hellodba ~]# fdisk -l | grep "/dev/sd*" | grep '322.1 GB' Disk /dev/sdn: 322.1 GB, 322122547200 bytes Disk /dev/sdm: 322.1 GB, 322122547200 bytes Disk /dev/sdl: 322.1 GB, 322122547200 bytes

6、查看磁盘UUID

6.1、GRID

[root@hellodba ~]# for i in c d e; do echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\"" done KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d91cd25b66f2067b617899bbc",SYMLINK+="asm-diskc",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2963b55940aab433ca23ba92cc5",SYMLINK+="asm-diskd",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29fc8dfdd5995e31c52a2196e49",SYMLINK+="asm-diske",OWNER="grid", GROUP="asmadmin",MODE="0660"

6.2、SYSTEM

[root@hellodba ~]# for i in f h g; do echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\"" done KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2942d61f9d31ebff0ef06b9e6f8",SYMLINK+="asm-diskf",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29b1a163823d01eba8314b586f3",SYMLINK+="asm-diskh",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29e8d90d3de210987aad1950717",SYMLINK+="asm-diskg",OWNER="grid", GROUP="asmadmin",MODE="0660"

6.3、RECOVERY

[root@hellodba ~]# for i in i j k; do echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\"" done KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c3ef4d6a2a6d56fddfb114efe",SYMLINK+="asm-diski",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c294801be5dae9a8e533a0761301",SYMLINK+="asm-diskj",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c294d7f7943a4b52084e52742691",SYMLINK+="asm-diskk",OWNER="grid", GROUP="asmadmin",MODE="0660"

6.4、DATA

[root@hellodba ~]# for i in n m l; do echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\"" done KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2984ba8818a6ed37cd5d6432f62",SYMLINK+="asm-diskn",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c296f95126c3a1ff89a2c0c269bd",SYMLINK+="asm-diskm",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29f35cbbd640348298a81312640",SYMLINK+="asm-diskl",OWNER="grid", GROUP="asmadmin",MODE="0660"

7、配置规则

[root@hellodba ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d91cd25b66f2067b617899bbc",SYMLINK+="asm-grid01",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2963b55940aab433ca23ba92cc5",SYMLINK+="asm-grid02",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29fc8dfdd5995e31c52a2196e49",SYMLINK+="asm-grid03",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2942d61f9d31ebff0ef06b9e6f8",SYMLINK+="asm-system01",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29b1a163823d01eba8314b586f3",SYMLINK+="asm-system02",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29e8d90d3de210987aad1950717",SYMLINK+="asm-system03",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c3ef4d6a2a6d56fddfb114efe",SYMLINK+="asm-recovery01",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c294801be5dae9a8e533a0761301",SYMLINK+="asm-recovery02",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c294d7f7943a4b52084e52742691",SYMLINK+="asm-recovery03",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2984ba8818a6ed37cd5d6432f62",SYMLINK+="asm-data01",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c296f95126c3a1ff89a2c0c269bd",SYMLINK+="asm-data02",OWNER="grid", GROUP="asmadmin",MODE="0660" KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29f35cbbd640348298a81312640",SYMLINK+="asm-data03",OWNER="grid", GROUP="asmadmin",MODE="0660"

8、加载规则并重启服务

[root@hellodba ~]# /sbin/udevadm control --reload-rules [root@hellodba ~]# /sbin/start_udev Starting udev: [ OK ] [root@hellodba ~]# ls -lsa /dev/asm* 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-data01 -> sdn 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-data02 -> sdm 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-data03 -> sdl 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-grid01 -> sdc 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-grid02 -> sdd 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-grid03 -> sde 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-recovery01 -> sdi 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-recovery02 -> sdj 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-recovery03 -> sdk 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-system01 -> sdf 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-system02 -> sdh 0 lrwxrwxrwx 1 root root 3 Oct 6 08:06 /dev/asm-system03 -> sdg

四、安装Oracle Grid软件

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

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

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

[grid@hellodba ~]$ cd /soft/grid/ [grid@hellodba grid]$ ./runInstaller

3、下载软件更新

跳过软件更新。
image.png

4、安装选项

选择Configure Oracle Grid Infrastructure for a Standalone Server选项安装和配置Oracle ASM,单击下一步。
image.png

5、选择产品语言

选择一种或多种语言。将语言从“可用语言”列表移动到“所选语言”列表,单击下一步。
image.png

6、创建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

7、指定ASM密码

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

8、操作系统组

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

9、指定安装位置

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

image.png
image.png

10、指定创建清单目录

默认情况下显示 Oracle Inventory Directory 基本路径。您可以根据需要更改此路径。
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/11.2.0/grid/root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /u01/app/11.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/11.2.0/grid/crs/install/crsconfig_params Creating trace directory 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. Adding Clusterware entries to upstart hellodba 2023/10/06 12:25:43 /u01/app/11.2.0/grid/cdata/hellodba/backup_20231006_122543.olr Successfully configured Oracle Grid Infrastructure 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 Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED NORMAL N 512 4096 4194304 921600 921360 307200 307080 0 N DATA/ MOUNTED NORMAL N 512 4096 4194304 15360 15100 5120 4990 0 N GRID/ MOUNTED NORMAL N 512 4096 4194304 614400 614160 204800 204680 0 N RECOVERY/ MOUNTED NORMAL N 512 4096 4194304 307200 306960 102400 102280 0 N SYSTEM/

五、安装Oracle数据库软件

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

//通过oracle用户上传Oracle数据库安装软件到服务器 /soft 目录 [root@hellodba ~]# su - oracle [oracle@hellodba ~]$ cd /soft [oracle@hellodba soft]$ unzip -q p13390677_112040_Linux-x86-64_1of7.zip [oracle@hellodba soft]$ unzip -q p13390677_112040_Linux-x86-64_2of7.zip [oracle@hellodba soft]$ ll drwxr-xr-x 7 oracle oinstall 4096 Aug 27 2013 database -rw-r--r-- 1 oracle oinstall 1395582860 Oct 6 13:51 p13390677_112040_Linux-x86-64_1of7.zip -rw-r--r-- 1 oracle oinstall 1151304589 Oct 6 13:51 p13390677_112040_Linux-x86-64_2of7.zip

2、安装数据库软件

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

2.1、配置安全更新

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

2.2、下载软件更新

跳过软件更新。
image.png

2.3、安装选项

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

2.4、数据库安装选项

选择要执行的数据库安装类型,然后单击下一步。
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.5、选择产品语言

此选项使您能够选择要用于运行产品的语言。
从“可用语言”列表中选择产品语言,然后将其移动到“所选语言”列表中,单击下一步。

image.png

2.6、选择数据库版本

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

2.7、指定安装位置

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

image.png

2.8、操作系统组选择

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

2.9、先决条件检查

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

image.png

2.10、执行安装

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

2.11、执行配置脚本

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

image.png

[root@hellodba ~]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.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. Finished product-specific root actions.

image.png

2.12、数据库软件安装完成

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

六、使用DBCA创建数据库

1、启动数据库配置助手

[oracle@hellodba ~]$ dbca

image.png

2、创建数据库

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

3、数据库模板

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

image.png

4、数据库标识

在“Global Database Name(全局数据库名称)”字段中,输入数据库名称。
在 “SID ”字段中,输入系统标识符。SID 默认为数据库名称,并唯一标识运行数据库的实例。

image.png

5、管理选项

此窗口设置数据库可以使用Oracle Enterprise Manager对其进行管理。
Oracle Enterprise Manager为各个数据库提供了基于Web的管理工具,并为管理整个Oracle环境提供了集中管理工具。
此处不安装。

image.png

6、数据库凭证

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

7、数据库文件位置

在此窗口中,指定希望数据库使用的存储类型,然后指定 Oracle 数据库文件的位置。
Use Database File Locations from Template:此选项指示DBCA使用模板中指定的目录信息。稍后,您可以修改数据库文件名和位置。
Use Common Location for All Database Files:此选项要求您为Oracle主目录指定一个新目录。所有数据库文件都在此位置创建。稍后,您可以修改数据库文件名和位置。
Use Oracle Managed Files:此选项指示Oracle数据库直接管理包括Oracle数据库的操作系统文件。您可以为所有文件指定默认位置,称为数据库区域。此后,Oracle数据库会根据需要自动在此位置创建和删除文件。您还可以通过选择多路重做日志和控制文件来创建重做和联机日志文件的多个副本。

image.png
image.png
image.png
image.png
image.png

8、恢复区和归档配置

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

image.png

9、数据库组件选择

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

10、初始化参数

10.1、内存

Typical: 这种方法只需要很少的配置,并且将内存分配为总物理系统内存的百分比。使用此设置,系统会自动调整SGA的许多内存组件,并根据需要将内存分配给单个PGA。根据处理需求,系统还可以动态减少或增加分配给SGA或聚合PGA的内存总量。用于数据库实例的总内存永远不会超过您指定的量。这种实例的自动内存调优被称为自动内存管理。
Custom: 此方法比典型选项需要更多的配置,但可以让您更好地控制数据库实例如何使用系统内存。此选项适用于更有经验的数据库管理员。您可以直接为SGA和PGA及其子结构(如共享池和缓冲缓存)指定内存大小。
选择以下选项之一进行自定义内存管理:
自动共享内存管理: 为SGA分配特定数量的内存并聚合PGA。使用此设置,为SGA启用自动共享内存管理,并根据需要将内存分配给单个PGA。
手动共享内存管理: 为每个SGA组件和聚合PGA输入特定值。这会禁用自动共享内存管理,并使您能够确定SGA内存如何在SGA内存组件之间分布。
经验值:
SGA < 物理内存 * 80% * 80%
PGA < 物理内存 * 80% * 20%

image.png

10.2、块大小和用户进程数

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

image.png

10.3、字符集

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

image.png

10.4、连接模式

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

image.png

11、数据库存储

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

image.png

12、创建数据库

image.png
image.png
image.png

13、数据库创建完毕

单击“Exit”结束安装,并退出安装程序。
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_full from v$version; BANNER_FULL ----------------------------------------------------------------------- Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0

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/11.2.0/grid # 添加到root下的环境变量 [root@hellodba ~]# vi ~/.bash_profile PATH=$PATH:/u01/app/11.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 ~]# crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.DATA.dg ora....up.type ONLINE ONLINE hellodba ora.GRID.dg ora....up.type ONLINE ONLINE hellodba ora....ER.lsnr ora....er.type ONLINE ONLINE hellodba ora....VERY.dg ora....up.type ONLINE ONLINE hellodba ora.SYSTEM.dg ora....up.type ONLINE ONLINE hellodba ora.asm ora.asm.type ONLINE ONLINE hellodba ora.cssd ora.cssd.type ONLINE ONLINE hellodba ora.diskmon ora....on.type OFFLINE OFFLINE ora.evmd ora.evm.type ONLINE ONLINE hellodba ora.hellodb.db ora....se.type ONLINE ONLINE hellodba ora.ons ora.ons.type OFFLINE OFFLINE

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.GRID.dg' on 'hellodba' CRS-2673: Attempting to stop 'ora.RECOVERY.dg' on 'hellodba' CRS-2673: Attempting to stop 'ora.hellodb.db' on 'hellodba' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'hellodba' CRS-2677: Stop of 'ora.RECOVERY.dg' on 'hellodba' succeeded CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'hellodba' succeeded CRS-2677: Stop of 'ora.hellodb.db' on 'hellodba' succeeded 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-2677: Stop of 'ora.GRID.dg' on 'hellodba' succeeded CRS-2679: Attempting to clean 'ora.GRID.dg' on 'hellodba' CRS-2681: Clean of 'ora.GRID.dg' on 'hellodba' succeeded CRS-2673: Attempting to stop 'ora.asm' on 'hellodba' 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-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.

八、总结

  到此Oracle Linux 6.9 + ASM安装Oracle 11g单机部署完毕。Oracle ASM 是 Oracle 强烈推荐的存储管理解决方案,Oracle ASM具有简化存储管理、高性能和可伸缩性、数据安全性以及管理简便性等多个优点,使得它成为Oracle数据库环境中广泛采用的存储管理解决方案之一。希望通过本文对您搭建一套基于Oracle Linux 6.9 + ASM + Oracle 11g的数据库环境有一定帮助,祝顺利!

九、写在后面

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

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

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

文章被以下合辑收录

评论