温馨提示×

Ubuntu Oracle存储管理怎样做

小樊
39
2025-12-14 19:14:43
栏目: 云计算

Ubuntu 上 Oracle 存储管理实操指南

一 架构与规划

  • 存储类型选型:本地目录/块设备(适合单机测试与中小规模)、LVM(便于在线扩容)、ASM(Oracle 推荐,适合多磁盘与 RAC,提供条带化/镜像与在线管理)、云上优先 OCI Block Volume / OCI File Storage / OCI Object Storage(对象存储适合备份归档与湖仓数据)。
  • 目录与权限:按 OFA 规范规划目录,如 /u01/app/oracle/u02/oradata;确保 oracle:oinstall 拥有数据目录,权限 775
  • 容量与增长:为 FRA(快速恢复区)归档日志审计与跟踪文件预留充足空间,并设定监控与告警阈值。
  • 多路径与一致性:使用 multipathUDEV 固定设备名,确保多路径与权限一致,避免设备名漂移影响 ASM/数据库。
  • 云上迁移通道:跨云或本地到云迁移可用 Rclone 对接 OCI Object Storage,支持并发拷贝与断点续传,适合批量迁移与定期同步。

二 磁盘与文件系统准备

  • 识别与分区:用 lsblk 确认新盘,分区建议对齐(如 4MiB 边界),避免性能劣化。
  • 多路径配置:在 /etc/multipath.conf 中为共享盘设置别名(如 asm_data_2),执行 multipath -r 重载;多路径可显著提升可用性与吞吐。
  • UDEV 固定设备名与权限:在 /etc/udev/rules.d/99-oracle-asmdevices.rules 中为 /dev/dm-* 创建稳定符号链接并设置 OWNER=grid、GROUP=asmadmin,保证 ASM/DB 可稳定访问。
  • LVM 在线扩容示例:
    1. 扩展物理卷:pvresize /dev/sdX
    2. 扩展逻辑卷:lvextend -L +100G /dev/vg_data/lv_data
    3. 扩展文件系统(ext4):resize2fs /dev/vg_data/lv_data;或(xfs):xfs_growfs /u02
  • 文件系统选择:数据库数据文件优先 XFS/ext4,避免 btrfs/zfs(除非充分验证与受支持)。

三 Oracle 侧存储对象与容量管理

  • 表空间与数据文件:
    • 创建:CREATE TABLESPACE tbs_data DATAFILE ‘/u02/oradata/ORCL/tbs_data01.dbf’ SIZE 10G AUTOEXTEND ON NEXT 1G MAXSIZE 32G;
    • 扩容:ALTER DATABASE DATAFILE ‘/u02/oradata/ORCL/tbs_data01.dbf’ RESIZE 20G;
    • 增加文件:ALTER TABLESPACE tbs_data ADD DATAFILE ‘/u02/oradata/ORCL/tbs_data02.dbf’ SIZE 10G AUTOEXTEND ON;
  • 临时表空间:
    • 查看:SELECT name, bytes/1024/1024 “MB” FROM v$tempfile;
    • 扩容:ALTER DATABASE TEMPFILE ‘/u01/app/oracle/oradata/ORCL/temp01.dbf’ RESIZE 8G;
  • UNDO 表空间:
    • 查看:SELECT tablespace_name, sum(bytes)/1024/1024 “MB” FROM dba_data_files WHERE tablespace_name LIKE ‘UNDOTBS%’ GROUP BY tablespace_name;
    • 扩容:ALTER DATABASE DATAFILE ‘/u01/app/oracle/oradata/ORCL/undotbs01.dbf’ RESIZE 16G;
  • FRA 与归档:
    • 设置 FRA:ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=500G; ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=‘/u03/fra’;
    • 开启归档:SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
  • 空间回收与收缩:
    • 段重组/收缩(在线):ALTER TABLE t SHRINK SPACE; 或按分区 SHRINK。
    • 收缩数据文件(需留足连续空间):ALTER DATABASE DATAFILE ‘/u02/…dbf’ RESIZE 50G;
    • 清理过期归档:RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’;
  • 大表治理:对历史数据按时间做 分区,将冷分区设为 只读、执行压缩与迁移,显著降低空间占用并提升备份/查询效率。

四 性能与容量监控

  • 主机层 I/O:iostat -x 1 10(关注 await、r/s、w/s、util%),定位热点盘与瓶颈。
  • 空间与增长:
    • 系统:df -h、du -sh /u0*;
    • 数据库:
      • 表空间:SELECT tablespace_name, sum(bytes)/1024/1024 “MB” FROM dba_data_files GROUP BY tablespace_name;
      • 对象:SELECT segment_name, segment_type, bytes/1024/1024 “MB” FROM dba_segments ORDER BY bytes DESC;
  • 日志与跟踪:
    • 告警与跟踪:tail -n 200 $ORACLE_BASE/diag/rdbms//trace/alert_.log;
    • 清理旧日志:find $ORACLE_BASE/diag -name “.trc" -mtime +7 -delete; find $ORACLE_BASE/diag -name ".log” -mtime +7 -delete;
  • 日志轮转:为 listener.log、alert.log 配置 logrotate,避免无限增长。

五 备份归档与云迁移

  • RMAN 备份与验证:
    • 全备:RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
    • 增量:RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
    • 验证:RMAN> VALIDATE BACKUPSET ;
    • 定期恢复演练,确保 RPO/RTO 达标。
  • 云上对象存储迁移(Rclone):
    • 配置 Rclone 对接 OCI Object Storage 后,执行并发拷贝:
      • rclone copy --progress --transfers 16 --checkers 8 /u03/fra oci:mybucket/fra/
    • 适合一次性迁移与定期同步,可通过多节点并行提升吞吐。

0