[20170310]V$RMAN_OUTPUT的stamp 2.txt

[20170310]V$RMAN_OUTPUT的stamp 2.txt

http://blog.itpub.net/267265/viewspace-1979123/

--//以前写的,今天才发现自己再次犯严重的错误.重新写一篇,实际上oracle的时间戳都是按照如下公式计算的:
time = (((((yyyy - 1988) * 12 + mm - 1) * 31 + dd - 1) * 24 + hh) * 60 + mi) * 60 + ss;

--//oracle强行按每月31天来计算时间戳,实际上发现这个是因为2月才28天,我昨天发现到3月存在明显的跳跃.
--//重新验证看看:

1.环境:
SYS@book> @ &r/ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

--建立如下脚本执行它:
$ cat aa.rman
# !/bin/bash
rman target /  append <<EOF
host "date +'%Y/%m/%d %T'>> aa.log";
host "sleep 10";
host "date +'%Y/%m/%d %T'>> aa.log";
EOF

$ cat aa.log
2017/03/10 09:30:55
2017/03/10 09:31:05

SYS@book> select * from V$RMAN_OUTPUT where session_key=453;
SID RECID      STAMP SESSION_RECID SESSION_STAMP OUTPUT                RMAN_STATUS_RECID RMAN_STATUS_STAMP SESSION_KEY
--- ----- ---------- ------------- ------------- --------------------- ----------------- ----------------- -----------
232    53  938251855           453     938251855                                     453         938251855         453
232    54  938251855           453     938251855                                     453         938251855         453
232    55  938251855           453     938251855 host command complete               453         938251855         453
232    56  938251855           453     938251855                                     453         938251855         453
232    57  938251855           453     938251855                                     453         938251855         453
232    58  938251865           453     938251855 host command complete               453         938251855         453
232    59  938251865           453     938251855                                     453         938251855         453
232    60  938251865           453     938251855                                     453         938251855         453
232    61  938251865           453     938251855 host command complete               453         938251855         453
232    62  938251865           453     938251855                                     453         938251855         453
232    63  938251865           453     938251855                                     453         938251855         453
232    64  938251865           453     938251855                                     453         938251855         453
232    65  938251865           453     938251855                                     453         938251855         453
14 rows selected.

--//stamp=938251855,938251865,相差10,说明单位是秒.

$ cat stamp.sql
SELECT &&1 stamp,to_date(yyyy||'/'||mm||'/'||dd||' '||hh||':'||mi||':'||ss,'yyyy-mm-dd hh24:mi:ss') stamp_conv_time  from (
SELECT &&1
        ,FLOOR (&&1 / (86400*31*12))+1988 yyyy
        ,FLOOR (MOD (&&1 / (86400*31),12))+1 mm
        ,FLOOR (MOD (&&1 / 86400, 31))+1 dd
        ,FLOOR (MOD (&&1 / 3600, 24)) hh
        ,FLOOR (MOD (&&1 / 60, 60)) mi
        ,MOD (&&1, 60) ss
        from dual);

SYS@book> @ &r/stamp 938251855
     STAMP STAMP_CONV_TIME
---------- -------------------
938251855 2017-03-10 09:30:55

SYS@book> @ &r/stamp 938251865
     STAMP STAMP_CONV_TIME
---------- -------------------
938251865 2017-03-10 09:31:05

--//与aa.log文件内显示的时间一致.看来oracle内部time时间戳应该都是按照这个来计算的.特此更正.

时间: 2024-08-31 19:48:08

[20170310]V$RMAN_OUTPUT的stamp 2.txt的相关文章

[20160119]V$RMAN_OUTPUT的stamp.txt

[20160119]V$RMAN_OUTPUT的stamp.txt --今天检查无意中发现2016/1/2日志切换频繁.http://blog.itpub.net/267265/viewspace-1979024/ --放假回来后检查发现dg磁盘空间满了,当时清除我并有仔细看,因为没有相关记录,我想看看当时如何执行一些操作, --查询V$RMAN_OUTPUT发现里面并没有明显的时间记录,仅仅存在STAMP,SESSION_STAMP,RMAN_STATUS_STAMP字段. --我自己想做一些

[20170310]oracle内部时间戳的转换.txt

[20170310]oracle内部时间戳的转换.txt --//昨天验证v$archived_log.stamp时,链接如下http://blog.itpub.net/267265/viewspace-2135044/,才发现自己以前犯了严重错误. --//想起http://www.juliandyke.com/Diagnostics/Dumps/RedoLogs.php转储redo时time参数使用: TIME The minimum and maximum time is a decima

[20170309]关于v$archived_log.stamp字段

[20170309]关于v$archived_log.stamp字段.txt --//如果你查询v$archived_log,可以看到一个stamp字段,它表示什么呢?根据以前的经验.这个类似从某个时间点计算的秒数. --//参考链接: http://blog.itpub.net/267265/viewspace-1979123/ --曾经探究过V$RMAN_OUTPUT 视图,STAMP 是从时间"1987-06-26 00:00:00"开始的. --//简单探究这个v$archiv

[20160407]bbed修改文件头2(补充).txt

[20160407]bbed修改文件头2(补充).txt --昨天被别人问一个问题,就是我的测试修改数据文件相应的CHECKPOINT_CHANGE#就ok了.偏移量是block=1的offset=484. --链接 http://blog.itpub.net/267265/viewspace-2075424/ --不过别人问的是这个时间是如何存储的.我以前也做过一些.链接: --http://blog.itpub.net/267265/viewspace-746222/ --我的感觉在11.2

[20170310]关于在线日志与归档4.txt

[20170310]关于在线日志与归档4.txt --//如果你顺便看归档日志目录,在线日志50M,你可以发现最大归档43M上下.也就是在线日志大于45M后面这些块基本不会写入日志记录信息. --//比如查询如下: #  ls -l -S -h /data/log/ORCL/archivelog/| head -10 total 27G -rw-r----- 1 oracle oinstall  43M 2017-03-02 10:53:07 0001_0000051850_628034536.

如何用vb.net处理三个txt的比较问题

问题描述 如何用vb.net处理三个txt的比较问题 大神们,我现在想做的是,有三个txt文件 txt1 7000 7000 7000 2000 20 6.8845 4000 6000 7000 2000 100 5.8333 6000 7000 7000 2000 20 5.421 6000 7000 7000 2000 100 4.8387 4000 7000 7000 2000 100 4.8193 4000 7000 7000 3000 20 4.2301 4000 7000 7000

[20161101]rman备份与数据文件变化7.txt

[20161101]rman备份与数据文件变化7.txt --//想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --//去年已经测试了建立备份集的情况,一直想做一次image copy的测试,一直脱,主要原因自己不想做这个测试.... --//而且当时的测试很乱,自己主要一边做一边想.... --//链接: http://blog.itpub.net/267265/viewspace-2127386/ http://blog.itpub

[20171121]rman使用copy image恢复.txt

[20171121]rman使用copy image恢复.txt --//上个星期做数据文件块头恢复时,提到使用rman备份数据文件时,文件头数据库信息是最后写入备份集文件的,在filesperset=1的情况 --//下写入备份集文件中的倒数第2块就是文件头的备份.参考链接: http://blog.itpub.net/267265/viewspace-2147297/=>[20171115]恢复数据文件块头4补充.txt --//而且我最后还做了测试证明如果resotre数据文件,实际上文件

[20171121]rman backup as copy.txt

[20171121]rman backup as copy.txt --//上个星期做数据文件块头恢复时,提到使用rman备份数据文件时,文件头数据库信息是最后写入备份集文件的,在filesperset=1的情况 --//下写入备份集文件中的倒数第2块就是文件头的备份.参考链接: http://blog.itpub.net/267265/viewspace-2147297/=>[20171115]恢复数据文件块头4补充.txt --//而且我最后还做了测试证明如果resotre数据文件,实际上文