• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle 12c 数据库内归档

mysql 搞代码 4年前 (2022-01-09) 22次浏览 已收录 0个评论

Oracle 12c有一个新特性,能够在数据库内归档,将不常访问的数据对应用隐藏起来,设置为inactive状态。当然也可以在会话级别进行

Oracle 12c有一个新特性,能够在数据库内归档,将不常访问的数据对应用隐藏起来,,设置为inactive状态。当然也可以在会话级别进行显示。这是通过参数ROW ARCHIVAL VISIBILITY来实现的,该参数可以设置为两个值,active或all。active为显示活动的数据,all为显示所有数据,包括inactive的数据。

现举例说明:

SQL> create table test(id int,name varchar2(10));
Table created.
SQL> alter table test ROW ARCHIVAL;
Table altered.
SQL> insert into test values(1,’col1′);
1 row created.
SQL> insert into test values(2,’col2′);
1 row created.
SQL> commit;

SQL> COL DATA_TYPE FOR A10
SQL> COL COL

本文来源gao!%daima.com搞$代*!码网1

UMN_NAME FOR A20

SQL> SELECT COLUMN_NAME, DATA_TYPE, HIDDEN_COLUMN, CHAR_LENGTH FROM USER_TAB_COLS WHERE TABLE_NAME=’TEST’;

COLUMN_NAME DATA_TYPE HID CHAR_LENGTH
——————– ———- — ———–
ORA_ARCHIVE_STATE VARCHAR2 YES 4000
NAME VARCHAR2 NO 10
ID NUMBER NO 0

SQL> col ora_archive_state for a20

SQL> select id,name,ora_archive_state from test;

ID NAME ORA_ARCHIVE_STATE
———- ———- ——————–
1 col1 0
2 col2 0

默认情况下,ora_archive_state列的值为0,其意味着没有在数据库归档。

SQL> update test set ora_archive_state=’1′ where id=1;

1 row updated.

SQL> commit;

Commit complete.

SQL> select * from test;

ID NAME
———- ———-
2 col2
可以看到,修改的那上数据已经看不到了。

SQL> ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL;

Session altered.

SQL> select * from test;

ID NAME
———- ———-
1 col1
2 col2
SQL> ALTER SESSION SET ROW ARCHIVAL VISIBILITY=active;

Session altered.

SQL> select * from test;

ID NAME
———- ———-
2 col2

可以看到,不同的会话参数,显示结果不同。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle 12c 数据库内归档

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址