目录
图灵小队—Oracle脚本合集
一、Oracle备份脚本——linux
1、rman-主机脚本
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密+压缩功能)
2、rman-主机脚本(level1,level0,level1c)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密)
主机脚本-点击查看(备份数据库+归档+参数+控制文件+备份片限制10g+密码加密+压缩功能)
3、rman-备机脚本
此处有些问题:备机不需要做备份,但可以在备机配置catalog,给主库做远端备份。待实践
4、对比说明
备机脚本去掉了所有配置修改等,如下:
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但只能读。
5、expdp-备份脚本
6、另: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
三、EBS-Oracle备份脚本——Linux—db0/db1
四、Oracle-存储过程脚本获取表的数量
见:https://www.topunix.com/post-6071.html
五、数据库信息收集脚本
结合xifenfei的脚本和https://www.topunix.com/post-4761.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、mysqldumper备份
3、xtrabackup备份
4、mysql备份
5、当前使用mysqldump数据库脚本(不完善)