文件夹如何增量复制理解增量?

查看: 1927|回复: 5
BW 增量更新的理解(时间戳)
& & 在BW中,存在两种数据抽取方式,完全更新与增量更新,完全更新是每次把截至到某个时间的数据全部抽取,增量抽取则只抽取上次和本次抽取之间更新的数据,很显然,增量抽取能够提高系统效率,根据SAP帮 助的说法,增量更新又分为时间戳和增量队列两种方法,其中财务数据的抽取为时间戳增量法,后勤数据的抽取为增强队列法。对于增量更新,都需要先对数据抽取 进行初始化,然后再进行增量的抽取。对于时间戳增量法,系统存在一个延迟时间,即时间戳设置时间与记账时间的差异,比如时间戳是根据创建时间(或输入时 间)来确定是否更新的依据,而在抽取开始时(时间戳已标记),此时凭证已创建而未记账(即未更新至数据库),则此次无法抽取到该凭证,但下次抽取时,由于 已在时间戳范围之外,也不再进行抽取,从而导致抽取数据遗漏,避免此问题,SAP帮助上给出了通过设置安全抽取时间的方法,设置视图为BWOM2_V_SAFETY, 可根据不同的数据源设置不同的安全时间,两个小时为推荐设置,我的理解是这个安全时间是对于已经创建但未保存在凭证而言,如果在这个安全时间内保存了,则 此次抽取将包含在内,那时间戳标记会改变吗?如时间戳标记不变,则在安全时间内抽取不能结束,需一直等待凭证保存然后抽取?未进行测试,不知这样理解是否 正确。有的人会说,既然这样,何不根据记账时间来标记时间戳,我想如果根据记账日期,则增量更新问题更大,因为有的时候经常在下月往上月记账(财务正常结 帐是这样的),如果根据记账日期判断,则遗漏数据更多。财务上的时间戳标记表为BWOM2_TIMEST,其中TS_LOW和TS_HIGH字段为两次更新之间的时间差,修改凭证日期表则为BWFI_AEDAT。后勤数据抽取相关的T_code有LBWG/LBWE/LBWQ/RSA7等,后勤数据是先保存在R3端,然后再抽取到BW中的。
举个例子:
比如你6小时抽取一次数据,假如你第一次在12:00抽取,那么下次应该是18:00抽取,那么应该来说18:00抽取的数据是 12:00-18:00的数据才对,但是有种情况需要你考虑,比如我11:55在做一个凭证,但是中间我去吃饭,12:30才回来完成这个凭证,那么这个 凭证就是11:55创建的,在12:00抽取的时候,由于凭证没有产生,因此无法抽取,但是下次18:00抽取的时候,由于这个凭证是在11:55创建 的,所以也无法抽取到。
做BW数据仓库最重要的一条准则就是“不重复、不遗漏”,那么这样你就遗漏了数据,那么SAP就想了个办法,就是比如这次我抽取从 06:00-12:00,那么下次我抽取从11:30-18:00,这样上面的凭证就能抽取出来了吧,这时候11:30-12:00就有半个小时的重复, 这个就叫做Lower Limit。
同上,比如我12:00抽取的时候,不想抽取06:00-12:00,而是想抽取06:00-11:30,那么我就设置一个Higher Limit 为30分钟,则抽取的时候就不会到最新的时间,而是需要过账半小时前的凭证。
比如我设置了30分钟的Lower Limit,30分钟的Higher Limit,那么我12:00抽取的数据应该是05:00-11:30的数据,下次抽取的数据时11:00-17:30,在下次就是 17:00-23:30,在下次就是23:00-05:30,在下次就是05:00-11:30,如此循环。
但是如果设置了Lower Limit和Higher Limit之后,请记得在BW中使用DSO来处理数据。
相关链接:
上一篇:下一篇:
不错!值得学习!
非常好,辛苦了!
非常好,辛苦了!
学习了,谢谢分享
网络培训:
工作时间:8:00-18:00
Powered byabaqus增量步的理解
& & abaqus
对于计算分解为了step(分析步)-increment(增量步)-迭代步三部分
这其中最需要理解的就是增量步,比如增量步是如何对结果进行影响的,增量步设置中的
innital min和max 三个属性值如何设置。
谈下自己对于增量步的理解,增量步的增量是针对什么来的呢?很多人以为是时间的增量,我感觉这样理解是不正确的,因为增量步针对的是荷载的增量
& &我们看这个公式 初始增量步中的荷载大小=
总的荷载大小&初始增量步时间/分析步总时间
&所以abaqus在进行尤其是一些非线性问题的计算的时候,将step拆分成很小的增量步,就是通过还很小的荷载增量下,得到结果,然后再进行下一步的分析的。
&我们看下,abaqus在增量步中是如何计算的(取自abaqus有限元常见问题解答)
BA首先根据用户指定的初始增量步大小进行迭代;
缺省状态下,若在某一增量步16次迭代中仍不收敛(或者出现发散),ABA会放弃当前增量步,并将增量步大小减小为当前增量步大小的0.25倍,重新开始迭代尝试;
若在减小后的增量步16次迭代中仍不收敛(或者出现发散),ABA会继续放弃当前的增量步,并将继续减小增量步的大小至当前增量步大小的0.25倍,重新开始迭代尝试;
ABA总是利用比较小的载荷增量来尝试找到收敛解。若此增量步仍不收敛,ABA将再次减小增量步的大小;
以此类推,直至得到收敛解,或者达到ABA所允许的一个增量步中最多5次增量步减小的限制,而终止分析;
如果连续2个增量步只需少于5次的迭代就获得收敛解,ABA会自动地将增量步的大小增大至当前增量步的1.5倍,继续进行下一个增量步的计算。
&对于这个分析过程我们可以这样理解,比如对于初始增量步如果设置过下会增加计算过程,但是过大会导致不收敛的问题这就是因为,如果过大,abaqus折减了5次仍然没有收敛,所以abaqus就会停止运算。导致不收敛的问题。
这样最大增量步对于收敛性是没有要求的,但是合理的设置也会有一些很好的作用,比如我要看荷载变化下结构的变形,如果设置time
period为1 max increment 为0.1,那么我们肯定可以看到至少5次的结果了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。煮酒品茶 的BLOG
用户名:煮酒品茶
文章数:120
评论数:879
访问量:949442
注册日期:
阅读量:24883
阅读量:236845
阅读量:981152
阅读量:140871
51CTO推荐博文
煮酒品茶:时间有点长,date那一段可以快进。比较真实,我用的什么样子,你用了也啥样子。视频优酷真正沈核中.....Mysql 备份与恢复--煮酒品茶 用官方的文档讲解mysqldump备份文件(MYISAM)INNODB?数据库备份(完全备份和增量备份)mysqldump --tab=/path/to/some/dir --opt db_name--tabmysqldump创建一个包含创建表的CREATE TABLE语句的tbl_name.sql文件,和一个包含其数据的tbl_name.txt文件。选项值为写入文件的目录。默认情况,.txt数据文件的格式是在列值和每行后面的新行之间使用tab字符。可以使用--fields-xxx和--行--xxx选项明显指定格式。[root@Mysql1-200 mysql]# mysqldump -uroot -p --tab=/backup/mysql/ --opt test
Enter password:CREATE TABLE `10wbackup` (
`id` int(11) NOT NULL,
`number` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;过程:1、导出一个创建table语名气的文件2、导出一个含有数值的txt文件,以tab分开[root@Mysql1-200 mysql]# mysqldump -u root -p test &/backup/mysql/test/test.sqlEnter password:
[root@Mysql1-200 mysql]# ll test
total 2520
-rw-r--r--. 1 root root 2580275 Jul 26 22:47 test.sql
[root@Mysql1-200 mysql]# ll test.sql/
total 1068
-rw-r--r--. 1 mysql mysql
1314 Jul 26 22:36 10w.sql
-rw-rw-rw-. 1 mysql mysql 1088917 Jul 26 22:36 10w.txt自动备份脚本的流程:1、获取一系列的信息2、以单前时间备份在目录中建立的以当前时间为目录的结构mysqlhotcopy db_name /path/to/some/dir增量备份:A & && & & &ZA--B(完备)--C(增量备份)--D(增量备份) && Zmysql-bin.000001 (时间段) 0:00mysql-bin.000002 (时间段) 0:00mysql-bin.000003 (时间段) 0:00 ~ 6:006:00 --flush-logsmysql-bin.000004 (时间段) 6:00 ~ 0:00mysql-bin.000005 (时间段)ySQL支持增量备份:需要用--log-bin选项来启动服务器以便启用二进制日志;参见5.11.3节,“二进制日志”。当想要进行增量备份时(包含上一次完全备份或增量备份之后的所有更改),应使用FLUSH LOGS回滚二进制日志。然后,你需要将从最后的完全或增量备份的某个时刻到最后某个点的所有二进制日志复制到备份位置。这些二进制日志为增量备份;恢复时,按照下面的解释应用。下次进行完全备份时,还应使用FLUSH LOGS或mysqlhotcopy --flushlogs回滚二进制日志。参见8.8节,“mysqldump:数据库备份程序”和8.9节,“mysqlhotcopy:数据库备份程序”。如果MySQL服务器为从复制服务器,则无论选择什么备份方法,当备份从机数据时,还应备份和文件。恢复了从机数据后,需要这些文件来继续复制。如果从机执行复制LOAD DATA INFILE命令,你应还备份用--slave-load-tmpdir选项指定的目录中的SQL_LOAD-*文件。(如果未指定,该位置默认为tmpdir变量值)。从机需要这些文件来继续复制中断的LOAD DATA INFILE操作。如果必须恢复MyISAM表,先使用REPAIR TABLE或myisamchk -r来恢复。99.9%的情况下该方法可以工作。1. & &恢复原mysqldump备份,或二进制备份。2. & &执行下面的命令重新更新二进制日志:3. & &shell& mysqlbinlog hostname-bin.[0-9]* | mysqlmysqldump --single-transaction --all-databases --flush-logs & backup_sunday_1_PM.sql
--flush-logs告诉服务器关闭当前的二进制日志文件并创建一个新文件。mysqldump --single-transaction --flush-logs --master-data=2
--all-databases & backup_sunday_1_PM.sqlmysqldump --delete-master-logsMySQL二进制日志占据硬盘空间。要想释放空间,应随时清空。操作方法是删掉不再使用的二进制日志,例如进行完全备份时:恢复:导入完备:mysql & backup_sunday_1_PM.sqlmysql -u root -p
edittest & ./test.sql现在这个点(周一)进行完全备份,下次完备(下周一) mysql-bin.000007......(data)mysql-bin.000007周二进行增量备份mysql-bin.000008....(add table) table name:zhou2周三进行增量备份.... (add table) table name:zhou3s1、完备mysqldump -uroot -p --single-transaction --all-databases
--flush-logs &Wb/Wb-.sqlmysql-bin.000009 ~ mysql-bin.000010有新数据2、直接回GUNbin-log日志周二mysqladmin -uroot -pzuoloveyou flush-logsmysql-bin.000010 ~ mysql-bin.000011周三mysqladmin -uroot -pzuoloveyou flush-logsmysql-bin.000011 ~ mysql-bin.0000122、备份bin-log日志shell& mysqlbinlog gbichot2-bin.000007 gbichot2-bin.000008 | mysql恢复过程:1、恢复完备(OK)mysql -uroot -p &../Wb/Wb-.sql#星期一的完备状态2、恢复周二的增量备份2.1、进入binlog目录cd /data/mysql2.2、执行以下命令(bin-log是时间段,一次执行多个)*数据不一致,那么我们必须严格按照binlog顺序来进行恢复。*假定周二删除A用户,周三有新用户申请A名称。mysqlbinlog mysql-bin.000010 mysql-bin.000011 | mysql -uroot -p#星期二的状态(zhou2的库没有zhou3的库)mysql&
+--------------------+
| Database
+--------------------+
| information_schema |
| edittest
| performance_schema |
+--------------------+9 rows in set (0.00 sec)3、恢复周三的增量备份备份目录:增量备份目录:Zl-test-date完全备份目录:Wb-test-dateTEST:周三:(周三开始的)mysql-bin.000012周四:(周四开始的)mysql-bin.000013周五:(删除周四的,新建周五的)mysql-bin.000014mysql-bin.000015备份机制:周一完备,周二到周四增量备份周一:完备后回GUN日志,同时备份的时候锁表和把表的内存刷入磁盘周二到周日执行回GUN日志,并备份bin-log日志结论:增量备份是完全基于bin-log日志来进行的。全备脚本:#/bin/bash
Mysql="/usr/local/mysql5.5.32/bin/mysql"
MysqlDump="/usr/local/mysql5.5.32/bin/mysqldump"
User="root"
PassWord="*******"
DataBaseName="test"
WbBackup="/backup/mysql/Wb"
Now=`date +%Y-%m-%d`
mkdir $Backup/$DataBaseName$Now
#mysqldump -uroot -p --single-transaction --all-databases
--flush-logs &Wb/Wb-.sql
$Mysql -u$User -p$PassWord -e "FLUSH TABLES;"
$MysqlDump -u$User -p$PassWord --single-transaction --all-databases
--flush-logs &$WbBackup/Wb-$Now.sql增量备份脚本:#/bin/bash
MysqlAdmin="/usr/local/mysql5.5.32/bin/mysqladmin"
MysqlDump="/usr/local/mysql5.5.32/bin/mysqldump"
ZlBackup="/backup/mysql"
DataBaseName="test"
User="root"
PassWord="*******"
Now=`date +%Y-%m-%d`
#mysqladmin -uroot -p**** flush-logs
$MysqlAdmin -u$User -p$PassWord flush-logs
#Update bin-log
...........
了这篇文章
类别:┆阅读(0)┆评论(0)
19:15:45 09:18:43}

我要回帖

更多关于 imagx 如何增量备份 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信