Oracle中想要实现这一功能其实并不是很难啊,呵,下面看看我做的。
SQL> create table demo ( 2 aa int, 3 bb int, 4 cc int 5 ); Table created SQL> insert into demo values (1, 1, 1); SQL> insert into demo values (1, 1, 1); SQL> insert into demo values (1, 1, 1); SQL> insert into demo values (2, 2, 2); SQL> insert into demo values (2, 2, 2); SQL> insert into demo values (3, 3, 3); SQL> select * from demo; AA BB CC --- --- --- 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 6 rows selected SQL> delete from demo where rowid not in ( 2 select max(rowid) from demo group by aa,bb,cc ); 3 rows deleted SQL> select * from demo; AA BB CC --- --- --- 1 1 1 2 2 2 3 3 3 |
1、全球化特性
1.1、字符集
字符集(charcater set)是一种用于将字符表示为比特序列的定义编码模式。它由许多已定义的不同字符组成。
我们至少需要大写字母、小写字母、0~9的数字、某些标点符号以及特殊的字符。一个7比特字符集能够表示的字符总数为127(27);8比特字符集能够表示256(28)个不同的字符。
1.2、语言支持
Oracle所支持的语言种类取决于平台、版本以及产品的补丁程序级别。为了决定任何一个安装软件的可用范围,查以查询V$NLS_VALID_VALUES视图。 Read the rest of this entry »
1、恢复结构与进程
在介质失败后,根据受损文件的类型,存在不同的恢复方法。数据库由控制文件、联机重做日志文件以及数据文件组成。如果复用了控制文件或联机重做日志文件,那么恢复受损的这些文件十分容易。
对于受损的控制文件,可以将其替换为某个复用副本,也可以使用CREATE CONTROLFILE命令重建。
受损的联机重做日志文件可以被重新生成。Oracle提供了一个ALTER DATABASE CLEAR LOGFILE GROUP #(#代表受损成员的日志文件组号)命令,使用这个命令可以删除与重建某个日志文件组的成员。如果数据库在archivelog模式中运行,那么日志文件组必须在Oracle允许执行清除日志文件命令之前已被归档。上述命令的一种变化是ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP #,执行这个命令可以删除和重建一个即时已被成功归档的日志文件,但执行之后必须对整个数据库进行备份。
恢复受损数据文件需要使用备份与归档日志。在导致某个数据文件受损的介质失败之后,存在下列两种恢复选项:完全恢复,不会丢失任何数据;不完全恢复,通过在完成之前停止恢复进程来故意丢失一些数据。不完全恢复是一个高级过程;完全恢复是一个两阶段过程:首先,必须从备份中还原受损文件;之后,必须使用归档日志文件中的信息将数据库提前至被还原的文件与数据库其余部分同步的时刻,从而恢复这个文件。 Read the rest of this entry »
1、备份工具
直接使用操作系统实用程序copy、cp就可以进行备份操作。但,Oracle强烈建议使用Recovery Manager(恢复管理器,简写RMAN)。
RMAN能够备份数据文件、控制文件、归档日志以及服务器参数文件(spfile)。备份可以被写入磁盘或磁带。
2、概念与术语
2.1、全部备份与部分备份
全部备份(whole backup)是所有数据文件、控制文件以及服务器参数文件的备份。控制文件的所有复用副本都是完全相同的,因此只需要备份其中一个副本。要注意的是,并不需要备份联机重做日志!联机重做日志文件通过复用与可选的归档受到保护。还有,只有用于永久表空间的数据才会被备份。RMAN不能备份临时表空间文件,这些临时文件也不能被置入用于操作系统备份的备份模式。
部分备份(partial backup)包括了一个或多个数据文件以及控制文件。部分备份与数据库的剩余部分肯定不会同步。部分备份只是特定时刻数据库某部分的副本。如果有必要从部分备份中还原一个文件,那么这个文件在能够使用之前必须与数据库的其余部分同步,这意味着需要通过应用归档和联机重做日志文件中的变化使恢复的文件是最新的。
只有在数据库位于archivelog模式时,部分备份才有效。 Read the rest of this entry »
为了保证数据库具有最大程度的可恢复性,必须复用控制文件与联机重做日志,必须在archivelog模式中运行数据库,同时也必须复用归档日志文件,此外还必须定期备份数据库。
1、保护控制文件
控制文件用于加载数据库,并且在数据库打开时被频繁地读写。控制文件最多具有8个被复用的副本。在理想情况下,不仅控制文件的每个副本都位于不同的磁盘上,而且每个磁盘在硬件允许的情况下都应当位于不同的通道和控制器上。
如果复用了控制文件,那么恢复由于介质损害而丢失的一个控制文件就十分容易。 Read the rest of this entry »