【Oracle Database 12c New Feature】ILM – In-Database Archiving

本文介绍Oracle Database 12c中关于数据生命周期管理多个新特性中相对最简单的一个,数据库内归档(In-Database Archiving)。使用的测试表是上一篇介绍数据时间有效期管理中使用的TV表(包括表结构和测试数据),如果你还没有看过上一篇文章,可以先阅读【Oracle Database 12c New Feature】ILM – Temporal Validity。 相比起数据时间有效期管理而言,数据库内归档非常简单,只有一个开关,对于一条数据,要不就是活跃的允许显示,要不就是归档掉不显示,这是由数据库管理员来人工操作的。 在设置数据库内归档之前,必须要在表级别启用该特性。如上一篇文章提到的,In-Database Archiving支持多租户架构,可以在PDB中使用。 SQL> alter table TV row archival; Table altered. Oracle仍然是使用隐藏列来实现这个功能的,在启用该特性以后,会自动在表上增加ORA_ARCHIVE_STATE字段,这是一个VARCHAR2(4000)的字段。 SQL> select COLUMN_NAME,DATA_TYPE,HIDDEN_COLUMN FROM USER_TAB_COLS WHERE TABLE_NAME=’TV’; COLUMN_NAME DATA_TYPE HID ——————– ——————– — ORA_ARCHIVE_STATE VARCHAR2 YES SYS_NC00005$ RAW YES VALID_TIME_END DATE YES VALID_TIME_START DATE YES INSERT_TIME DATE NO VALID_TIME NUMBER YES 6…

【Oracle Database 12c New Feature】ILM – Temporal Validity

ILM全称是Information Lifecycle Management,意思是信息生命周期管理,听上去很高端洋气的一个词,但是实际上几乎每个稍微大些的系统都已经在做ILM了,比如说将生产表中的数据定期插入到历史表中,并把生产表中的这些数据删除,这就是数据生命周期管理;又比如使用了分区,定期将过期的数据分区删除掉,或者置为READONLY,让RMAN不再备份,这也是数据生命周期管理。 因此ILM由来已久,只要数据存在活跃-不活跃-静止这样的周期变化,那么ILM就必不可少,Oracle Database 12c中提供了很多新功能用来方便地进行数据生命周期管理,有些功能甚至是我们期盼已久的。 本文先介绍时间有效期管理(Temporal Validity),下两篇文章会介绍数据库内归档(In-Database Archiving)以及数据热度图(Heat Map)。注意:Temporal Validity和Heat Map目前还不支持多租户架构的数据库,因此想要使用,必须是一个NON-CDB,In-Database Archiving则支持多租户架构,可以在PDB中使用。 一. 时间有效期管理(Temporal Validity) 以下简称TV,TV的功能大致上可以这样描述:在表中手动或者自动建两个时间类型的字段,一个表示有效期的开始时间,一个表示有效期的结束时间,就可以通过设置让只有在有效期内的记录才会被选择出来。 以下这个场景是我构想出来的,一张表里不断地INSERT数据,但是每条数据有效期只有1分钟,过了1分钟再查就看不见了,如果加以仔细策划,应该会是很有趣的功能。直接进入测试。 设置TV,需要使用dbms_flashback_archive包,需要该包的执行权限。 SQL> grant execute on dbms_flashback_archive to kamus; 创建测试表,period for关键字是TV新功能的关键字,valid_time是TV策略的名字,可以随便写。valid_time_start和valid_time_end字段可以不手工定义,只要指定了period for关键字,Oracle会自动创建两个不可见字段。我这里之所以手工定义开始和结束时间字段,是为了能够指定DEFAULT值。有效期开始时间valid_time_start是记录插入的当前时间,有效期结束时间valid_time_end是当前时间的后一分钟。由此定义出了一个跨度1分钟的有效期。 SQL> conn kamus/oracle SQL> create table TV (insert_time date, valid_time_start date invisible default sysdate, valid_time_end date invisible default sysdate+1/1440, period for valid_time(valid_time_start,valid_time_end) ); 可以看到明确定义的INSERT_TIME字段用于演示,VALID_TIME_START和VALID_TIME_END是明确定义的不可见字段。之外,Oracle还自动创建了VALID_TIME字段,也是隐藏字段。 SQL> select…

OOW US Travel Tips for ACE Director – Visa, Hotel, Car Rental, etc.

因为我个人是比较早接受Oracle邀请去美国旧金山参加Oracle Open World的ACE Director,而且又带老婆一块儿去过,也租车自驾过,总体来说经验比较丰富,把这些经验写出来,希望对新的ACED会有帮助。 一. 大致流程 6月到7月之间,所有的ACE Director会收到一封邀请参加当年在旧金山举办的Oracle Open World的邮件,在邮件里面会有一个URL需要点进去接受这个邀请,链接里面会有一些问题需要回答,邮件里面也会明确说明接受这个邀请的Deadline日期,所以如果想去参加那么一定要早些接受邀请。 8月中旬,所有接受了邀请的ACE Director又会再收到一封邮件,这次是要注册OOW了,这封邮件会比较长,有很多需要作的事情,后面详细解释。 9月底或者10月初,一年一度的OOW在旧金山举办,主会场永远是旧金山市中心的Moscone Center,ACED入住的酒店永远是Hilton Union Square,从酒店可以步行到会场,中间会路过旧金山的Apple Store。 二. 签证 很多人担心签证会不过,但是就我的经验,参加OOW的签证申请还没有被拒签过,对于首次作美国签证的ACED来说,最好是要Oracle发一封正式邀请函传真件过来(其实心大一些,用Oracle发过来的邀请邮件打印版也是可以的),如果你想带夫人一起前往,那么可以要求邀请函的抬头写上你跟你夫人两个人的名字。 如果不是首次去,那么其实根本就无需等Oracle发给你邀请,觉得时间差不多,就可以自己申请签证了。 今年美国签证的整体流程都发生了变化,需要在CGI网站上先注册预约,然后再进行后续步骤。对于首次签证的需要面签,对于已有签证并且失效不超过4年的(4年哦,48个月呢)只需要让中信银行代传递材料即可。 简单描述一下流程,由于新版流程以后,我不需要面签,因此对于面签流程不熟悉。以下描述为”代传递“流程。 1. 在线填DS160表格,表格比较冗长,不在这里描述了,初填者大概要花1个小时吧。其中有个姓名的telecode,可以通过标准中文电码网站查询。最后有一个Confirmation页面,这个页面要打印出来,上面的确认编号也要记好,后面有用。 2. CGI网站注册,然后登录进去,开始CGI预约。 1) 点击左边菜单最上面的“安排面谈时间”,开始填。 2) 选择预约使馆时,如果是第一次,选择离你工作地点最近的使馆,如果不需要面签,那么选择最后一项“免面谈代传递服务”。 3) 签证类型选择Businese/Tours,也就是B1/B2,又表示参加会议又表示要游玩,我一直是这么选的,当然你也可以只选择B1。 4) 填信息的页面有一个地方需要输入DS160确认编号。 5) 到Step 7的时候出现BUG了,无论你在预约类型那里选的是不是“免面谈代传递服务”,这里都会问“是否在DS-160签证申请表格上选择“中国,广州”作为您此次签证的申请地点?”,这里要点“是”,才可以进入到下面的问题,否则就直接进入预约面谈日期的界面了。 6) 指定护照/文件送达地址选择里面,都是中信银行的位置,选择一个离你最近的即可。 7) 进入录入收据编号的页面了,收据是个什么东西?签证是要签证费的,不到1000人民币,交了费就给你一个收据,上面有个编号就是收据编号,以前是直接去中信银行缴纳,现在可以直接在网上交了,点击“点击这里选择付款选项”。 然后选择右边的“中国中信银行”。即使是准备网上缴费也要选择中信银行,而不是左边的“借记卡”,不要被“在银行柜台付款”的字样迷惑了。 然后就可以到中信金融商城中去网上缴费,缴费完毕以后返回Step 8的页面自动就帮你填入收据编号了。注意这个页面最上方的CGI Reference Number在缴款的时候是有用的。网上很多人问CGI Number到底从哪里查?就是在这儿。 8) 最后就是”DropBox Confirmation“页面,点击”可打印版本“,然后打印出来。 3. 把材料带齐去中信银行,交给柜台即可。材料包括: 1) DS160表格确认页;…