第十章 【备份】与【恢复】 (四) 手工备份

版权声明:转载请注明原博客地址,博文名称,原作者姓名。 https://blog.csdn.net/lihan7/article/details/82150597

~~~~~~~~~~~~~~~~~~

控制文件

SQL> select value from v$parameter where name = 'control_files';

VALUE
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/XE/control.dbf
 

SQL> select status,name from v$controlfile;

STATUS      NAME
--------------------------------------------------------------------------------

   空              /u01/app/oracle/oradata/XE/control.dbf

SQL> show parameter control_files;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
control_files                 string     /u01/app/oracle/oradata/XE/con
                         trol.dbf
上面三个输出是一样的
 

SQL> select * from v$controlfile_record_section;

TYPE      RECORD_SIZE        RECORDS_TOTAL         RECORDS_USED       FIRST_INDEX     LAST_INDEX   LAST_RECID
---------------------------- ----------- ------------- ------------ -----------

DATABASE                 316         1          1          0
     0        0

CKPT PROGRESS                8180        11          0          0
     0        0

REDO THREAD                 256         8          1          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
REDO LOG                  72        16          3          0
     0       10

DATAFILE                 520       100          4          0
     0       43

FILENAME                 524      2298          7          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
TABLESPACE                  68       100          5          0
     0        1

TEMPORARY FILENAME              56       100          1          0
     0        1

RMAN CONFIGURATION            1108        50          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
LOG HISTORY                  56       292         17          1
    17       17

OFFLINE RANGE                 200       163          0          0
     0        0

ARCHIVED LOG                 584        28          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
BACKUP SET                  40       409          0          0
     0        0

BACKUP PIECE                 736       200          0          0
     0        0

BACKUP DATAFILE              200       245          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
BACKUP REDOLOG                  76       215          0          0
     0        0

DATAFILE COPY                 736       200          0          0
     0        0

BACKUP CORRUPTION              44       371          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
COPY CORRUPTION               40       409          0          0
     0        0

DELETED OBJECT                  20       818          0          0
     0        0

PROXY COPY                 928       246          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
BACKUP SPFILE                 124       131          0          0
     0        0

DATABASE INCARNATION              56       292          2          1
     2        2

FLASHBACK LOG                  84      2048          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
RECOVERY DESTINATION             180         1          1          0
     0        0

INSTANCE SPACE RESERVATION          28      1055          1          0
     0        0

REMOVABLE RECOVERY FILES          32      1000          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
RMAN STATUS                 116       141          0          0
     0        0

THREAD INSTANCE NAME MAPPING          80         8          8          0
     0        0

MTTR                     100         8          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
DATAFILE HISTORY             568        57          0          0
     0        0

STANDBY DATABASE MATRIX          400        31         31          0
     0        0

GUARANTEED RESTORE POINT         212      2048          0          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
RESTORE POINT                 212      2083          0          0
     0        0

DATABASE BLOCK CORRUPTION          80      8384          0          0
     0        0

ACM OPERATION                 104        64          6          0
     0        0


TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX
---------------------------- ----------- ------------- ------------ -----------
LAST_INDEX LAST_RECID
---------- ----------
FOREIGN ARCHIVED LOG             604      1002          0          0
     0        0


37 rows selected.

SQL> 

~~~~~~~

控制文件里还有这些东西
 

SQL> select * from v$archived_log;

no rows selected
 

SQL> select   dbid  from v$database;

      DBID
----------
2871763876

SQL> select name,created,log_mode from v$database;

NAME      CREATED   LOG_MODE
--------- --------- ------------
XE      27-OCT-18 NOARCHIVELOG
 

SQL> select  *  from v$database;

2871763876 XE        27-OCT-18            353178 27-OCT-18
    1 28-AUG-11 NOARCHIVELOG             616964

566705 CURRENT 27-OCT-18                   873              622592
30-OCT-18 NOT ALLOWED 27-OCT-18 READ WRITE           MAXIMUM PERFORMANCE

UNPROTECTED          ENABLED   2871767460  2871767460 PRIMARY
0 DISABLED NOT ALLOWED          DISABLED NONE    NO       NO
NO  NO           13
Linux x86 64-bit
 2                      2      622643
NO                 NO  NO  XE
0 DISABLED

0
NO NO

SQL> select * from v$tempfile;

     FILE# CREATION_CHANGE# CREATION_         TS#     RFILE# STATUS  ENABLED
---------- ---------------- --------- ---------- ---------- ------- ----------
     BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
     1         353349 27-OCT-18           3      1 ONLINE  READ WRITE
  20971520     2560      20971520     8192
/u01/app/oracle/oradata/XE/temp.dbf
 

SQL> select * from v$tablespace;

       TS# NAME               INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
     0 SYSTEM              YES NO  YES
     2 UNDOTBS1              YES NO  YES
     1 SYSAUX              YES NO  YES
     4 USERS              YES NO  YES
     3 TEMP               NO  NO  YES
 

SQL> select * from v$archive;

no rows selected
 

SQL> select * from v$loghist;

   THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIM SWITCH_CHANGE#
---------- ---------- ------------- --------- --------------
     1        1         353178 27-OCT-18          353344
     1        2         353344 27-OCT-18          373878
     1        3         373878 27-OCT-18          402473
     1        4         402473 27-OCT-18          419102
     1        5         419102 27-OCT-18          448868
     1        6         448868 27-OCT-18          462229
     1        7         462229 27-OCT-18          488489
     1        8         488489 27-OCT-18          505973
     1        9         505973 27-OCT-18          514515
     1       10         514515 27-OCT-18          528249
     1       11         528249 27-OCT-18          535597

   THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIM SWITCH_CHANGE#
---------- ---------- ------------- --------- --------------
     1       12         535597 27-OCT-18          551373
     1       13         551373 27-OCT-18          553962
     1       14         553962 27-OCT-18          559093
     1       15         559093 27-OCT-18          566705
     1       16         566705 27-OCT-18          589399
     1       17         589399 28-OCT-18          601449

17 rows selected.

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE      MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS         FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------------- ------------- --------- ------------ ---------
     1        1          17   52428800       512        1 NO
INACTIVE        589399 28-OCT-18       601449 28-OCT-18

     2        1          18   52428800       512        1 NO
CURRENT         601449 28-OCT-18   2.8147E+14
 

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
     2       ONLINE
/u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_2_fx8j3blq_.log
YES

     1       ONLINE
/u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_1_fx8j386l_.log
YES

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

数据字典

1. dba_objects

SQL> desc dba_objects;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 OWNER                            VARCHAR2(30)
 OBJECT_NAME                        VARCHAR2(128)
 SUBOBJECT_NAME                     VARCHAR2(30)
 OBJECT_ID                        NUMBER
 DATA_OBJECT_ID                     NUMBER
 OBJECT_TYPE                        VARCHAR2(19)
 CREATED                        DATE
 LAST_DDL_TIME                        DATE
 TIMESTAMP                        VARCHAR2(19)
 STATUS                         VARCHAR2(7)
 TEMPORARY                        VARCHAR2(1)
 GENERATED                        VARCHAR2(1)
 SECONDARY                        VARCHAR2(1)
 NAMESPACE                        NUMBER
 EDITION_NAME                        VARCHAR2(30)

SQL>select * from dba_objects;

18725 rows selected.
 

SQL> select * from dba_objects where owner='SCOTT';

no rows selected


2.all_objects  分别用 scorr/tiger 和sys登录,查看

SQL> desc all_objects;         
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 OWNER                       NOT NULL VARCHAR2(30)
 OBJECT_NAME                   NOT NULL VARCHAR2(30)
 SUBOBJECT_NAME                     VARCHAR2(30)
 OBJECT_ID                   NOT NULL NUMBER
 DATA_OBJECT_ID                     NUMBER
 OBJECT_TYPE                        VARCHAR2(19)
 CREATED                   NOT NULL DATE
 LAST_DDL_TIME                   NOT NULL DATE
 TIMESTAMP                        VARCHAR2(19)
 STATUS                         VARCHAR2(7)
 TEMPORARY                        VARCHAR2(1)
 GENERATED                        VARCHAR2(1)
 SECONDARY                        VARCHAR2(1)
 NAMESPACE                   NOT NULL NUMBER
 EDITION_NAME                        VARCHAR2(30)
 

SQL> select distinct(owner) from all_objects;


OWNER
------------------------------
MDSYS
PUBLIC
OUTLN
CTXSYS
HR
FLOWS_FILES
SYSTEM
APEX_040000
ORACLE_OCM
DBSNMP
XDB

OWNER
------------------------------
APPQOSSYS
SYS
 

SQL> select owner,object_name,created from all_objects where owner='SCOTT';

no rows selected


3. user_objects      分别用 scorr/tiger 和sys登录,查看

SQL> desc user_objects
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 OBJECT_NAME                        VARCHAR2(128)
 SUBOBJECT_NAME                     VARCHAR2(30)
 OBJECT_ID                        NUMBER
 DATA_OBJECT_ID                     NUMBER
 OBJECT_TYPE                        VARCHAR2(19)
 CREATED                        DATE
 LAST_DDL_TIME                        DATE
 TIMESTAMP                        VARCHAR2(19)
 STATUS                         VARCHAR2(7)
 TEMPORARY                        VARCHAR2(1)
 GENERATED                        VARCHAR2(1)
 SECONDARY                        VARCHAR2(1)
 NAMESPACE                        NUMBER
 EDITION_NAME                        VARCHAR2(30)
 

SQL> select object_name,object_type,created from  user_objects;

9153 rows selected.
4.

SQL>  select table_name from  user_tables;

935 rows selected.
5.

SQL>  select index_name from user_indexes;

1143 rows selected.
6.

SQL>  select view_name from user_views;

3747 rows selected.

7.  user_catalog

SQL> desc user_catalog;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 TABLE_NAME                   NOT NULL VARCHAR2(30)
 TABLE_TYPE                        VARCHAR2(11)
 

SQL> select * from user_catalog;
4823 rows selected.
8.  dba_users

SQL> select username,created from dba_users;

USERNAME               CREATED
------------------------------ ---------
SYSTEM                   28-AUG-11
SYS                   28-AUG-11
ANONYMOUS               28-AUG-11
APEX_PUBLIC_USER           28-AUG-11
APEX_040000               28-AUG-11
XS$NULL                28-AUG-11
ORACLE_OCM               27-OCT-18
DIP                   27-OCT-18
OUTLN                   28-AUG-11
APPQOSSYS               27-OCT-18
XDB                   28-AUG-11

USERNAME               CREATED
------------------------------ ---------
DBSNMP                   27-OCT-18
CTXSYS                   28-AUG-11
MDSYS                   28-AUG-11
FLOWS_FILES               28-AUG-11
HR                   28-AUG-11

16 rows selected.
 

SQL> select * from v$fixed_table where name like 'v$LOG%';

no rows selected
 

SQL> select group#,members,archived,status  from v$log;

    GROUP#    MEMBERS ARC STATUS
---------- ---------- --- ----------------
     1        1 NO  INACTIVE
     2        1 NO  CURRENT

SQL> 
SQL> select *  from  v$logfile;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
     2       ONLINE
/u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_2_fx8j3blq_.log
YES

     1       ONLINE
/u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_1_fx8j386l_.log
YES

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
 

SQL>  select  l.group#,l.archived,l.status,lf.type,lf.member  from  v$log l, v$logfile  lf   where l.group#=lf.group# and l.status ='CURRENT';

select    l.group#,l.archived,l.status,lf.type,lf.member  from    v$log l, v$logfile  lf     where l.group#=lf.group# and l.status ='CURRENT'
        *
ERROR at line 1:
ORA-00904: "L"."GROUP#???L"."ARCHIVED": invalid identifier
 

SQL> select instance_name,host_name,version,startup_time,logins  from  v$instance;

INSTANCE_NAME
----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T LOGINS
----------------- --------- ----------
XE
host10
11.2.0.2.0      30-OCT-18 ALLOWED
 

SQL> select name,created,log_mode   from   v$database;

NAME      CREATED   LOG_MODE
--------- --------- ------------
XE      27-OCT-18 NOARCHIVELOG
 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‵

重做日志:

SQL> select * from v$log;

 GROUP#    THREAD#     SEQUENCE#      BYTES        BLOCKSIZE      MEMBERS     ARC   STATUS        FIRST_CHANGE#  
---------- ---------- ---------- ---------- ---------- ---------- ---
    FIRST_TIM       NEXT_CHANGE#               NEXT_TIME
---------------- ------------- --------- ------------ ---------
     1        1          17         52428800       512        1     NO
INACTIVE        589399     28-OCT-18       601449       28-O CT-18

     2        1          18   52428800       512        1 NO
CURRENT         601449       28-OCT-18   2.8147E+14      空

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
     2        空    ONLINE
/u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_2_fx8j3blq_.log
      YES

     1     空     ONLINE
/u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_1_fx8j386l_.log
     YES

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

归档日志部分

SQL> show parameter db_recovery_file_dest;     默认归档路径

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest             string     /u01/app/oracle/fast_recovery_area
db_recovery_file_dest_size         big integer 10G
 

SQL> show parameter log_archive_max_processes;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_max_processes         integer     4
 

SQL> show parameter log_archive_dest_1

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1             string                空
log_archive_dest_10             string
log_archive_dest_11             string
log_archive_dest_12             string
log_archive_dest_13             string
log_archive_dest_14             string
log_archive_dest_15             string
log_archive_dest_16             string
log_archive_dest_17             string
log_archive_dest_18             string
log_archive_dest_19             string
 

SQL> select destination,binding,target,status from  v$archive_dest where destination is not null;  归档终点设置

DESTINATION       BINDING   TARGET  STATUS
--------------------------------------------------------------------------------

--------- ------- ---------
USE_DB_RECOVERY_FILE_DEST       MANDATORY         PRIMARY                       VALID

SQL> show parameter log_archive_dest

NAME                     TYPE                           VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest             string                     空
log_archive_dest_1             string
log_archive_dest_10             string
log_archive_dest_11             string
log_archive_dest_12             string
log_archive_dest_13             string
log_archive_dest_14             string
log_archive_dest_15             string
log_archive_dest_16             string
log_archive_dest_17             string
log_archive_dest_18             string

SQL> show parameter log_archive_format

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_format             string     %t_%s_%r.dbf
 

SQL> show parameter log_archive_dest

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest             string
log_archive_dest_1             string
log_archive_dest_10             string
log_archive_dest_11             string
log_archive_dest_12             string
log_archive_dest_13             string
log_archive_dest_14             string
log_archive_dest_15             string
log_archive_dest_16             string
log_archive_dest_17             string
log_archive_dest_18             string

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_19             string
log_archive_dest_2             string
log_archive_dest_20             string
log_archive_dest_21             string
log_archive_dest_22             string
log_archive_dest_23             string
log_archive_dest_24             string
log_archive_dest_25             string
log_archive_dest_26             string
log_archive_dest_27             string
log_archive_dest_28             string

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_29             string
log_archive_dest_3             string
log_archive_dest_30             string
log_archive_dest_31             string
log_archive_dest_4             string
log_archive_dest_5             string
log_archive_dest_6             string
log_archive_dest_7             string
log_archive_dest_8             string
log_archive_dest_9             string
log_archive_dest_state_1         string     enable

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_10         string     enable
log_archive_dest_state_11         string     enable
log_archive_dest_state_12         string     enable
log_archive_dest_state_13         string     enable
log_archive_dest_state_14         string     enable
log_archive_dest_state_15         string     enable
log_archive_dest_state_16         string     enable
log_archive_dest_state_17         string     enable
log_archive_dest_state_18         string     enable
log_archive_dest_state_19         string     enable
log_archive_dest_state_2         string     enable

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_20         string     enable
log_archive_dest_state_21         string     enable
log_archive_dest_state_22         string     enable
log_archive_dest_state_23         string     enable
log_archive_dest_state_24         string     enable
log_archive_dest_state_25         string     enable
log_archive_dest_state_26         string     enable
log_archive_dest_state_27         string     enable
log_archive_dest_state_28         string     enable
log_archive_dest_state_29         string     enable
log_archive_dest_state_3         string     enable

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_30         string     enable
log_archive_dest_state_31         string     enable
log_archive_dest_state_4         string     enable
log_archive_dest_state_5         string     enable
log_archive_dest_state_6         string     enable
log_archive_dest_state_7         string     enable
log_archive_dest_state_8         string     enable
log_archive_dest_state_9         string     enable

SQL> show parameter log_archive     

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_config             string
log_archive_dest             string
log_archive_dest_1             string
log_archive_dest_10             string
log_archive_dest_11             string
log_archive_dest_12             string
log_archive_dest_13             string
log_archive_dest_14             string
log_archive_dest_15             string
log_archive_dest_16             string
log_archive_dest_17             string

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_18             string
log_archive_dest_19             string
log_archive_dest_2             string
log_archive_dest_20             string
log_archive_dest_21             string
log_archive_dest_22             string
log_archive_dest_23             string
log_archive_dest_24             string
log_archive_dest_25             string
log_archive_dest_26             string
log_archive_dest_27             string

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_28             string
log_archive_dest_29             string
log_archive_dest_3             string
log_archive_dest_30             string
log_archive_dest_31             string
log_archive_dest_4             string
log_archive_dest_5             string
log_archive_dest_6             string
log_archive_dest_7             string
log_archive_dest_8             string
log_archive_dest_9             string

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_1         string     enable
log_archive_dest_state_10         string     enable
log_archive_dest_state_11         string     enable
log_archive_dest_state_12         string     enable
log_archive_dest_state_13         string     enable
log_archive_dest_state_14         string     enable
log_archive_dest_state_15         string     enable
log_archive_dest_state_16         string     enable
log_archive_dest_state_17         string     enable
log_archive_dest_state_18         string     enable
log_archive_dest_state_19         string     enable

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2         string     enable
log_archive_dest_state_20         string     enable
log_archive_dest_state_21         string     enable
log_archive_dest_state_22         string     enable
log_archive_dest_state_23         string     enable
log_archive_dest_state_24         string     enable
log_archive_dest_state_25         string     enable
log_archive_dest_state_26         string     enable
log_archive_dest_state_27         string     enable
log_archive_dest_state_28         string     enable
log_archive_dest_state_29         string     enable

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_3         string     enable
log_archive_dest_state_30         string     enable
log_archive_dest_state_31         string     enable
log_archive_dest_state_4         string     enable
log_archive_dest_state_5         string     enable
log_archive_dest_state_6         string     enable
log_archive_dest_state_7         string     enable
log_archive_dest_state_8         string     enable
log_archive_dest_state_9         string     enable
log_archive_duplex_dest          string
log_archive_format             string     %t_%s_%r.dbf

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_local_first          boolean     TRUE
log_archive_max_processes         integer     4
log_archive_min_succeed_dest         integer     1
log_archive_start             boolean     FALSE
log_archive_trace             integer     0
 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

表空间与数据文件管理

SQL> select * from dba_tablespaces;

TABLESPACE_NAME            BLOCK_SIZE      INITIAL_EXTENT           NEXT_EXTENT             MIN_EXTENTS
------------------------------ ---------- -------------- ----------- -----------
MAX_EXTENTS      MAX_SIZE      PCT_INCREASE    MIN_EXTLEN     STATUS     CONTENTS  LOGGING   FOR
----------- ---------- ------------ ---------- --------- --------- --------- ---
EXTENT_MAN    ALLOCATIO   PLU      SEGMEN     DEF_TAB_ RETENTION      BIG        PREDICA         ENC
---------- --------- --- ------ -------- ----------- --- ------- ---
     COMPRESS_FOR
------------
SYSTEM                     8192       65536               1
 2147483645      2147483645             65536 ONLINE     PERMANENT   LOGGING   NO
LOCAL       SYSTEM     NO    MANUAL     DISABLED    NOT    APPLY      NO    HOST     NO

TABLESPACE_NAME            BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS
------------------------------ ---------- -------------- ----------- -----------
MAX_EXTENTS   MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS     CONTENTS  LOGGING   FOR
----------- ---------- ------------ ---------- --------- --------- --------- ---
EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG PREDICA ENC
---------- --------- --- ------ -------- ----------- --- ------- ---
COMPRESS_FOR
------------
SYSAUX                     8192       65536               1
 2147483645 2147483645             65536 ONLINE     PERMANENT LOGGING   NO
LOCAL       SYSTEM    NO  AUTO    DISABLED NOT APPLY   NO  HOST     NO

TABLESPACE_NAME            BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS
------------------------------ ---------- -------------- ----------- -----------
MAX_EXTENTS   MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS     CONTENTS  LOGGING   FOR
----------- ---------- ------------ ---------- --------- --------- --------- ---
EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG PREDICA ENC
---------- --------- --- ------ -------- ----------- --- ------- ---
COMPRESS_FOR
------------
UNDOTBS1                 8192       65536               1
 2147483645 2147483645             65536 ONLINE     UNDO       LOGGING   NO
LOCAL       SYSTEM    NO  MANUAL DISABLED NOGUARANTEE NO  HOST     NO

TABLESPACE_NAME            BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS
------------------------------ ---------- -------------- ----------- -----------
MAX_EXTENTS   MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS     CONTENTS  LOGGING   FOR
----------- ---------- ------------ ---------- --------- --------- --------- ---
EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG PREDICA ENC
---------- --------- --- ------ -------- ----------- --- ------- ---
COMPRESS_FOR
------------
TEMP                     8192     1048576     1048576           1
        2147483645          0    1048576 ONLINE     TEMPORARY NOLOGGING NO
LOCAL       UNIFORM   NO  MANUAL DISABLED NOT APPLY   NO  HOST     NO

TABLESPACE_NAME            BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS
------------------------------ ---------- -------------- ----------- -----------
MAX_EXTENTS   MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS     CONTENTS  LOGGING   FOR
----------- ---------- ------------ ---------- --------- --------- --------- ---
EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG PREDICA ENC
---------- --------- --- ------ -------- ----------- --- ------- ---
COMPRESS_FOR
------------
USERS                     8192       65536               1
 2147483645 2147483645             65536 ONLINE     PERMANENT LOGGING   NO
LOCAL       SYSTEM    NO  AUTO    DISABLED NOT APPLY   NO  HOST     NO
 

发现有一列数据基本是空的。于是;

SQL> select  tablespace_name,next_extent  from  dba_tablespaces;

TABLESPACE_NAME            NEXT_EXTENT
------------------------------ -----------
SYSTEM
SYSAUX
UNDOTBS1
TEMP                   1048576
USERS
发现,除了TEMP表空间的next_extent  列有数据之外,其他表空间的这一列都是空值。视图dba_tablespaces的其他21列都有数值。

查点别的;

SQL> select tablespace_name,logging,status from  dba_tablespaces;

TABLESPACE_NAME            LOGGING     STATUS
------------------------------ --------- ---------
SYSTEM                   LOGGING     ONLINE
SYSAUX                   LOGGING     ONLINE
UNDOTBS1               LOGGING     ONLINE
TEMP                   NOLOGGING ONLINE
USERS                   LOGGING     ONLINE
 

SQL> select  * from  dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------
   FILE_ID TABLESPACE_NAME               BYTES     BLOCKS STATUS
---------- ------------------------------ ---------- ---------- ---------
RELATIVE_FNO    AUT   MAXBYTES   MAXBLOCKS   INCREMENT_BY    USER_BYTES    USER_BLOCKS
------------ --- ---------- ---------- ------------ ---------- -----------
ONLINE_
-------
/u01/app/oracle/oradata/XE/users.dbf
     4 USERS               104857600      12800 AVAILABLE
       4 YES 1.1811E+10    1441792           1280  103809024         12672
ONLINE


FILE_NAME
--------------------------------------------------------------------------------
   FILE_ID TABLESPACE_NAME               BYTES     BLOCKS STATUS
---------- ------------------------------ ---------- ---------- ---------
RELATIVE_FNO AUT   MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS
------------ --- ---------- ---------- ------------ ---------- -----------
ONLINE_
-------
/u01/app/oracle/oradata/XE/sysaux.dbf
     2 SYSAUX               681574400      83200 AVAILABLE
       2 YES 3.4360E+10    4194302           1280  680525824         83072
ONLINE


FILE_NAME
--------------------------------------------------------------------------------
   FILE_ID TABLESPACE_NAME               BYTES     BLOCKS STATUS
---------- ------------------------------ ---------- ---------- ---------
RELATIVE_FNO AUT   MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS
------------ --- ---------- ---------- ------------ ---------- -----------
ONLINE_
-------
/u01/app/oracle/oradata/XE/undotbs1.dbf
     3 UNDOTBS1               225443840      27520 AVAILABLE
       3 YES 3.4360E+10    4194302        640  224395264         27392
ONLINE


FILE_NAME
--------------------------------------------------------------------------------
   FILE_ID TABLESPACE_NAME               BYTES     BLOCKS STATUS
---------- ------------------------------ ---------- ---------- ---------
RELATIVE_FNO AUT   MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS
------------ --- ---------- ---------- ------------ ---------- -----------
ONLINE_
-------
/u01/app/oracle/oradata/XE/system.dbf
     1 SYSTEM               377487360      46080 AVAILABLE
       1 YES  629145600     76800           1280  376438784         45952
SYSTEM

 

SQL> select  * from v$tempfile;

     FILE# CREATION_CHANGE# CREATION_         TS#     RFILE# STATUS  ENABLED
---------- ---------------- --------- ---------- ---------- ------- ----------
     BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
     1         353349 27-OCT-18           3      1 ONLINE  READ WRITE
  20971520     2560      20971520     8192
/u01/app/oracle/oradata/XE/temp.dbf
 

SQL> select * from database_properties;

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
DICT.BASE
2
dictionary base tables version #

DEFAULT_TEMP_TABLESPACE
TEMP
Name of default temporary tablespace

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

DEFAULT_PERMANENT_TABLESPACE
SYSTEM
Name of default permanent tablespace

DEFAULT_EDITION
ORA$BASE

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
Name of the database default edition

Flashback Timestamp TimeZone
GMT
Flashback timestamp created in GMT

TDE_MASTER_KEY_ID

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

WORKLOAD_REPLAY_MODE

PREPARE implies external replay clients can connect; REPLAY implies workload rep
lay is in progress

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

DST_UPGRADE_STATE
NONE
State of Day Light Saving Time Upgrade

DST_PRIMARY_TT_VERSION
14

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
Version of primary timezone data file

DST_SECONDARY_TT_VERSION
0
Version of secondary timezone data file

DEFAULT_TBS_TYPE

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
SMALLFILE
Default tablespace type

NLS_LANGUAGE
AMERICAN
Language


PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
NLS_TERRITORY
AMERICA
Territory

NLS_CURRENCY
$
Local currency

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

NLS_ISO_CURRENCY
AMERICA
ISO currency

NLS_NUMERIC_CHARACTERS
.,

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
Numeric characters

NLS_CHARACTERSET
AL32UTF8
Character set

NLS_CALENDAR

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
GREGORIAN
Calendar system

NLS_DATE_FORMAT
DD-MON-RR
Date format


PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
NLS_DATE_LANGUAGE
AMERICAN
Date language

NLS_SORT
BINARY
Linguistic definition

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

NLS_TIME_FORMAT
HH.MI.SSXFF AM
Time format

NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
Time stamp format

NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR
Time with timezone format

NLS_TIMESTAMP_TZ_FORMAT

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
DD-MON-RR HH.MI.SSXFF AM TZR
Timestamp with timezone format

NLS_DUAL_CURRENCY
$
Dual currency symbol


PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
NLS_COMP
BINARY
NLS comparison

NLS_LENGTH_SEMANTICS
BYTE
NLS length semantics

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

NLS_NCHAR_CONV_EXCP
FALSE
NLS conversion exception

NLS_NCHAR_CHARACTERSET
AL16UTF16

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
NCHAR Character set

NLS_RDBMS_VERSION
11.2.0.2.0
RDBMS version for NLS parameters

GLOBAL_DB_NAME

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
XE
Global database name

EXPORT_VIEWS_VERSION
8
Export views revision #


PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
WORKLOAD_CAPTURE_MODE

CAPTURE implies workload capture is in progress

NO_USERID_VERIFIER_SALT
0F9C71103BF187DBA96ABF48E376A792


PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

DBTIMEZONE
00:00
DB time zone


36 rows selected.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SQL> select * from database_properties  where property_name like 'DEFAULT%';

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACE
TEMP
Name of default temporary tablespace

DEFAULT_PERMANENT_TABLESPACE
SYSTEM
Name of default permanent tablespace

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------

DEFAULT_EDITION
ORA$BASE
Name of the database default edition

DEFAULT_TBS_TYPE
SMALLFILE

PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
Default tablespace type
 

SQL>select table_name from dba_tables; 

1687 rows selected.
 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

还原段;

SQL> show parameter undo ;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
undo_management              string     AUTO
undo_retention                 integer     900
undo_tablespace              string     UNDOTBS1
SQL> 
SQL> show parameter undo_retention;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
undo_retention                 integer     900
 

SQL> select name,value from v$parameter  where name='undo_retention';

NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
undo_retention
900


SQL> select * from v$session a, v$rollname  b,v$transaction c  where a.saddr=c.ses_addr and b.usn=c.xidusn;

NO

SQL> select a.username,b.name,c.used_ublk   from v$session a, v$rollname  b,v$transaction c  where a.saddr=c.ses_addr and b.usn=c.xidusn;

NO

SQL> select segment_name,tablespace_name,extent_id from dba_undo_extents

188 rows selected.

SQL>select segment_name,tablespace_name,extent_id from dba_undo_extents where segment_name='_SYSSMU114$';

NO

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SQL> select name,checkpoint_change#  from  v$database;   系统全全局检查点

NAME      CHECKPOINT_CHANGE#
--------- ------------------
XE              601449
这个就是从v$log中的first_change#获得的;

SQL> select group#,first_change#,status from v$log;

    GROUP# FIRST_CHANGE# STATUS
---------- ------------- ----------------
     1      589399 INACTIVE
     2      601449 CURRENT

下面控制文件中的数据文件SCN(即CHECKPOINT——CHANGE#),是从数据文件头部的SCN获得。

SQL> select file#,checkpoint_change#,last_change# from v$datafile;    当前的文件检查点

     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- ------------------ ------------
     1           601449
     2           601449
     3           601449
     4           601449
下面就是数据文件头部SCN

SQL>select file#,checkpoint_change# from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
     1           601449
     2           601449
     3           601449
     4           601449
对比三和四是否相同

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   1)数据库全备:备份database的所有数据块(datafile、controlfile)

    2)部分备份:只备份单个表空间或datafile(archivelog模式)

    3)一致性备份(冷备份):在数据库正常关闭情况下做备份,数据库处于一致性状态。

    4)非一致性备份(热备份):database在open状态下备份。

联机重做日志,归档日志(归档重做日志)

手工管理的备份恢复

备份恢复的概念

物理备份

  数据库文件(控制文件,数据文件,重做日志文件)复制到指定目录。

方法1:操作系统CP 命令

方法2:RMAN(RECOVERY MANAGER)工具:命令行方式或者GC或EM图像化工具。

逻辑备份

使用数据迁移工具如EXPDP,EXP,导出数据库对象的逻辑结构以及数据,此时会先导出数据库对象的结构,如表的定义或者索引的结构等。然后导出相应的数据库对象中的数据。使用逻辑备份的话,恢复整个数据库会需要很长时间,因为逻辑备份的恢复需要数据库创建所有的数据库对象,并插入相应的数据。物理备份就更快,因为主要是复制数据文件的过程。逻辑备份不能代替物理备份。

一、expdp/impdp和exp/imp的区别

1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用

2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用

3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。

4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。

二、expdp导出步骤

(1)创建逻辑目录:

   第一步:在服务器上创建真实的目录;(注意:第三步创建逻辑目录的命令不会在OS上创建真正的目录,所以要先在服务器上创建真实的目录。如下图:)

 

   第二步:用sys管理员登录sqlplus;

oracle@ypdbtest:/home/oracle/dmp/vechcore>sqlplus

SQL*Plus: Release 11.2.0.4.0 Production on Tue Sep 5 09:20:49 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter user-name: sys as sysdba
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

   第三步:创建逻辑目录;

SQL> create directory data_dir as '/home/oracle/dmp/user';

Directory created.

   第四步:查看管理员目录,检查是否存在;

SQL> select * from dba_directories;

OWNER                          DIRECTORY_NAME
------------------------------ ------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------------------
SYS                            DATA_DIR
/home/oracle/dmp/user

第五步:用sys管理员给你的指定用户赋予在该目录的操作权限。

select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from all_users;  查看你能管理的所有用户!
select * from user_users; 查看当前用户信息 !

SQL> grant read,write on directory data_dir to user;

Grant succeeded.

(2)用expdp导出dmp,有五种导出方式:

第一种:“full=y”,全量导出数据库;

expdp user/passwd@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log;

第二种:schemas按用户导出;

expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第三种:按表空间导出;

expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第四种:导出表;

expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第五种:按查询条件导;

expdp user/passwd@orcl tables=table1='where number=1234' dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;


三、impdp导入步骤

(1)如果不是同一台服务器,需要先将上面的dmp文件下载到目标服务器上,具体命令参照:http://www.cnblogs.com/promise-x/p/7452972.html

(2)参照“expdp导出步骤”里的前三步,建立逻辑目录;

(3)用impdp命令导入,对应五种方式:

第一种:“full=y”,全量导入数据库;

impdp user/passwd directory=data_dir dumpfile=expdp.dmp full=y;

第二种:同名用户导入,从用户A导入到用户A;

impdp A/passwd schemas=A directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

第三种:①从A用户中把表table1和table2导入到B用户中;

impdp B/passwdtables=A.table1,A.table2 remap_schema=A:B directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

②将表空间TBS01、TBS02、TBS03导入到表空间A_TBS,将用户B的数据导入到A,并生成新的oid防止冲突;

impdp A/passwd remap_tablespace=TBS01:A_TBS,TBS02:A_TBS,TBS03:A_TBS remap_schema=B:A FULL=Y transform=oid:n 
directory=data_dir dumpfile=expdp.dmp logfile=impdp.log

第四种:导入表空间;

impdp sys/passwd tablespaces=tbs1 directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

第五种:追加数据;

impdp sys/passwd directory=data_dir dumpfile=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log; 
--table_exists_action:导入对象已存在时执行的操作。有效关键字:SKIP,APPEND,REPLACE和TRUNCATE

冷备份与热备份

冷备份:DB关闭

热备份:DB打开。必须归档模式。

数据库恢复

两种情况:

实例恢复:shutdown abort。由数据库自动完成,不需要用户干预。前滚(roll forward)回滚(roll back)。

介质恢复:磁盘损毁,数据文件损坏,需要介质恢复。

实例恢复:

前滚

         未完全提交的事务,即该事务已经被执行commit命令了,只是现在该事务修改所对应的脏数据块中只有一部分被写到磁盘上的数据文件中,还有一部分已经被置为提交标记的脏块还在内存上,如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用前滚(这个机制)来完成事务的完全提交,即将先前那部分已经被置为提交标记且还在内存上的脏块写入到磁盘上的数据文件中。

回滚

        未提交的事务,即该事务未被执行commit命令。但是此时,该事务修改的脏块中也有可能一部分脏块写入到数据文件中了。如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用回滚(这个机制)来将先前那部分已经写入到数据文件的脏块从数据文件上撤销掉

注释:

       实例恢复,就是oracle软件系统根据数据库实例崩溃前最后一次检查点的那一刻数据库实例崩溃那一刻期间所做的所有操作(无论该操作是否有提交的,这些操作可以从重做日志上读取)对该数据库实例对应的数据库(特别是数据文件部分做恢复,当然其他配合数据文件的文件,如控制文件,日志文件,也会做相关的恢复修改)进行前滚即将该期间的操作重做一遍。之后再将其中未提交的操作进行回滚。这里,可能就有人疑问了,为什么前滚时不只做提交的操作,未提交的操作就不要做就好了嘛?因为数据库实例崩溃前,未被执行commit命令的事务,其所修改的脏块中也有可能一部分脏块已经写入到数据文件中了,所以需要进行回滚操作

    总之,实例恢复时,先做前滚,后做回滚

~~~~~~~

    (疑问)至于为什么不用如下方法就不得而知了?

    该方法具体为,前滚时只做提交的操作,不做未提交的操作,到回滚操作阶段时,再去回滚那些(记录在重做日志里的)未提交的操作。

【前滚和回滚交替进行??--------Recovery在SQL Server启动时也会发生,在数据库启动过程中,SQL Server会检查事务日志,看是否存在已提交或未提交的事务,如果发现在最后一次检查点发生后,还有已提交的事务,则SQL Server会对这些事务进行REDO(ROLL FORWARD);而如果发现未提交的事务,则进行UNDO(ROLL BACK)。http://blog.csdn.net/hmzhangfeng/article/details/6338021】

注意:   未提交的事务     提交的事务   未完全提交的事务  完全提交的事务

~~~~~~~~~~~~~~~

介质恢复:

复原restore:

恢复recovery:

完全和不完全恢复:

完全恢复:恢复到最新状态,不丢失任何数据。需要有数据文件的备份,并且有备份以来的全部的归档日志文件和当前的日志文件。就不会丢失数据。不同力度:数据库级,表空间级,数据文件级。

不完全恢复:会有数据丢失。是由于丢失归档日志或者当前日志造成的。可恢复到指定的时间点!只能在数据库级实现!

~~~~~~~~~~~~~~~~~~~~

非归档模式下的冷备份和恢复

冷备份的步骤

冷备份下的恢复

缺少重做日志文件的恢复方法

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

归档模式与非归档模式

设置数据库的归档模式

startup mount; 启动到mount状态

alter database open;

archive log list; 查看当前的归档模式(是否归档)显示为 Archive Mode

ps -ef | grep arc 查看归档进程信息

发现归档进程已经启动。

alter system archive log current;

手动归档

设置归档进程相关参数

归档进程的作用是将重做日志文件备份到指定的归档目录。

LGWR进程会将REDO LOG BUFFER中的重做数据写入REDO LOG;每当一个REDO LOG GROUP 满了,或者直接发出SWITCH LOGFILE 命令,都会触发日志组的切换,当发生日志组的切换时,ARC进程会将当前的重做日志中的数据写入归档目录,LGWR进程是架构内存中的数据写入重做日志文件,是内存读磁盘写,而ARC进程是将重做日志文件写入归档文件,是磁盘读磁盘写,显然LGWR进程的读写效率或者读写速度比ARC进程要快,而频繁发生DML操作的数据库中,可能会发生由于归档慢而重做日志写入速度快造成的数据库被HANG住了,此时数据库什么也不做,就是等待ARC进程将当前的重做日志写入归档文件,为了匹配二者的速度问题可以考虑修改归档进程参数,log_archive_max_processes,它的作用是提高归档进程的数量,启动更多的归档进程完成写归档的过程。

默认情况下,该参数的值是2,。由于参数log_archive_max_processes 是动态参数,可以直接修改。

show parameter log_archive_max_processes;

alter system set log_archive_max_processes=3;

提示为system altered 表示内存中和SPFILE中同时修改了该参数。

ps -ef | grep arc

看到三个进程。

  

管理归档文件和归档目录

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

手工热备份数据库的步骤

手工备份

指的是操作系统工具(cp)将数据库文件备份到指定的目录。热备份可以备份某个表空间的一个或者所有数据文件。备份过程中表空间依然可用,DML操作支持。

备份过程中数据文件头的SCN被锁定,此时不会有数据写入数据文件,那么为什么还支持DML?因为此时数据的变化都写进了重做日志文件,当表空间或者数据文件结束备份模式时,会触发恢复过程,将涉及该表空间的所有变化数据写入该表空间,提升数据文件头的SCN,使得控制文件和数据文件中记录的SCN一致。热备必然处于归档模式,此时只需要备份数据文件,而对于控制文件,和重做日志归档日志可以考虑不备份,因为这些可以通过前期的冗余设计来实现。

备份过程(备份USERS表空间为例):

将表空间至于备份模式,使用alter tablespace users begin backup 指令;

使用操作系统工具将表空间对应的数据文件备份到指定目录;

结束备份模式,使用alter tablespace users end backup 指令;

归档当前日志,备份归档日志。

例子:

select * from  dba_data_files;

alter tablespace users begin backup;

select * from v$backup;

cp /u01/app/oracle/oradata/PROD/user*.*  /u01/backup

alter tablespace  users  end  backup;

select   *   from   v$backup;

alter system archive log current;

select   *   from   v$datafile ; 

检查点一致且已经提升。

2.2 手工备份和恢复的命令

    1)备份和还原都使用OS命令,如linux中的cp

    2)恢复用sqlplus命令:recover(恢复)

2.3 备份前要对数据库进行检查:

检查有关的视图:(防止丢东西)

v$datafile\v$datafile_header\v$controlfile\v$logfile\dba_tablespaces\dba_data_files

   

 1) 检查需要备份的数据文件 

SQL>select name from v$datafile;      

SQL>select file_id,file_name,tablespace_name from dba_data_files;   

 2)检查要备份的控制文件

SQL>select name from v$controlfile;

 3)在线redo日志不需要做备份

2.4 手工非一致性备份(热备份)的执行方式及热备份的监控(v$backup)

 这个已经很少使用了。

注意:对只读的表空间不能做热备份,临时表空间不需要备份,特别强调:NOARCHIVE模式下不支持手工热备(考点)。

 1)在备份前要进入backupmode(backup模式),

    即:执行begin backup (在数据文件上生成检查点,写入scn ,将来恢复的时候以此scn为起点)

          

SQL>alter database begin backup;    //对整个库做热备份   

SQL>alter database end backup;

                        

SQL>alter tablespace users begin backup; //对表空间做备份

SQL>alter tablespace users end backup;

 2)备份期间利用v$backup 监控

       

例;

SQL>altertablespace test begin backup; 

SQL>select file#,checkpoint_change# from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#

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

         1            2414314

         2            2414314

         3            2414314

         4            2414314

         5            2414314

         6            2430480          //在备份期间 ,scn被冻结,不发生变化。

         7            2414314

SQL> select * from v$backup;

     FILE# STATUS                CHANGE# TIME

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

         1 NOT ACTIVE                  0

         2 NOT ACTIVE                  0

         3 NOT ACTIVE                  0

         4 NOT ACTIVE                  0

         5 NOT ACTIVE                  0

         6 ACTIVE                2430480 2012-07-3011:07:19     

         7 NOT ACTIVE                  0

STATUS 是ACTIVE,表示可以备份相应的数据文件。并且对于其中的数据块DBWN仍然可以刷新。

$cptest01.dbf test01.bak

备份完毕,执行end backup

SQL> altertablespace test end backup;                                                                               

SQL>select * from v$backup;

     FILE# STATUS                CHANGE# TIME

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

         1 NOT ACTIVE                  0

         2 NOT ACTIVE                  0

         3 NOT ACTIVE                  0

         4 NOT ACTIVE                  0

         5 NOT ACTIVE                  0

         6 NOT ACTIVE            2430480 2012-07-30 11:07:19

         7 NOT ACTIVE                  0

如果在end backup之前发生数据库abort,那么可以在下次启动到mount时end backup,从而完成实例恢复。

关于 split block (分裂的块)

我们知道一个Oracle block一般包含多个OSblock,当手工热备时,OS的cp单位不是Oracle block而是OS block,而Oracle的DBWR又可能不时的从内存中刷新Oracle block(脏块)到磁盘上,如此,OS级的拷贝便可能造成:一个Oracle Block是由不同的版本组成,比如未被DBWR刷新Header block 加上另一部分被刷新的foot block,这样cp出来的Oracle blcok就是split block。

数据库的一致性是不允许oracleblock是split的, Oracle采取的办法是:在backup mode后,如果发现首次DBWR要写脏块,则将该块被刷新之前的镜像数据记录到redo buffer,这样,虽然cp后的文件里仍然含有split block,而当需要恢复时,日志会前滚该块的前镜像,以保证所有被恢复的oracle block是一个完整的版本。

这就是我们常常发现在热备时日志文件会急剧增大的原因。

*考点:手工热备不能备份临时表空间,甚至不能将它们置于备份模式。

2.5 dbv检查数据文件是否有坏块

在手工备份前,应该检查datafile 是否有坏块,备份完后对备份也做检查

         

[oracle@timranadmin]$ dbv  //相当于help信息

DBVERIFY:Release 11.1.0.6.0 - Production on Mon Jul 30 11:11:07 2012

Copyright(c) 1982, 2007, Oracle.  All rightsreserved.

Keyword     Description                    (Default)

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

FILE        File to Verify                 (NONE)

START       Start Block                    (First Block of File)

END         End Block                      (Last Block of File)

BLOCKSIZE   Logical Block Size             (8192)

LOGFILE     Output Log                     (NONE)

FEEDBACK    Display Progress               (0)

PARFILE     Parameter File                 (NONE)

USERID      Username/Password              (NONE)

SEGMENT_ID  Segment ID (tsn.relfile.block) (NONE)

HIGH_SCN    Highest Block SCN To Verify    (NONE)

            (scn_wrap.scn_base OR scn)           

[oracle@timranadmin]$ 

对某个datafile做坏块检查

[oracle@timranadmin]$ dbv file=/u01/oradata/timran11g/users01.dbf feedback=50

DBVERIFY- 开始验证: FILE = /u01/oradata/timran11g/users01.dbf

.......

DBVERIFY- 验证完成

检查的页总数: 640

处理的页总数 (数据): 107

失败的页总数 (数据): 0

处理的页总数 (索引): 36

失败的页总数 (索引): 0

处理的页总数 (其它): 478

处理的总页数 (段)  : 0

失败的总页数 (段)  : 0

空的页总数: 19

标记为损坏的总页数: 0

流入的页总数: 0

加密的总页数        : 0

最高块 SCN            : 695469 (0.695469) 

热备份的过程中对数据库崩溃的处理方法

热备份的原理

备份控制文件

介质恢复的原理

归档模式下的完全恢复

数据文件在有备份的情况下的恢复

数据文件在无备份的情况下的恢复

系统表空间数据文件损坏的完全恢复

当前UNDO表空间损坏的完全恢复

非当前UNDO表空间损坏的完全恢复

何时使用不完全恢复

不完全恢复的场合

不完全恢复的类型 

所有控制文件丢失的恢复方法

使用备份的控制文件

重建控制文件

注意:对只读的表空间不能做热备份,临时表空间不需要备份,特别强调:NOARCHIVE模式下不支持手工热备(考点)。

猜你喜欢

转载自blog.csdn.net/lihan7/article/details/82150597
今日推荐