Oracle数据库定时备份导出

Oracle数据库定时备份导出,就是采用EXP命令,导出操作。

例如:

EXP userName/password@DB_Name owner = admin file = d:/backup/%date%.dmp

将上面的命令写入批处理文件中,设置到系统任务计划中,定时每天特定时间自动运行这个批处理文件。

例如:将上面的命令拷贝到backup.bat。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、提供了oracle数据库备份脚本,导出dmp文件 2、定时任务由操作系统提供的支持,在操作系统中设置定时任务,由操作系统定期执行脚本 3、补充。压缩包脚本有点问题,不能删除旧的备份文件。需要自动删除历史备份文件请用最新脚本: @echo off @echo ================================================ @echo windows环境下Oracle数据库的自动备份脚本 @echo 说明:启动备份时,需要配置以下变量 @echo 1、BACKUP_DIR 指定要备份到哪个目录 @echo 2、ORACLE_USERNAME 指定备份所用的Oracle用户名 @echo 3、ORACLE_PASSWORD 指定备份所用的Oracle密码 @echo 4、ORACLE_DB 指定备份所用的Oracle连接名 @echo 5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户 等等.... @echo 6、RAR_CMD 指定RAR命令行压缩工具所在目录 @echo ================================================ rem 以下变量需要根据实际情况配置 set BACKUP_DIR=D:\tools\oracle_bak\backup230 set ORACLE_USERNAME=PLATADMIN set ORACLE_PASSWORD=123456 set ORACLE_DB=ORCL set BACK_OPTION=owner=PLATADMIN set RAR_CMD="D:/Program Files/WinRAR/Rar.exe" rem for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a rem set BACK_NAME=%ORACLE_DB%_%TODAY%(%time:~0,2%时%time:~3,2%分)_ set BACK_NAME=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2% set BACK_FULL_NAME=%BACKUP_DIR%/%BACK_NAME% rem 开始备份 exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log" rem 压缩并删除原有文件 %RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log" rem 删除15天前的备份文件 forfiles /p %BACKUP_DIR% /s /m *.rar /d -15 /c "cmd /c del @file"
回答: 在Linux系统中手动备份Oracle数据库,可以按照以下步骤进行操作。首先,登录到数据库的编辑模式,使用以下命令登录到SQL*Plus: "sqlplus / as sysdba"。然后,修改当前用户的权限,使用以下命令授予sysdba权限和imp_full_database权限给用户: "grant sysdba to 用户名; grant imp_full_database to 用户名;"。\[1\] 接下来,设置环境变量。因为crontab定时调用时,不会使用oracle用户的环境变量,所以需要将环境变量导入。可以在备份脚本中添加以下代码来设置环境变量: ``` export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 ``` 其中,ORACLE_HOME需要根据实际安装路径进行修改。\[2\] 然后,创建一个备份脚本。在脚本中,可以使用当前日期作为导出文件的文件名,并将导出的文件和日志文件打包成一个zip包,并删除这两个文件。以下是一个备份脚本的示例: ``` #!/bin/bash export ORACLE_SID=数据库实例名 export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export BACKUP_DIR=/backup export DATE=$(date +%Y%m%d) export DUMP_FILE=$BACKUP_DIR/$DATE.dmp export LOG_FILE=$BACKUP_DIR/$DATE.log export ZIP_FILE=$BACKUP_DIR/$DATE.zip expdp 用户名/密码@数据库实例名 directory=DATA_PUMP_DIR dumpfile=$DUMP_FILE logfile=$LOG_FILE zip $ZIP_FILE $DUMP_FILE $LOG_FILE rm $DUMP_FILE $LOG_FILE ``` 其中,需要根据实际情况修改ORACLE_SID、ORACLE_HOME、BACKUP_DIR、用户名、密码和数据库实例名等参数。\[2\] 最后,可以将备份脚本设置定时任务,以实现自动备份。可以使用crontab命令来设置定时任务,例如每天凌晨3点执行备份脚本: ``` crontab -e ``` 然后,在打开的编辑器中添加以下行: ``` 0 3 * * * /path/to/backup_script.sh ``` 保存并退出编辑器即可。这样,每天凌晨3点,备份脚本就会自动执行。\[2\] #### 引用[.reference_title] - *1* [Linux下备份oracle数据库](https://blog.csdn.net/li951383937/article/details/52475982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [怎样在Linux系统中备份Oracle数据库](https://blog.csdn.net/weixin_39658318/article/details/116388866)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [linux环境下如何对oracle数据库进行整库备份](https://blog.csdn.net/weixin_42134097/article/details/116318942)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值