Oracle如何实现两个数据库的同步(用实体化视图实现)(Oracle快照实例)

Oracle如何实现两个数据库的同步(用实体化视图实现)(Oracle快照实例)

oracle快照_oracle快照查询语句oracle快照_oracle快照查询语句


oracle快照_oracle快照查询语句


一、技术实现细节 除非特别说明,下面的SQL命令都是在数据库ora_db2的SYSETM用户下运行的。设要(或同步)另一上数据库ora_db1中用户db1的所有表。

1. 创建一个用于连接数据库1(ora_db1)的数据库连接(dblink)

SQL> CREATE PUBLIC DATABASE LINK testLK CONNECT TO db1 identified by db1using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)))(CONNECT_DATA =(serv_name=ora_db1)))';

出于安全考虑,可以采用一个私有数据连接。

2. 创建一个名为Snapshot_ts的表空间来存放快照,,并创建一个和该表空间有关的名为db2的用户。

SQL > CREATE TABLESPACE snapshot_ts DATAFILE'd:dbsnapshot_ts.dbf' SIZE 30M DEFAULT STORAGE (INITIAL 30 K NEXT 15 K MINEXTENTS 1 MAXEXTENTS 100 PCTINCREASE 0) ONLINE PERMANENT;

SQL > CREATE USER db2 IDENTIFIED BY db2 DEFAULT TABLESPACE snapshot_ts;

SQL > GRANT CONNECT, RESOURCE TO db2;

可以通过下面的SQL语句在ora_db1数据库以db1用户来粗略地估计表空间snapshot_ts的大小。

SQL >SELECT SUM(bytes) FROM USER_SEGMENTS WHERE SEGMENT_NAME IN (select table_name from user_tables);

3. 运行下面的脚本来生成创建ora_db1数据库上db1用户下代码表的快照脚本:

注意 :在db1下运行下面select ,获得的文件create_snapshot.sql 脚本 在db2下运行。

SQL > spool d:snapcreate_snapshot.sql

注意上面这个生成所需表快照的脚本有一定的局限性,如果所需生成快照的表中含有类型为long的列,‘select '在这里就不会起作用,上面的这个SQL脚本就不能自动建立生成所需快照的脚本,必须通过在select列表中显式地添加long型列名来创建表的快照。下面是一个例子,如我们要创建快照依赖的表table1中有一个列note类型为long,就需要单独写出如下的创建快照的脚本:

数据恢复时,“ORA-01555快照过旧”

这个是由于你的数据库的这个表的对应undo已经覆盖,无法通过该方法恢复delete数据

如果数据重要,无法自行解决,可以,通过另外的方法恢复oracle 被delete数据

各位大神Oracle VM VirtualBox虚拟机怎么用快照功能?备份后怎么恢复?

在 Oracle VM VirtualBox 管理器界面

右上角, 有 "明细" 与 "备份"

点到 "备份"

会列出当前虚拟机, 都有哪些备份。

点击选择好后, 鼠标右键, 会出现 “恢复备份” 与 “删除备份”

修改系统参数,将快照时间间隔改为五分钟oracle

--Interval :设置快照收集的频率,以分钟为单位。可设置的值小为10分钟,为1年。如果设置该参数值为0,就表示禁用AWR特性。

--Retention :设置快照保存的时间,单位是分钟。可设置的值小为1天,为100年。设置该参数值为0的话,就表示保留收集的快照信息。

exec dbms_workload_reitory.modify_snapshot_settings (interval=>10,retention =>12460);

oracle快照不连续

题主是否想询问“oracle快照为什么不连续?”是因为数据库快照时间间隔太长、数据库负载过重导致的。

1、数据库快照时间间隔太长:如果快照时间间隔太长,可能会导致快照数据不连续,如果需要更连续的快照数据,可以增加快照时间间隔,以便更频繁地捕获数据库状态。

2、数据库负载过重:如果数据库负载过重,可能会导致快照数据不连续,在高负载情况下,数据库可能会优先处理事务请求,而不会在快照中捕获所有的状态。