今天分享oracle数据库的物理备份和逻辑备份PYTHON脚本。以19C版本为例:
一、Oracle 19c 物理备份脚本
在没有备份一体机的情况下,物理备份通常使用Oracle自带的RMAN工具。
# 全量备份
import os
# 设置Oracle环境变量
os.environ['ORACLE_HOME'] = '/u01/app/oracle/product/19.0.0/dbhome_1'
os.environ['PATH'] = os.environ['ORACLE_HOME'] + "/bin:" + os.environ['PATH']
command = """
rman target / << EOF
RUN {
BACKUP DATABASE PLUS ARCHIVELOG;
}
EOF
"""
os.system(command)
# 增量备份
import os
# 设置Oracle环境变量
os.environ['ORACLE_HOME'] = '/u01/app/oracle/product/19.0.0/dbhome_1'
os.environ['PATH'] = os.environ['ORACLE_HOME'] + "/bin:" + os.environ['PATH']
command = """
rman target / << EOF
RUN {
BACKUP INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG;
}
EOF
"""
os.system(command)
二、Oracle 19c 逻辑备份脚本
逻辑备份通常使用expdp工具。
import os
# 设置Oracle环境变量
os.environ['ORACLE_HOME'] = '/u01/app/oracle/product/19.0.0/dbhome_1'
os.environ['PATH'] = os.environ['ORACLE_HOME'] + "/bin:" + os.environ['PATH']
command = "expdp system/password full=y directory=backup_dir dumpfile=backup.dmp logfile=expdp.log"
os.system(command)
```