首页主机资讯Debian上sqlplus备份恢复方法

Debian上sqlplus备份恢复方法

时间2025-12-15 19:22:05发布访客分类主机资讯浏览445
导读:Debian上使用 sqlplus 的 Oracle 备份与恢复 一、概念与准备 sqlplus 不是备份工具,而是 Oracle 的命令行客户端;在 Debian 上做备份恢复,通常通过 sqlplus 执行管理命令,配合 Data P...

Debian上使用 sqlplus 的 Oracle 备份与恢复

一、概念与准备

  • sqlplus 不是备份工具,而是 Oracle 的命令行客户端;在 Debian 上做备份恢复,通常通过 sqlplus 执行管理命令,配合 Data Pump(expdp/impdp) 做逻辑备份,或在 sqlplus 中配合 RMAN 做物理备份与恢复。
  • oracle 用户操作,先设置环境变量并登录:
    • 设置实例:export ORACLE_SID=your_sid
    • 登录:sqlplus / as sysdba
  • 使用 Data Pump 前需在数据库中创建 DIRECTORY 对象并赋权,指向服务器本地的备份目录(例如 /u01/backup),并确保该目录对 Oracle 软件安装属主可写。

二、Data Pump 逻辑备份与恢复(expdp/impdp)

  • 备份(全库或按模式)
    • 登录 sqlplus 创建目录对象并赋权:
      • CREATE DIRECTORY backup_dir AS ‘/u01/backup’;
      • GRANT READ, WRITE ON DIRECTORY backup_dir TO system;
    • 退出 sqlplus,在 shell 执行导出(示例为全库):
      • expdp system/password@orcl DIRECTORY=backup_dir DUMPFILE=full_20251215.dmp LOGFILE=full_20251215.log FULL=y PARALLEL=4
  • 恢复(全库或按模式)
    • 确认目标库存在所需表空间/用户;必要时先创建用户与表空间。
    • 在 shell 执行导入(示例为全库):
      • impdp system/password@orcl DIRECTORY=backup_dir DUMPFILE=full_20251215.dmp LOGFILE=imp_20251215.log FULL=y PARALLEL=4
  • 常用要点
    • 逻辑备份便于迁移/部分恢复;导入时常见权限不足需授予 IMP_FULL_DATABASESYSDBA(谨慎授权)。
    • 大数据量建议指定 PARALLEL、合理分片 DUMPFILE,导入前检查空间与字符集兼容性。

三、RMAN 物理备份与恢复(在 sqlplus 中配合)

  • 备份
    • 在 sqlplus 检查并开启归档(便于热备与时间点恢复):
      • 检查:ARCHIVE LOG LIST;
      • 开启(需停机一次进入 mount):SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
    • 典型 RMAN 备份(在 shell 执行,示例为全库+归档):
      • rman target /
        • RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
  • 恢复
    • 示例:介质故障后的完全恢复(实例需启动到 mount)
      • rman target /
        • RMAN> STARTUP FORCE MOUNT;
        • RMAN> RESTORE DATABASE;
        • RMAN> RECOVER DATABASE;
        • RMAN> ALTER DATABASE OPEN;
    • 时间点恢复(PITR,示例恢复到指定时间):
      • RMAN> RUN {
        • SET UNTIL TIME ‘2025-12-15 10:00:00’;
        • RESTORE DATABASE;
        • RECOVER DATABASE;
        • }
        • RMAN> ALTER DATABASE OPEN RESETLOGS;
  • 常用要点
    • RMAN 适合生产环境的快速恢复与增量策略;恢复时可用 UNTIL TIME/UNTIL CHANGE/UNTIL CANCEL 控制恢复终点。

四、自动化与异地容灾

  • 脚本化与定时任务
    • 将 expdp/impdp 或 RMAN 命令写入 Shell 脚本,用 crontab 实现定期全量/增量与日志轮转,保留策略(如近 7 天)与清理旧备份。
  • 异地与加密
    • 备份完成后用 rsync/scp 或对象存储同步到远程;对敏感 DMP 文件使用 GPG 加密,严格控制文件权限(仅 oracle 用户可读写)。

五、常见问题与排错

  • 目录对象与权限
    • 报错找不到目录或权限不足时,确认在数据库中已 CREATE DIRECTORYGRANT READ,WRITE,且操作系统目录对 oracle 用户可写。
  • 导入权限不足
    • 出现 IMP-00013 等错误时,使用具有 IMP_FULL_DATABASESYSDBA 权限的账户执行导入(遵循最小权限原则)。
  • 监听与实例
    • 无法连接时,检查监听:lsnrctl status/start;确认 ORACLE_SIDtnsnames.ora 配置正确。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian上sqlplus备份恢复方法
本文地址: https://pptw.com/jishu/771955.html
sqlplus在Debian上的错误代码解析 如何在Debian上使用sqlplus进行数据导入

游客 回复需填写必要信息