Вы находитесь на странице: 1из 3

IN DATABASE ARCHIVING- ROW ARCHIVAL

[oracle@DB12c ~]$ sqlplus system/oracle_4U


SQL*Plus: Release 12.1.0.1.0 Production on Sun Jun 15 11:43:09 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Last Successful login time: Sun Jun 15 2014 09:13:58 +05:30
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real Application
Testing options

SQL> create user hr identified by hr;


User created.

SQL> grant connect,resource to hr;


Grant succeeded.

SQL> CREATE TABLE hr.emp_arch


(EMPNO NUMBER(7), FULLNAME VARCHAR2(100),
JOB VARCHAR2(9), MGR NUMBER(7))
ROW ARCHIVAL;
Table created.

SQL> alter user hr quota unlimited on users;


User altered.

SQL> INSERT INTO hr.emp_arch (EMPNO , FULLNAME , JOB)


VALUES (100, 'JEAN', 'MGR');
1 row created.

SQL> INSERT INTO hr.emp_arch (EMPNO , FULLNAME , JOB , MGR)


VALUES (101, 'ADAM', 'CLERK' ,100);
1 row created.

SQL> INSERT INTO hr.emp_arch (EMPNO , FULLNAME , JOB , MGR)


VALUES (102, 'TOM', 'ADMIN' ,100);
1 row created.
SQL> INSERT INTO hr.emp_arch (EMPNO , FULLNAME , JOB , MGR)
VALUES (103, 'JIM', 'WRITER' ,100);
1 row created.

SQL> commit;
Commit complete.

SQL> COL fullname FORMAT A10


SQL> COL ORA_ARCHIVE_STATE FORMAT A30
SQL> SELECT ORA_ARCHIVE_STATE, fullname FROM hr.emp_arch;
ORA_ARCHIVE_STATE FULLNAME
------------------------------ ----------
0 JEAN
0 ADAM
0 TOM
0 JIM

SQL> CREATE TABLE hr.emp AS SELECT * FROM hr.emp_arch;


Table created.

SQL> SELECT ORA_ARCHIVE_STATE, fullname FROM hr.emp;


SELECT ORA_ARCHIVE_STATE, fullname FROM hr.emp
ERROR at line 1:
ORA-00904: "ORA_ARCHIVE_STATE": invalid identifier

SQL> UPDATE hr.emp_arch


SET ORA_ARCHIVE_STATE=DBMS_ILM.ARCHIVESTATENAME(1)
WHERE empno IN (101,102);
2 rows updated.

SQL> commit;
Commit complete.

SQL> SELECT ORA_ARCHIVE_STATE, fullname FROM hr.emp_arch;


ORA_ARCHIVE_STATE FULLNAME
------------------------------ ----------
0 JEAN
0 JIM
SQL> ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL;
Session altered.

SQL> SELECT ORA_ARCHIVE_STATE, fullname FROM hr.emp_arch;


ORA_ARCHIVE_STATE FULLNAME
------------------------------ ----------
0 JEAN
1 ADAM
1 TOM
0 JIM

SQL> ALTER TABLE hr.emp ROW ARCHIVAL;


Table altered.

SQL> INSERT INTO hr.emp


SELECT EMPNO+100 , FULLNAME ||'_SENIOR', JOB , MGR
FROM hr.emp_arch; 2 3
4 rows created.

SQL> SELECT ORA_ARCHIVE_STATE, fullname FROM hr.emp_arch;


ORA_ARCHIVE_STATE FULLNAME
------------------------------ ----------
0 JEAN
1 ADAM
1 TOM
0 JIM

Вам также может понравиться