Oracle11g新特性:RMAN压缩备份
Oracle10g的rman已经可以执行压缩备份,采用的压缩算法是bzip2。Oracle11g引入了一种新的压缩算法zlib。zlib的压缩率不如bzip2,但是压缩速度则要快不少。本文通过一个实验来对这两种压缩算法进行比较。
Recovery Manager: Release 11.1.0.6.0 - Production on Thu Sep 6 15:47:43 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: NING (DBID=1218842970)
Oracle11g新特性:server result cache续二
Server Result Cache应该是Oracle11g新特性中比较令人期待的,很多人都在研究这个特性,比如eygle和yangtingkun都为这个特性写了一系列的文章。
Server Result Cache实际上是两个特性,一个是SQL Result Cache,一个是PL/SQL Function Result Cache。在上一篇文章中简单展示了SQL Result Cache的特性,这里打算说说PL/SQL Function Result Cache。
要在PL/SQL Function中启用result cache特性,只需要在创建function时添加RESULT_CACHE子句即可。另外还有一个RELIES_ON子句,可以指定该function依赖的对象,如果该对象改变则会导致该function缓存结果失效。
创建一个测试函数
2 return int
3 result_cache
4 as
5 l_count int;
6 begin
7 select count(*) into l_count
8 from all_objects;
9 -- pause for 5 second
10 dbms_lock.sleep(5);
11 return l_count;
12 end f_result_cache;
13 /
Function created.
Oracle10g新特性:Language and Character Set File Scanner(LCSSCAN)
Oracle10gR1引入了一个叫做Language and Character Set Detection (LCSD) 的新特性,可以快速高效的确定一个文件中的字符所适用的字符集。LCSD可以通过Oracle提供的GDK(Globalization Development Kit) java API接口调用。基于该特性,Oracle也提供了一个命令行工具LCSSCAN(Language and Character Set File Scanner)。从Oracle10gR2开始该工具还支持对HTML文件的扫描。
LCSSCAN的语法很简单,基本上一看就会使用:
D:\>lcsscan help
Language and Character Set File Scanner v2.1
(c) Copyright 2003, 2004 Oracle Corporation. All rights reserved.
You can control how LCSSCAN runs by entering the LCSSCAN command
followed by the required parameters. To specify parameters, you use
keywords:Example: LCSSCAN RESULTS=2 END=1000 FORMAT=HTML FILE=index.html
Keyword Description (Default)
——————————————————————–
RESULTS number of language and character set pairs to return (1)
BEGIN beginning byte offset of file (1)
END ending byte offset of file (end of file)
FORMAT file format TEXT, HTML or AUTO detect (TEXT)
FILE name of input file
HELP show help screen (this screen)
FILE就是要扫描的文件,BEGIN和END则指定只扫描文件的部分内容。RESULTS指明要返回几组可用的结果,因为一个文件可能兼容于多种字符集。FORMAT指明文件的类型。
D:\>lcsscan file=test.txt
Language and Character Set File Scanner v2.1
(c) Copyright 2003, 2004 Oracle Corporation. All rights reserved.
test.txt: SIMPLIFIED CHINESE ZHS16CGB231280;
Oracle11g新特性:Flashback Data Archive
Oracle9i引入flashback query,使得数据库第一次可以查询到之前的数据,而不再需要利用log和备份进行时间点恢复。Oracle10g更是引入flashback version query,flashback transaction query,flashback database,flashback table,flashback drop等特性,并且大大简化了flashback query的使用。Oracle11g则为flashback家族又带来一个新的成员:flashback data archive。
初看起来,flashback data archive和flashback query没有太大的不同,都是通过as of能够查询之前的数据,但是他们的实现机制是不一样的。Flashback query是通过直接从undo中读取信息来构造旧数据,这样就有一个限制,就是undo中的信息不能被覆盖。而undo段是循环使用的,只要事务提交,之前的undo信息就可能被覆盖,虽然可以通过undo_retention等参数来延长undo的存活期,但这个参数会影响所有的事务,设置过大,可能导致undo tablespace快速膨胀。
Falshback data archive特性则通过将变化数据另外存储到创建的flashback archive中,以和undo区别开来,这样就可以通过为flashback archive单独设置存活策略,使得可以闪回到指定时间之前的旧数据而不影响undo策略。并且可以根据需要指定哪些数据库对象需要保存历史变化数据,而不是将数据库中所有对象的变化数据都保存下来,这样可以极大的减少空间需求。
