在oracle 12c 通过Using In-Database Archiving feature 特性,来启到分离在线数据和历史数据的作用,

即数据归档,应用可以有选择性的访问在线数据或者历史数据,要启用这个特性,在建表的时候启用ROW ARCHIVAL,

并操作ORA_ARCHIVE_STATE 这个隐藏字段,此外用户还可以指定会话级别的 ROW ARCHIVAL VISIBILITY为ACTIVE  或者ALL

active就是看到在线数据,ALL的话就是全部数据。

/* Set visibility to ACTIVE to display only active rows of a table.*/

ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ACTIVE;

CREATE TABLE employees_indbarch

(employee_id NUMBER(6) NOT NULL,

first_name VARCHAR2(20), last_name VARCHAR2(25) NOT NULL,

email VARCHAR2(25) NOT NULL, phone_number VARCHAR2(20),

hire_date DATE NOT NULL, job_id VARCHAR2(10) NOT NULL, salary NUMBER(8,2),

commission_pct NUMBER(2,2), manager_id NUMBER(6), department_id NUMBER(4)) ROW ARCHIVAL;

INSERT INTO employees_indbarch(employee_id, first_name, last_name, email,

hire_date, job_id, salary, manager_id, department_id)

VALUES (251, 'Scott', 'Tiger', 'scott.tiger@example.com', '21-MAY-2009',

'IT_PROG', 50000, 103, 60);

INSERT INTO employees_indbarch(employee_id, first_name, last_name, email,

hire_date, job_id, salary, manager_id, department_id)

VALUES (252, 'Jane', 'Lion', 'jane.lion@example.com', '11-JUN-2009',

'IT_PROG', 50000, 103, 60);

/* Show all the columns in the table, including hidden columns */

SELECT SUBSTR(COLUMN_NAME,1,22) NAME, SUBSTR(DATA_TYPE,1,20) DATA_TYPE, COLUMN_ID AS COL_ID,

SEGMENT_COLUMN_ID AS SEG_COL_ID, INTERNAL_COLUMN_ID AS INT_COL_ID, HIDDEN_COLUMN, CHAR_LENGTH

FROM USER_TAB_COLS WHERE TABLE_NAME='EMPLOYEES_INDBARCH';

NAME DATA_TYPE COL_ID SEG_COL_ID INT_COL_ID HID CHAR_LENGTH

---------------------- -------------------- ---------- ---------- ---------- --- -----------

ORA_ARCHIVE_STATE VARCHAR2 1 1 YES 4000

EMPLOYEE_ID NUMBER 1 2 2 NO 0

FIRST_NAME VARCHAR2 2 3 3 NO 20

LAST_NAME VARCHAR2 3 4 4 NO 25

EMAIL VARCHAR2 4 5 5 NO 25

PHONE_NUMBER VARCHAR2 5 6 6 NO 20

HIRE_DATE DATE 6 7 7 NO 0

JOB_ID VARCHAR2 7 8 8 NO 10

SALARY NUMBER 8 9 9 NO 0

COMMISSION_PCT NUMBER 9 10 10 NO 0

MANAGER_ID NUMBER 10 11 11 NO 0

DEPARTMENT_ID NUMBER 11 12 12 NO 0

/* Decrease the ORA_ARCHIVE_STATE column size to improve formatting in queries */

COLUMN ORA_ARCHIVE_STATE FORMAT a18;

/* The default value for ORA_ARCHIVE_STATE is '0', which means active */

SELECT employee_id, ORA_ARCHIVE_STATE FROM employees_indbarch;

EMPLOYEE_ID ORA_ARCHIVE_STATE

----------- ------------------

251 0

252 0

/* Insert a value into ORA_ARCHIVE_STATE to set inactive */

UPDATE employees_indbarch SET ORA_ARCHIVE_STATE = '20' WHERE employee_id = 252;

/* Only active records are in the following query */

SELECT employee_id, ORA_ARCHIVE_STATE FROM employees_indbarch;

EMPLOYEE_ID ORA_ARCHIVE_STATE

----------- ------------------

251 0

/* Set visibility to ALL to display all records */

ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL;

SELECT employee_id, ORA_ARCHIVE_STATE FROM employees_indbarch;

EMPLOYEE_ID ORA_ARCHIVE_STATE

----------- ------------------

251 0

252 20

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7199859/viewspace-2058720/,如需转载,请注明出处,否则将追究法律责任。

oracle 12c创建归档,oracle 12c 数据归档 即Using In-Database Archiving feature相关推荐

  1. oracle 9 创建数据库,Oracle 9i创建数据库(转)

    Oracle 9i创建数据库(转)[@more@] 6.6.1 用[数据库配置助手]创建数据库 (1)出现如图6.18所示的[欢迎使用]界面. (2)出现如图6.19所示的[操作]界面. (3)出现如 ...

  2. oracle中创建游标,oracle 存储过程创建游标

    Oracle与Sql Server差异点详解 1.create函数或存储过程异同点 Oracle 创建函数或存储过程一般是 create or replace -- SQL SERVER 则是在创建之 ...

  3. oracle+手工创建pfile,oracle 手工创建数据库

    1, 创建pfile,通cat命令将以#和空格开头的行过滤掉,放到initSID.ora文件中 pfile文件格式为init(sid).ora cd $ORACLE_HOME/dbs cat init ...

  4. oracle mysql 创建表,Oracle 创建表用户、空间

    oracle创建用户.表空间 无 /*查看表空间文件位置*/select *from dba_data_files;--创建arcgis 表空间.用户/*第1步:创建临时表空间 */create te ...

  5. oracle常用创建模式,ORACLE 常用操作命令

    1.1导出 1.2导出使用程序有以下常用的命令参数参数                           说明 USERID           确定执行导出实用程序的用户名和口令 BUFFER   ...

  6. oracle批量创建序列号,Oracle数据库中创建并利用序列号生成ID

    已经有了序列后,怎么样自动生成ID? 其实是用一条包含序列号的sql语句从dual表中查出的id再赋值给id 以下举两条实战的sql: select '00010222' ||  lpad(seq_s ...

  7. oracle的创建视图,Oracle笔记:创建视图

    视图这个名词太抽象了,乍一看完全不明白是什么意思,更不知道有何用处,其实了解清楚它的含义后你就会恍然大悟.表和视图的区别 视图这个名词太抽象了,乍一看完全不明白是什么意思,更不知道有何用处,其实了解清 ...

  8. oracle数据库创建user,Oracle数据库如何创建数据库用户呢?

    摘要: 下文讲述Oracle数据库中创建数据库用户的方法分享,如下所示: 在oracle数据库中,当我们创建了相应的数据库后,通常我们会为数据库指定相应的用户,然后单独操作此数据库, 下文讲述orac ...

  9. oracle 怎么创建约束,Oracle创建约束

    约束的类型: oracle数据库支持的约束类型包括: 1.unique 2.not null 3.primary key 4.foreignkey 5.check 约束都有名称.如果没有显示地给它们命 ...

  10. oracle 如何创建job,oracle创建job

    一.基本语法 与MysqL的event事件类似,用来创建数据库的定时任务. DBMS_JOB.SUBMIT( job OUT BINARY_INTEGER,what IN VARCHAR2,NEXT_ ...

最新文章

  1. server vscode中的live_太方便了!这款神器能在浏览器中运行 VS Code,随时随地写代码...
  2. tensorflow 进阶(四)---CNN
  3. 苹果成为存储厂商的新饽饽
  4. Nginx Lua读取redis 进行权限认证操作
  5. 谁是杨强?首位AAAI华人主席,身兼5大顶级组织Fellow,也是华为诺亚方舟实验室开创者...
  6. SASS+COMPASS 自适应 学习笔记
  7. Windows11系统引导修复(因EasyBCD误删win11启动)
  8. 在国内怎么使用谷歌Chrome浏览器,为什么我的谷歌浏览器进去就加载失败
  9. 朱生豪先生的情书 ---- 醒来觉得甚是爱你
  10. 好看的html视频播放界面,推荐几款超个性的HTML5视频播放器
  11. 信息安全从业者书单推荐
  12. uniapp 开发电视机APP 基座连接电视机
  13. CSS基础:margin在行内元素及行级块元素失效两个元素之间margin重叠
  14. DICOM医学图像处理:AETitle在C-FIND和C-MOVE请求中的设置问题
  15. linux生成mux节点,mux - 路由
  16. 2022渗透测试-面试题目大全
  17. idea,eclipse和jdk环境配置
  18. 在计算机技术指标中mips用来描述,mips用来描述计算机的什么
  19. HDU2182 Frog —— 简单DP
  20. 聊聊group lasso

热门文章

  1. 微信小程序被投诉怎么办?小妙招教给你
  2. 设备安全——防火墙j基础策略实验【华为NSP】
  3. Python中文社区官方群组
  4. protobuf篇:介绍、安装、测试
  5. WeBRTC IOS视频采集流程
  6. This'is wath!
  7. c语言 输出方阵。输入一个正整数 n(1≤n≤10),打印一个n行n列的方阵,输出如下方阵
  8. HCI opcode
  9. 一个电脑可以装两个java么,是否可以在一台计算机上安装多个Eclipse?
  10. 第二章:第一节数据清洗及特征处理-自测