目录
图灵小队—Oracle脚本合集
一、Oracle备份脚本——Linux
1、rman-主机脚本
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密+压缩功能)
2、rman-主机脚本(level1,level0,level1c)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密+压缩功能)
3、rman-备机脚本
此处有些问题:备机不需要做备份,但可以在备机配置catalog,给主库做远端备份。待实践
备机脚本的对比说明:备机脚本去掉了所有配置修改等,如下:
sql 'alter system archive log current'; #CONFIGURE RETENTION POLICY TO REDUNDANCY 3; #configure controlfile autobackup off; #configure controlfile autobackup format for device type disk to '$bakpath/%F'; #configure device type disk parallelism 4 backup type to backupset;
备机open但只能读。
4、expdp-备份脚本
5、另:rman手动备份
run {
allocate channel d1 type disk maxpiecesize=10G;
allocate channel d2 type disk maxpiecesize=10G;
allocate channel d3 type disk maxpiecesize=10G;
allocate channel d4 type disk maxpiecesize=10G;
backup
as compressed backupset format '/backup/db_%n_%U.dbf'(database);
release channel d1;
release channel d2;
release channel d3;
release channel d4;
ALLOCATE CHANNEL d5 TYPE disk;
backup format '/backup/spfile_%s_%p_%t_%c.spf' (spfile);
release channel d5;
ALLOCATE CHANNEL d6 TYPE DISK;
backup format '/backup/cntl_%s_%p_%t_%c.ctl' (current controlfile);
release channel d6;
}
二、Oracle备份脚本——Windows
1、准备两个脚本
(1)windows执行脚本
D:/backup/rman.bat
rman target sys/oracle cmdfile 'd:/backup/rman_backup.txt' log 'd:/backup/%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log'
(2)实际运行脚本
D:\backup\rman_backup.txt
run{
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
backup as compressed backupset incremental level 0 format 'D:/rman_backup/backup/db_level0_%d_%I_%T_%s.bak' database;
backup as compressed backupset archivelog all format 'D:/rman_backup/backup/arch_%d_%I_%T_%s_%p_%c.bak';
backup current controlfile format 'D:/rman_backup/backup/control_%d_%I_%T_%s.bak';
backup spfile format 'D:/rman_backup/backup/Spfile_%d_%I_%T_%s_%p_%c.bak';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete force noprompt archivelog until time 'sysdate-3';
}
Exit
三、数据库巡检脚本
1、脚本1:
转自惜分飞脚本
https://download.topunix.com/Scripts/Oracle/xunjian/check_db.zip
2、脚本2
https://download.topunix.com/Scripts/Oracle/xunjian/oracle-recover-check-scripts-html.sql
3、脚本3:
https://www.27ka.cn/91932.html
4、数据库信息收集脚本
结合xifenfei的脚本和https://www.topunix.com/post-4761.html 相互确认。
四、其他Oracle数据库脚本
1、EBS-Oracle备份脚本——Linux—db0/db1
2、Oracle-存储过程脚本获取表的数量
见:https://www.topunix.com/post-6071.html
六、Linux脚本
1、自动删除分区(用于rac集群重新安装asm)
#!/bin/bash for i in c d e f g h i j k l m n o p q r s t u v do echo " n p d w "| fdisk /dev/sd$i done
七、window下定时删除过期文件脚本(删除脚本)
1、windows 2008及之前版本,windows7,8,10,11等可以使用
@echo on forfiles -p "D:\NCOABACKUP\JPGBACKUP" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\NCOABACKUP\NCBACKUP" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\NCOABACKUP\OABACKUP" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "E:\BigDatabackup\svn_172.18.1.204\everyday" -s -d -3 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "E:\BigDatabackup\svn_172.18.1.204\sunday" -s -d -21 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "E:\BigDatabackup\svn_172.18.1.204\month\month_tar_svn" -s -d -31 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "E:\BigDatabackup\MDM_172.18.1.70\DATABACKUP" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "E:\BigDatabackup\MDM_172.18.1.70\RMAN" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\NCOABACKUP\SRM_DEV_172.18.1.32\rmanbak" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\NCOABACKUP\SRM_QAS_172.18.1.33\rmanbak" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\NCOABACKUP\SRM_PRD_172.18.1.16\rmanbak" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\SAPBACKUP\EP_DEV_172.18.1.72\rmanbak" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\SAPBACKUP\EP_QAS_172.18.1.74\rmanbak" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log forfiles -p "D:\SAPBACKUP\EP_PRD_172.18.1.76\rmanbak" -s -d -7 -c "cmd /c del @path" >>D:\del_bat\del.log
2、windows 2012及新版本可以使用
forfiles /p D:\rui /s /m *.bak /d -2 /c "cmd /c del /f @path" forfiles /p D:\ /s /m *.* /c "cmd /c if @isdir==true echo @file is a directory"
3、关于forfiles命令使用
见文章:https://www.topunix.com/post-8110.html
八、其他脚本
见:https://www.topunix.com/post-1203.html
九、MySQL脚本
1、当前使用mysqldump数据库脚本(持续完善)
2、mysqldump完善备份
3、mysqlpump备份
4、mysqldumper备份
5、xtrabackup备份
https://download.topunix.com/Scripts/MySQL/mysql_xtrabackup_backup_full.sh.txt