标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,768)
- DB2 (22)
- MySQL (77)
- Oracle (1,609)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (166)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (591)
- Oracle安装升级 (97)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- ORA-600 kokiasg1故障分析(obj$中核心字典序列全部被恶意删除)
- ORA-00756 ORA-10567故障数据0丢失恢复
- 数据库文件变成32k故障恢复
- tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
- 文件系统格式化MySQL数据库恢复
- .sstop勒索加密数据库恢复
- 解决一次硬件恢复之后数据文件0kb的故障恢复case
- Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’问题处理
- ORA-01171: datafile N going offline due to error advancing checkpoint
- linux环境oracle数据库被文件系统勒索加密为.babyk扩展名溯源
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
- 11.2.0.4库中遇到ORA-600 kcratr_nab_less_than_odr报错
月归档:四月 2011
shell 备份文件
#!/bin/bash #文件名 file=$(date +%y%m%d%H%M) #日志名 logfile=/home/chengfei/backup/log/file.log echo "------"$(date +%Y-%m-%d%t%A%t%T)" Beginning backup--------" >>${logfile} #tar打包 tar cvfz /home/chengfei/backup/files/$(date +%y%m%d%H%M).tar.gz /home/chengfei/www/wp-content/uploads/2011/ >>${logfile} echo "------"$(date +%Y-%m-%d%t%A%t%T)" Ending backup------" >>${logfile} #发送邮件 tail -50 ${logfile} | mutt -s "Blog附件备份" -a /home/chengfei/backup/files/$(date +%y%m%d%H%M).tar.gz 8chf@163.com #删除七天以前备份 find /home/chengfei/backup/files/ -type f -mtime +7 -exec rm {} \;
crontab -e
00 04 * * * /home/chengfei/backup/script/backup_file.sh
发表在 Linux
评论关闭
mysql自动备份脚本
#!/bin/bash #定义有备份的数据库名 dbname=chengfei #定义备份数据库时使用的用户名和密码 dbuser=chengfei dbpasswd=chengfei #数据库备份的路径 backuppath=/home/chengfei/backup/mysql/ #数据库备份日志文件存储的路径 logfile=/home/chengfei/backup/log/mysql.log #以当前的时间作为备份的数据库命名。 dumpfile=$(date +%y%m%d%H%M) #这个函数用来备份数据库 back_db() { #将备份的时间、数据库名存入日志 echo "------"$(date +%Y-%m-%d%t%A%t%T)" Beginning database "${dbname}" backup--------" >>${logfile} #备份数据库,如果有错误信息也记入日志。 /usr/bin/mysqldump -u${dbuser} -p${dbpasswd} ${dbname} >${backuppath}${dumpfile}.sql 2>> ${logfile} #开始压缩数据文件 echo $(date +%Y-%m-%d%t%A%t%T)" Beginning zip ${backuppath}${dumpfile}.sql" >>${logfile} #将备份数据库文件库压成ZIP文件,并删除先前的SQL文件。如果有错误信息也记入日志。 tar zcvf ${dumpfile}.tar.gz ${dumpfile}.sql && rm ${dumpfile}.sql 2>> ${logfile} #将压缩后的文件名存入日志。 echo "backup file name:"${dumpfile}".tar.gz" >>${logfile} echo -e "-------"$(date +%Y-%m-%d%t%A%t%T)" Ending database "${dbname}" backup-------\n" >>${logfile} #发送邮件 cat ${logfile} | mutt -s "Blog数据库备份" -a ${dumpfile}.tar.gz 8chf@163.com } #这个函数用来删除七天前的数据,注意,这个脚本会删除当前目录下所有的早于七天前的文件 rm_oldfile() { #查找出当前目录下七天前生成的文件,并将之删除 find /home/chengfei/backup/mysql -type f -mtime +7 -exec rm {} \; } #切换到数据库备份的目录。如果不做这个操作,压缩文件时有可能会错误 cd ${backuppath} #运行备份数据函数 back_db #运行删除文件函数 rm_oldfile
添加运行计划
crontab -e
00 05 * * * /home/chengfei/backup/script/backup_mysql.sh
t-sql 更新大批量数据
需求:有两张很大的表,写了一个存储过程处理(加工数据然后插入到一张新表中),因为一次性处理数据量很大,会导致tempdb等资源被耗尽,为了解决这个问题,每次输入两个参数,每次根据两个id的范围处理程序
1、建一张日志表
CREATE TABLE [dbo].[data_log]( [start_time] [datetime] NULL DEFAULT (getdate()), [min_id] [int] NULL, [max_id] [int] NULL, [end_time] [datetime] NULL DEFAULT (getdate() )
2、编写处理过程
CREATE PROCEDURE [dbo].[insert_more](@min_data int,@max_data int) as begin --开始处理 insert into data_log values(getdate(),@min_data,@max_data,getdate()) --处理程序 INSERT INTO test_1 SELECT t1.name, t2.name, t1.id FROM t_1 t1, t_2 t2 WHERE t1.id = t2.id AND t1.id<=@max_data AND t1.id>@min_data --结束处理 update data_log set end_time=getdate() where min_id=@min_data and max_id=@max_data end
3、生成批量执行该存储过程语句
CREATE PROCEDURE [dbo].[get_list](@min_id int,@max_id int,@mode int) AS declare @i int declare @max_m int begin set @i=0 while @i<=(@max_id-@min_id)/@mode begin set @max_m=@min_id+(@i+1)*@mode if @max_m>@max_id set @max_m=@max_id print 'EXEC [dbo].[insert_more] @min_data = '+CAST(@min_id+@i*@mode as VARCHAR(50))+',@max_data = '+CAST(@max_m as VARCHAR(50))+';' set @i=@i+1 END end
利用3的过程,输入最小id,最大id,取值间隔,生成需要执行2过程的sql语句,执行这些语句完成操作,通过日志监控操作情况
发表在 SQL Server
评论关闭