数据库教程FGMT03‑生产环境Linux+Oracle19c+ASM安装配置与项目实战
## 前言
在企业生产环境中,Oracle ASM自动存储管理是Oracle数据库主流存储方案,它脱离传统文件系统,直接管理块设备,提供条带化、镜像、在线磁盘扩容、自动负载均衡等能力。我是风哥,在大量DBA实施项目中,ASM+Oracle19c单机架构广泛用于金融、政务、运营商业务系统。ASM部署和普通文件系统安装最大差异在于必须预先部署Grid Infrastructure(GI)组件,GI内部包含Oracle Restart、ASM实例、集群管理后台服务,整套实施流程复杂度高于普通文件系统部署,操作系统用户组、UDEV磁盘权限、GI静默安装、磁盘组规划任何一处疏漏,都会造成ASM实例启动失败、数据库无法挂载。风哥 itpux-com
本文面向数据库运维工程师、DBA、IT实施人员,完整覆盖Linux平台Oracle19c单机ASM标准化部署。全部原`/u01`路径统一调整为`/fgedudb`,服务器硬件规格为**64G内存,8CPU**,所有内核参数、数据库内存参数基于该硬件规格进行调优;数据库实例名、数据库名、业务用户名统一为`fgedudb`、`fgedu`。文章包含理论原理、存储规划、操作系统预处理、GI静默部署、ASM磁盘组创建、Oracle数据库软件安装、dbca静默建库(ASM存储)、监听配置、实例启停、生产巡检全套内容,提供大量可直接复用Shell与SQL命令,为后续RAC集群、ADG容灾部署打下技术基础。
**内容大纲:**
1. Oracle ASM与Grid Infrastructure基础概念,生产存储规划(64G/8C硬件基准)
2. ASM磁盘组冗余模式、AU分配单元、Oracle Restart工作原理
3. GI部署操作系统用户组、内核参数、UDEV磁盘权限理论(适配64G内存)
4. GI安装两种模式、ASM实例与数据库实例依赖关系
5. 完整实战操作:操作系统预处理、磁盘UDEV配置、GI静默安装、ASM磁盘组创建、Oracle数据库软件部署、dbca建库存放至ASM磁盘组、监听配置、启停管理、开机自启、生产环境校验
6. ASM日常基础运维命令,磁盘组扩容操作演示
7. 全文总结,ASM生产实施风险提示与最佳实践
## 一、Linux下Oracle19c+ASM部署基础理论
### 1.1 ASM与Grid Infrastructure概念说明
Oracle ASM(Automatic Storage Management)自动存储管理,是Oracle自研的卷管理与文件系统一体化组件,直接操作裸磁盘块设备,不需要操作系统层LVM或者EXT4文件系统。ASM把多块物理磁盘封装为磁盘组Disk Group,数据库的数据文件、控制文件、redo日志、归档日志、快速恢复区文件全部直接存放在ASM磁盘组内部,Oracle内部自动完成IO条带化、数据镜像、磁盘负载均衡、磁盘在线扩容缩容。
要运行单机ASM,必须安装Grid Infrastructure for Standalone Server,也就是单机GI组件,GI会部署Oracle Restart高可用组件。Oracle Restart负责对ASM实例、数据库实例、监听服务进行托管,服务器重启后自动按依赖顺序拉起ASM、数据库、监听服务。注意:**ASM是一套独立实例,数据库实例依赖ASM实例,必须先启动ASM实例,数据库才可以挂载打开**。风哥教程 itpux_com
GI软件使用grid操作系统用户,数据库软件使用oracle操作系统用户,二者分离。ASM拥有独立特权角色SYSASM,专门用于ASM磁盘组管理,和数据库sysdba权限相互隔离。
### 1.2 ASM磁盘组冗余模式理论
ASM磁盘组提供三类冗余模式,生产选型必须结合后端存储RAID综合评估:
1. **EXTERNAL 外部冗余**:ASM不做镜像,依赖外部存储RAID卡实现数据保护,生产环境后端已经配置RAID5/RAID6时选用,磁盘空间100%可用。
2. **NORMAL普通冗余**:ASM内部双向镜像,至少需要2块故障组磁盘,相同数据保存两份副本,可用磁盘容量约总物理磁盘的50%,用于没有底层存储RAID的场景。
3. **HIGH高冗余**:ASM三副本镜像,至少3个故障组,可用容量约总物理磁盘三分之一,用于对数据可靠性要求极高的环境。
AU(Allocation Unit)分配单元,是ASM磁盘分配空间最小粒度,生产环境磁盘组AU大小推荐4MB。风哥在多年项目实施中,针对64G/8C的业务服务器,一般会规划两套独立ASM磁盘组,DATA存放业务数据,FRA存放归档与备份文件。本次实战我们创建两套磁盘组:`DATA`存放数据库数据文件、控制文件、redo日志;`FRA`磁盘组存放快速恢复区、归档日志、备份文件。
本文标准化目录与存储规划(所有原`/u01`全部替换为`/fgedudb`):
|目录路径|用途说明|
|—|—|
|`/fgedudb/app`|Oracle Base根目录|
|`/fgedudb/app/grid`|Grid Infrastructure GI软件家目录|
|`/fgedudb/app/product/19.0.0/dbhome_1`|Oracle数据库软件家目录|
|`/fgedudb/app/oraInventory`|Oracle软件清单目录|
|`/fgedudb/soft`|GI介质、数据库介质、补丁存放目录|
数据库标准化业务信息(硬件:64G内存,8CPU):
– 全局数据库名:`fgedudb`
– 实例SID:`fgedudb`
– ASM实例SID:`+ASM`
– 业务用户名:`fgedu`
– 字符集:`AL32UTF8`
– 国家字符集:`AL16UTF16`
– 监听端口:1521
– 磁盘组:`DATA`、`FRA`,冗余模式EXTERNAL
– 生产强制开启归档模式`ARCHIVELOG`,归档日志存放于`+FRA`
– 数据库`memory_target`:48G;SGA 36G,PGA 12G(64G物理内存预留16G给OS+ASM)
### 1.3 用户组权限体系理论
ASM环境会新增三套专属用户组,这是和普通文件系统安装最大区别:
1. `asmadmin`:ASM管理员组,拥有SYSASM权限,grid用户主组;
2. `asmdba`:可以访问ASM磁盘组的数据库用户附属组,oracle用户必须加入此组,否则数据库无法读写ASM磁盘;
3. `asmoper`:ASM操作组,支持ASM实例启停操作权限。
完整用户规划:
– grid用户:GI软件所有者,主组oinstall、asmadmin,附属组asmdba、asmoper、dba;
– oracle用户:数据库软件所有者,主组oinstall,附属组dba、oper、asmdba;
– oinstall:软件清单属组;dba:数据库sysdba权限组。
### 1.4 磁盘设备与UDEV规则理论
ASM直接使用裸块设备,磁盘设备权限至关重要,如果磁盘属主、权限不对,GI识别不到磁盘,或者磁盘组mount失败。Linux环境下通过UDEV规则固化磁盘设备权限,服务器重启之后磁盘设备文件名不会发生变化,设备文件固定属主为grid:asmadmin,权限0660,不使用oracleasm内核包。磁盘设备示例为`/dev/sdb、/dev/sdc`,UDEV规则根据磁盘UUID识别设备,不依赖设备名。
### 1.5 GI安装与Oracle Restart原理
Grid Infrastructure单机安装有图形化与静默silent两种模式,生产机房无显示器服务器优先选择静默安装。GI安装完成之后操作系统会新增CRS、OHASD后台进程,也就是Oracle Restart管理进程。Oracle Restart维护资源依赖关系:监听资源依赖ASM资源,数据库资源依赖ASM资源。服务器开机,OHASD首先启动+ASM实例,之后再启动数据库实例与监听。如果ASM实例异常停止,受托管的数据库实例会自动关闭。风哥数据库 itpux-com
> 重要提醒:GI必须优先安装,之后再安装Oracle数据库软件,顺序不可颠倒。
### 1.6 ASM环境下数据库创建理论
数据库软件本身不需要任何改动,区别在建库阶段,dbca指定存储位置为ASM磁盘组,数据文件、redo、控制文件全部写入`+DATA`,快速恢复区指定`+FRA`。数据库层面不需要管理底层磁盘,全部交给ASM实例完成。建库完成后可以通过asmcmd工具登录ASM环境浏览磁盘组内部的各类数据库文件。针对64G内存8C服务器,建库参数提前规划好SGA/PGA,避免后期大量内存参数调整。
## 二、生产环境完整实战操作
> 说明:操作系统RHEL7,硬件规格64GB物理内存、8核CPU;全部命令正式执行前务必在测试环境验证;全部原`/u01`路径替换为`/fgedudb`;数据库SID、DB_NAME统一`fgedudb`,业务用户`fgedu`;root执行操作系统配置,grid执行GI相关操作,oracle执行数据库软件操作。
### 2.1 操作系统基础预处理(root用户执行)
#### 2.1.1 主机名与hosts配置
“`bash
hostnamectl set-hostname ora‑asm‑fgedudb
cat >> /etc/hosts << EOF
10.10.10.101 ora‑asm‑fgedudb
EOF
“`
#### 2.1.2 防火墙、SELinux、透明大页关闭
生产内网环境关闭防火墙,SELinux设置permissive,必须关闭透明大页,透明大页会引发ASM内存异常、数据库性能抖动。
“`bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i ‘s/^SELINUX=enforcing/SELINUX=permissive/’ /etc/selinux/config
#关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
#写入rc.local保证开机生效
echo ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ >> /etc/rc.local
echo ‘echo never > /sys/kernel/mm/transparent_hugepage/defrag’ >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
“`
#### 2.1.3 安装操作系统依赖包
GI对依赖包要求高于普通数据库,完整安装依赖软件包:
“`bash
yum install -y binutils compat‑libcap‑devel gcc gcc‑c++ glibc glibc‑devel ksh libaio libaio‑devel libgcc libstdc++ libstdc++‑devel libXi libXtst make sysstat unzip libnsl compat-libstdc++-33
“`
#### 2.1.4 创建操作系统用户组、用户
“`bash
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
#grid用户 GI所有者
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid
#oracle用户 数据库所有者
useradd -g oinstall -G dba,oper,asmdba oracle
echo “Grid@123” | passwd –stdin grid
echo “Oracle@123″ | passwd –stdin oracle
“`
#### 2.1.5 创建目录并且授权属主
“`bash
mkdir -p /fgedudb/app
mkdir -p /fgedudb/app/grid
mkdir -p /fgedudb/app/product/19.0.0/dbhome_1
mkdir -p /fgedudb/app/oraInventory
mkdir -p /fgedudb/soft
chown -R grid:oinstall /fgedudb/app/grid
chown -R oracle:oinstall /fgedudb/app/product/19.0.0/dbhome_1
chown -R grid:oinstall /fgedudb/app/oraInventory
chown -R root:root /fgedudb/soft
chmod -R 775 /fgedudb
“`
#### 2.1.6 配置内核参数 /etc/sysctl.conf(适配64G内存)
“`ini
#64G内存 8CPU 内核参数
kernel.shmmax=51539607552
kernel.shmall=12582912
kernel.sem=250 32000 100 128
fs.file‑max=6815744
fs.aio‑max‑nr=1048576
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
#针对8CPU调整
kernel.numa_balancing=0
vm.swappiness=10
vm.dirty_background_ratio=5
vm.dirty_ratio=15
“`
生效内核参数:
“`bash
sysctl -p
“`
#### 2.1.7 用户资源限制 /etc/security/limits.conf
追加如下配置:
“`ini
grid soft nofile 10240
grid hard nofile 65535
grid soft nproc 8192
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
oracle soft nofile 10240
oracle hard nofile 65535
oracle soft nproc 8192
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
“`
#### 2.1.8 UDEV磁盘设备规则配置
本次示例使用两块裸磁盘`/dev/sdb`、`/dev/sdc`,用于创建DATA与FRA磁盘组。获取磁盘UUID,编写udev规则`/etc/udev/rules.d/99-oracle-asm.rules`
“`bash
#获取磁盘uuid命令
udevadm info –query=property –name=/dev/sdb
udevadm info –query=property –name=/dev/sdc
“`
写入udev规则,替换实际UUID:
“`ini
ACTION==”add”, SUBSYSTEM==”block”, ENV{DEVTYPE}==”disk”, ENV{ID_SERIAL}==”SATA_VBOX_HARDDISK_VBxxxx”, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″
ACTION==”add”, SUBSYSTEM==”block”, ENV{DEVTYPE}==”disk”, ENV{ID_SERIAL}==”SATA_VBOX_HARDDISK_VByyyy”, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″
“`
重载udev规则:
“`bash
udevadm control –reload-rules
udevadm trigger
#校验磁盘权限
ls -l /dev/sdb /dev/sdc
“`
### 2.2 grid用户配置环境变量
切换grid用户,编辑`~/.bash_profile`
“`bash
su – grid
vi ~/.bash_profile
“`
写入环境变量:
“`bash
export ORACLE_BASE=/fgedudb/app
export ORACLE_HOME=/fgedudb/app/grid
export ORACLE_SID=+ASM
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
“`
生效环境变量:
“`bash
source ~/.bash_profile
echo $ORACLE_HOME
“`
### 2.3 GI介质解压(grid用户)
把GI介质`LINUX.X64_193000_grid_home.zip`上传至`/fgedudb/soft`,解压到GI家目录
“`bash
cd /fgedudb/soft
unzip LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME
chmod -R 755 $ORACLE_HOME
“`
### 2.4 Grid Infrastructure GI静默安装
复制GI响应文件模板:
“`bash
cp $ORACLE_HOME/install/response/grid_install.rsp ~/grid_install.rsp
“`
修改响应文件关键参数,单机Oracle Restart模式:
“`ini
oracle.install.responseFileVersion=/fgedudb/app/grid/install/rspfmt_grid_install_response_schema_v19.0.0
oracle.install.option=ORACLE_GI_RESTART
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/fgedudb/app/oraInventory
ORACLE_BASE=/fgedudb/app
ORACLE_HOME=/fgedudb/app/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.configureGIMR=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.asm.SYSASMPassword=Asm@Fgedu123
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.AUSize=4
oracle.install.asm.diskGroup.disks=/dev/sdb
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/sd*
oracle.install.asm.monitorPassword=AsmMon@123
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
“`
执行静默安装命令:
“`bash
$ORACLE_HOME/gridSetup.sh -silent -responseFile ~/grid_install.rsp
“`
安装结束,按照提示root执行脚本:
“`bash
su – root
/fgedudb/app/oraInventory/orainstRoot.sh
/fgedudb/app/grid/root.sh
“`
root脚本执行完毕,GI与+ASM实例部署完成,验证OHASD进程状态
“`bash
ps -ef | grep has
crsctl check has
crsctl stat res -t
“`
### 2.5 ASMCA静默创建FRA磁盘组(grid用户)
GI安装阶段已经创建DATA磁盘组,我们通过asmca静默新增FRA磁盘组,用于归档、快速恢复区:
“`bash
asmca -silent -createDiskGroup \
-diskGroupName FRA \
-diskList /dev/sdc \
-redundancy EXTERNAL \
-au_size 4 \
-compatible.asm 19.0.0.0.0
“`
登录ASM实例,查看磁盘组状态:
“`bash
sqlplus / as sysasm
SELECT name,state,type,total_mb,free_mb FROM v$asm_diskgroup;
“`
确认`DATA`、`FRA`状态为`MOUNTED`。
### 2.6 Oracle数据库软件静默安装(oracle用户,仅软件,不建库)
切换oracle用户,配置`.bash_profile`环境变量
“`bash
su – oracle
vi ~/.bash_profile
“`
“`bash
export ORACLE_BASE=/fgedudb/app
export ORACLE_HOME=/fgedudb/app/product/19.0.0/dbhome_1
export ORACLE_SID=fgedudb
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
“`
“`bash
source ~/.bash_profile
“`
数据库介质解压:
“`bash
cd /fgedudb/soft
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
chmod -R 755 $ORACLE_HOME
“`
复制数据库安装响应文件,修改参数
“`bash
cp $ORACLE_HOME/install/response/db_install.rsp ~/db_install.rsp
“`
“`ini
oracle.install.responseFileVersion=/fgedudb/app/product/19.0.0/dbhome_1/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/fgedudb/app/oraInventory
ORACLE_HOME=/fgedudb/app/product/19.0.0/dbhome_1
ORACLE_BASE=/fgedudb/app
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
“`
执行静默安装:
“`bash
$ORACLE_HOME/runInstaller -silent -responseFile ~/db_install.rsp
“`
安装结束,root执行脚本
“`bash
su – root
/fgedudb/app/product/19.0.0/dbhome_1/root.sh
“`
### 2.7 dbca静默创建数据库,存储全部使用ASM磁盘组(64G内存参数)
数据库文件存放`+DATA`,FRA、归档日志存放`+FRA`,开启归档模式;`memory_target=48G`适配64G物理内存服务器:
“`bash
dbca -silent -createDatabase \
‑templateName General_Purpose.dbc \
‑gdbName fgedudb \
‑sid fgedudb \
‑characterSet AL32UTF8 \
‑nationalCharacterSet AL16UTF16 \
‑sysPassword Sys@Fgedu123 \
‑systemPassword Sys@Fgedu123 \
‑createAsContainerDatabase false \
‑storageType ASM \
‑datafileDestination +DATA \
‑recoveryAreaDestination +FRA \
‑redoLogFileSize 2048 \
‑initParams audit_trail=db,memory_target=48G,db_recovery_file_dest_size=30G,db_recovery_file_dest=+FRA,processes=2000,open_cursors=300,parallel_max_servers=16 \
‑enableArchive true \
‑archiveLogDest +FRA
“`
建库完成,Oracle Restart会自动把数据库资源加入托管。
> 参数说明:8CPU服务器parallel_max_servers设置16,processes=2000满足高并发业务,db_recovery_file_dest_size设置30G适配归档保留策略。
### 2.8 监听配置与资源状态查看
使用netca静默配置监听,监听会被Oracle Restart托管:
“`bash
netca -silent -responseFile $ORACLE_HOME/network/admin/netca.rsp
lsnrctl status
“`
grid用户查看全部受托管资源,确认ASM、数据库、监听全部online:
“`bash
su – grid
crsctl stat res -t
“`
### 2.9 数据库登录与ASM环境校验
oracle用户登录数据库:
“`bash
sqlplus / as sysdba
“`
“`sql
SELECT instance_name,status FROM v$instance;
SELECT name,dbid,log_mode,open_mode FROM v$database;
–查看控制文件位置(ASM路径)
SELECT name FROM v$controlfile;
–查看数据文件ASM路径
SELECT file_name,tablespace_name FROM dba_data_files;
–查看redo日志成员ASM路径
SELECT group#,member FROM v$logfile;
–验证内存参数
SHOW PARAMETER memory_target;
SHOW PARAMETER sga_target;
SHOW PARAMETER pga_aggregate_target;
SHOW PARAMETER processes;
“`
使用asmcmd浏览ASM磁盘组内部文件(grid用户执行)
“`bash
su – grid
asmcmd
ASMCMD> ls +DATA/fgedudb/
ASMCMD> ls +FRA/fgedudb/
“`
创建业务用户fgedu:
“`sql
CREATE USER fgedu IDENTIFIED BY Fgedu@123 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT connect,resource,create view TO fgedu;
CONNECT fgedu/Fgedu@123;
SELECT * FROM dual;
“`
### 2.10 ASM磁盘组扩容实战操作演示
当磁盘组空间不足,新增一块裸盘`/dev/sdd`,UDEV规则配置完成后,grid用户登录ASM执行磁盘添加:
“`bash
su – grid
sqlplus / as sysasm
ALTER DISKGROUP DATA ADD DISK ‘/dev/sdd’;
–查询磁盘状态
SELECT name,path,state FROM v$asm_disk;
SELECT name,state,total_mb,free_mb FROM v$asm_diskgroup;
“`
### 2.11 Oracle Restart启停完整操作演示
Oracle Restart托管环境,优先使用crsctl命令启停整套服务,而不是直接操作sqlplus。
“`bash
su – grid
#全部资源停止
crsctl stop has
#全部资源启动
crsctl start has
#单独启停数据库
srvctl stop database -d fgedudb
srvctl start database -d fgedudb
#单独启停监听
srvctl stop listener
srvctl start listener
“`
### 2.12 ASM环境综合巡检脚本(64G/8C)
“`bash
#操作系统层面检查
id grid
id oracle
ls -l /dev/sdb /dev/sdc
crsctl check has
crsctl stat res -t
free -g
lscpu
#ASM层面检查
su – grid
sqlplus / as sysasm <<EOF
SELECT name,state,type,total_mb,free_mb FROM v$asm_diskgroup;
SELECT name,path,state FROM v$asm_disk;
EOF
#数据库层面检查
su – oracle
sqlplus / as sysdba <<EOF
SELECT version FROM v$instance;
SELECT name,log_mode FROM v$database;
SHOW PARAMETER db_recovery_file_dest;
SHOW PARAMETER memory_target;
SHOW PARAMETER processes;
SELECT file_name FROM dba_data_files;
EOF
lsnrctl status
tnsping fgedudb
“`
## 三、总结
Linux平台Oracle19c+ASM单机部署,核心难点在于Grid Infrastructure组件部署、UDEV磁盘权限、asmadmin/asmdba用户组权限配置。很多实施人员习惯于传统文件系统部署,忽略GI必须优先安装,oracle用户没有加入asmdba组,最终数据库无法访问ASM磁盘。我是风哥,在大量项目实施过程中,遇到最多的故障就是磁盘设备权限错误、磁盘发现字符串配置错误、Oracle Restart资源依赖异常。风哥数据库 itpux-com
本文遵循OFA架构规范,全部原`/u01`路径统一修改为`/fgedudb`,整套内核、数据库内存参数全部基于**64G内存,8CPU**服务器做标准化调优;实例SID、数据库名、业务用户名统一使用`fgedudb/fgedu`,全部实战基于静默部署,适合机房无图形服务器,脚本可以进一步封装实现自动化批量部署。ASM提供条带化、镜像、在线扩容能力,相比传统文件系统更适合Oracle生产环境,但同时增加GI组件维护成本,运维人员必须掌握crsctl、srvctl、asmcmd等配套管理工具,不能沿用普通文件系统数据库的启停习惯。
部署完成之后,巡检工作必不可少,确认ASM磁盘组MOUNT状态、数据库全部文件正确存放在ASM磁盘组内部、归档模式开启、Oracle Restart托管资源全部ONLINE、业务用户正常访问。正式上线之前需要完整验证服务器重启流程,确认操作系统重启之后,Oracle Restart可以按照依赖顺序自动拉起ASM实例、数据库实例、监听。后续RAC集群、ADG容灾、备份恢复都是基于这套ASM架构开展,DBA不能只复制脚本执行,要理解GI、ASM实例、数据库实例三者之间依赖关系,这样才可以处理部署以及运行阶段各类报错。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
