Oracle 环境验证清单

Oracle 环境验证清单

适用版本:Oracle Database 19c / 23ai 文档版本:v1.0 / 2026-07


1. 概述

Oracle 安装后验证清单[1]:

详细见:Oracle 环境配置最佳实践


2. 系统验证

2.1 操作系统

# 版本
cat /etc/oracle-release
uname -a

# 内存
free -h

# 磁盘
df -h

# CPU
nproc
lscpu

2.2 内核参数

sysctl -a | grep -E 'shmall|shmmax|shmmni|sem'
sysctl -a | grep -E 'fs.file-max|fs.aio-max-nr'
sysctl -a | grep -E 'ip_local_port_range|rmem|wmem'

2.3 资源限制

su - oracle
ulimit -a

# 检查
cat /etc/security/limits.d/99-oracle.conf

2.4 HugePages

grep Huge /proc/meminfo

2.5 透明大页

cat /sys/kernel/mm/transparent_hugepage/enabled
# 应为 never

3. Oracle 软件

3.1 ORACLE_HOME

echo $ORACLE_HOME
echo $ORACLE_BASE
echo $ORACLE_SID

ls -l $ORACLE_HOME/bin/oracle
$ORACLE_HOME/bin/sqlplus -V

3.2 OPatch

$ORACLE_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/opatch lsinventory

3.3 Inventory

cat /etc/oraInst.loc
ls /u01/app/oraInventory

4. 数据库实例

4.1 状态

sqlplus / as sysdba

SELECT name, open_mode, log_mode, flashback_on 
FROM v$database;

SELECT instance_name, status, version, startup_time 
FROM v$instance;

SELECT * FROM v$version;

4.2 参数

SHOW PARAMETER name
SHOW PARAMETER sga
SHOW PARAMETER pga
SHOW PARAMETER processes
SHOW PARAMETER open_cursors
SHOW PARAMETER db_block_size
SHOW PARAMETER compatible
SHOW PARAMETER character
SHOW PARAMETER db_recovery_file
SHOW PARAMETER archive

4.3 字符集

SELECT parameter, value 
FROM nls_database_parameters 
WHERE parameter LIKE '%CHARACTERSET';

4.4 组件

SELECT comp_id, version, status, comp_name 
FROM dba_registry;

4.5 选项

SELECT parameter, value FROM v$option ORDER BY parameter;

5. 网络

5.1 监听器

lsnrctl status
lsnrctl services

5.2 连接

sqlplus system/Oracle123@orcl
sqlplus sys/Oracle123@orcl as sysdba

tnsping orcl

5.3 配置

cat $ORACLE_HOME/network/admin/listener.ora
cat $ORACLE_HOME/network/admin/tnsnames.ora
cat $ORACLE_HOME/network/admin/sqlnet.ora

5.4 防火墙

firewall-cmd --list-ports
firewall-cmd --list-services

6. 存储

6.1 表空间

SELECT tablespace_name, file_id, file_name, bytes/1024/1024/1024 AS GB, status
FROM dba_data_files
ORDER BY tablespace_name;

SELECT tablespace_name, status, contents 
FROM dba_tablespaces;

6.2 空间

SELECT tablespace_name, 
       ROUND(SUM(total_mb)/1024, 2) AS total_gb,
       ROUND(SUM(used_mb)/1024, 2) AS used_gb,
       ROUND(SUM(free_mb)/1024, 2) AS free_gb
FROM (
  SELECT tablespace_name, 
         SUM(bytes)/1024/1024 AS total_mb,
         0 AS used_mb, 0 AS free_mb
  FROM dba_data_files GROUP BY tablespace_name
  UNION ALL
  SELECT tablespace_name, 0, 0, SUM(bytes)/1024/1024
  FROM dba_free_space GROUP BY tablespace_name
)
GROUP BY tablespace_name;

6.3 FRA

SELECT name, 
       space_limit/1024/1024/1024 AS limit_gb,
       space_used/1024/1024/1024 AS used_gb,
       space_reclaimable/1024/1024/1024 AS reclaimable_gb
FROM v$recovery_file_dest;

7. ASM(如适用)

7.1 状态

srvctl status asm
asmcmd lsdg
asmcmd lsdsk

7.2 Disk Group

SELECT group_number, name, state, type, total_mb, free_mb 
FROM v$asm_diskgroup;

详细见:Oracle ASM 安装详解


8. RAC(如适用)

8.1 集群状态

crsctl stat res -t
crsctl check cluster -all
crsctl check crs

8.2 节点

olsnodes -n -s -t

8.3 数据库

srvctl status database -db orcl
srvctl config database -db orcl

8.4 实例

SELECT inst_id, instance_name, status, host_name 
FROM gv$instance;

8.5 OCR / Voting

ocrcheck
crsctl query css votedisk

详细见:Oracle RAC 19c 部署详解


9. Data Guard(如适用)

9.1 Broker

DGMGRL> SHOW CONFIGURATION;
DGMGRL> SHOW DATABASE orcl_pri;
DGMGRL> SHOW DATABASE orcl_std;

9.2 状态

SELECT process, status, thread#, sequence# 
FROM v$managed_standby;

SELECT name, value FROM v$dataguard_stats;

详细见:Oracle Data Guard 部署详解


10. PDB(如适用)

10.1 状态

SELECT con_id, name, open_mode, restricted 
FROM v$pdbs;

10.2 服务

SELECT name, pdb FROM v$services;

详细见:Oracle 多租户 CDB/PDB 管理


11. 备份配置

11.1 RMAN

RMAN> SHOW ALL;

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

11.2 归档

ARCHIVE LOG LIST;
SELECT dest_id, status, destination 
FROM v$archive_dest WHERE status != 'INACTIVE';

详细见:Oracle 备份策略与最佳实践


12. 监控

12.1 AWR

SELECT snap_id, begin_interval_time, end_interval_time 
FROM dba_hist_snapshot 
ORDER BY snap_id DESC FETCH FIRST 5 ROWS ONLY;

12.2 EM Express

curl -k https://localhost:5500/em

详细见:Oracle EM Express 配置详解


13. 安全

13.1 密码

SELECT profile, resource_name, limit 
FROM dba_profiles 
WHERE resource_type = 'PASSWORD';

13.2 审计

SELECT name, value FROM v$parameter WHERE name = 'audit_trail';

13.3 用户

SELECT username, account_status, lock_date, expiry_date 
FROM dba_users 
ORDER BY username;

详细见:Oracle 安全深度解析


14. 性能基线

14.1 AWR 快照

EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

14.2 统计

EXEC DBMS_STATS.GATHER_DATABASE_STATS;

14.3 基线

EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
  start_snap_id => :bid,
  end_snap_id => :eid,
  baseline_name => 'initial_baseline'
);

详细见:Oracle AWR 详解


15. 验证脚本

15.1 verify.sh

#!/bin/bash
echo "=== 系统验证 ==="
echo "OS: $(cat /etc/oracle-release)"
echo "内存: $(free -h | grep Mem | awk '{print $2}')"
echo "磁盘: $(df -h /u01 | tail -1 | awk '{print $4 " 可用"}')"

echo "=== Oracle 软件 ==="
su - oracle -c "echo \$ORACLE_HOME"
su - oracle -c "echo \$ORACLE_SID"
su - oracle -c "\$ORACLE_HOME/OPatch/opatch version"

echo "=== 数据库 ==="
su - oracle -c "sqlplus -S / as sysdba" << 'EOF'
SET LINESIZE 200
SELECT name, open_mode, log_mode FROM v$database;
SELECT instance_name, status FROM v$instance;
SELECT comp_id, version, status FROM dba_registry;
EXIT;
EOF

echo "=== 监听器 ==="
su - oracle -c "lsnrctl status"

echo "=== 网络连接 ==="
su - oracle -c "tnsping orcl"

echo "=== 完成 ==="

16. 验证清单

16.1 系统

  • OS 版本
  • 内核参数
  • 资源限制
  • HugePages
  • 透明大页禁用
  • 防火墙
  • SELinux
  • NTP

16.2 Oracle

  • ORACLE_HOME
  • OPatch 版本
  • 补丁版本
  • 数据库状态
  • 字符集
  • 组件状态

16.3 网络

  • 监听器
  • tnsnames
  • 防火墙端口

16.4 存储

  • 表空间
  • 数据文件
  • FRA
  • ASM

16.5 集群(RAC)

  • CRS 状态
  • 节点
  • OCR / Voting

16.6 备份

  • RMAN 配置
  • 归档模式
  • 备份测试

16.7 监控

  • AWR
  • EM Express
  • 告警

17. 最佳实践

  1. 完整验证清单:标准
  2. 脚本化:自动化
  3. 基线建立:对比
  4. 文档化:记录
  5. 定期验证:维护
  6. 关键指标:监控
  7. 错误检查:及时
  8. 测试连接:业务
  9. 备份恢复测试:应急
  10. 团队培训:能力

18. 参考资料

[1] Oracle Database 2 Day DBA 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/