下面我将为你介绍如何使用expdp
进行每周数据备份并上传至备份服务器的完整攻略。
准备工作
- 先创建一个备份文件夹
- 确保数据库处于归档模式状态
- 确保你有足够的可用磁盘空间
数据库备份
- 进入
sqlplus
命令行,并使用管理员身份登录到Oracle 11g数据库中。
sql
sqlplus / as sysdba
- 设置
ORACLE_SID
环境变量,以及指定备份文件夹
sql
export ORACLE_SID=your_database_sid
export backup_dir=/path/to/backup/folder
- 编写一个脚本来自动进行备份
sql
vi weekly_backup.sh
- 在脚本中添加以下代码,并将其中的
username
、password
、备份文件的名称backup_file.dmp
和目标地址/backup_server
设置为你的实际配置。
sql
#!/bin/sh
ORACLE_HOME=/path/to/oracle/home
expdp username/password@your_database directory=DATA_PUMP_DIR dumpfile=backup_file.dmp
scp backup_file.dmp backup_server:/backup_server/
- 保存并关闭脚本。添加可执行权限。
sql
chmod +x weekly_backup.sh
- 使用
crontab
命令将备份脚本添加到每周备份计划中
sql
crontab -e
- 在文件末尾添加以下的内容:
0 0 * * 0 /path/to/weekly_backup.sh
意思是每周日晚上12点(UTC+8),自动执行备份脚本。
- 保存并关闭crontab。
至此,备份任务完成。每周在指定时间,数据将自动备份并上传到备份服务器。
示例说明
参数 | 值 |
---|---|
Database SID | ORCL |
备份文件夹 | /home/user/backup |
用户名 | admin |
密码 | password |
备份文件名称 | weekly_backup_ORCL.dmp |
备份服务器地址 | 192.168.1.100 |
- 设置环境变量和指定备份文件夹
sql
export ORACLE_SID=ORCL
export backup_dir=/home/user/backup
- 创建备份脚本
sql
vi weekly_backup.sh
在编写脚本的过程中,将ORACLE_HOME
设置为实际路径,并将username
、password
、备份文件的名称weekly_backup_ORCL.dmp
和备份服务器的地址192.168.1.100
设置为实际配置。
sql
#!/bin/sh
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
expdp admin/password@ORCL directory=DATA_PUMP_DIR dumpfile=weekly_backup_ORCL.dmp
scp weekly_backup_ORCL.dmp 192.168.1.100:/backup_server/
- 保存并关闭脚本。添加可执行权限。
sql
chmod +x weekly_backup.sh
- 使用
crontab
命令将备份脚本添加到每周备份计划中
sql
crontab -e
- 在文件末尾添加以下内容:
0 0 * * 0 /home/user/backup/weekly_backup.sh
以每周日晚上12点钟自动执行备份脚本。
到此为止,备份任务完成。每周日晚上,数据库将自动备份并上传到备份服务器上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器 - Python技术站