- 首页 >
- 问答 >
-
云计算 >
- Ubuntu Oracle存储管理怎样做
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(快速恢复区)、归档日志、审计与跟踪文件预留充足空间,并设定监控与告警阈值。
- 多路径与一致性:使用 multipath 与 UDEV 固定设备名,确保多路径与权限一致,避免设备名漂移影响 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 在线扩容示例:
- 扩展物理卷:pvresize /dev/sdX
- 扩展逻辑卷:lvextend -L +100G /dev/vg_data/lv_data
- 扩展文件系统(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/
- 适合一次性迁移与定期同步,可通过多节点并行提升吞吐。