Oracle 11 gの3つのバックアップ方法


一、ファイルの表示


データ・ファイル、制御ファイル、ログ・ファイルは次のように表示されます.
select file#, status, enabled, name from V$datafile;--データファイルの表示
select * from v$controlfile;--コントロールファイル
select * from v$logfile;--ログファイル

二、三種類のバックアップ方法


1、インポート/エクスポート(import/export)
1)サポートタイプ:table,user,tablespace,full database
2)例
エクスポート次のエラーが発生した場合は、ユーザーに権限を付与する必要があります.
EXP-00023: must be a DBA to do Full Database or Tablespace export
 ( )
SYS@orcl> create user exp identified by oracle;

User created.

SYS@orcl> grant exp_full_database, imp_full_database to exp;

Grant succeeded.

SYS@orcl> conn exp/oracle
Connected.
EXP@orcl> select * from user_role_privs;

USERNAME		       GRANTED_ROLE		      ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
EXP			       EXP_FULL_DATABASE	      NO  YES NO
EXP			       IMP_FULL_DATABASE	      NO  YES NO
 orcl ( )
[oracle@ocp tmp]$ exp exp/oracle@orcl file=/tmp/export.dmp full=y;
 exp sys 
[oracle@ocp tmp]$ exp exp/oracle@orcl file=/tmp/export_sys_exp_table.dmp owner=exp,sys
 scott.emp 
[oracle@ocp tmp]$ exp scott/oracle@orcl file=/tmp/export_scott_emp.dmp tables=emp;

Export: Release 11.2.0.4.0 - Production on Mon Feb 25 19:41:20 2019

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

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
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set

About to export specified tables via Conventional Path ...
. . exporting table                            EMP         14 rows exported
Export terminated successfully without warnings.
  • 導入
  • empテーブルを削除し、empテーブルをインポートし、成功したかどうかを確認します.
    SYS@orcl> drop table scott.emp;
    
    Table dropped.
    
    SYS@orcl> select * from scott.emp;
    select * from scott.emp
                        *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    [oracle@ocp tmp]$ imp scott/oracle@orcl file=/tmp/export_scott_emp.dmp tables=emp;
    
    Import: Release 11.2.0.4.0 - Production on Mon Feb 25 19:43:51 2019
    
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    
    
    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
    
    Export file created by EXPORT:V11.02.00 via conventional path
    import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
    . importing SCOTT's objects into SCOTT
    . importing SCOTT's objects into SCOTT
    . . importing table                          "EMP"         14 rows imported
    About to enable constraints...
    Import terminated successfully without warnings.
    SYS@orcl> select * from scott.emp;
    
         EMPNO ENAME      JOB	       MGR HIREDATE	       SAL	 COMM
    ---------- ---------- --------- ---------- ------------ ---------- ----------
        DEPTNO
    ----------
          7369 SMITH      CLERK	      7902 17-DEC-80	       800
    ……
    

    全ライブラリのインポート
    [oracle@ocp tmp]$ imp exp/oracle@orcl file=/tmp/export_sys_exp_table.dmp full=y
    expとsysをインポートするテーブル
    [oracle@ocp tmp]$ exp exp/oracle@orcl file=/tmp/export_sys_exp_table.dmp owner=exp,sys
    2、コールドバックアップ(非アーカイブモード)
    コールド・バックアップ・データベースは、データベースが閉じた後にバックアップされるすべてのキー・ファイルにデータ・ファイル、制御ファイル、オンラインREDO LOGファイルを含め、別の場所にコピーします.また、冷たいバックアップには、パラメータファイルとパスワードファイルのバックアップも含まれますが、必要に応じて選択できます.コールド・バックアップは、実際には物理バックアップであり、データベースの物理ファイルをバックアップするプロセスです.
    1)メリット:
    <1>ファイルをコピーするだけで、非常に高速なバックアップ方法です.
    <2>ファイルを再コピーするだけで、ある時点に復元できます.
    <3>データベースアーカイブのモードと組み合わせることで、データベースを良好にリカバリできます.
    <4>メンテナンス量は少ないが、安全性は相対的に高い.
    2)欠点:
    <1>データベースのコールド・バックアップ中にデータベースが停止している必要があります.
    <2>冷たいバックアップを単独で使用する場合、データベースはある時点でのリカバリのみを完了します.
    <3>ディスク容量が限られている場合、コールド・バックアップはバックアップ・データをテープなどの他の外部ストレージにコピーするだけで、速度が遅くなります.
    <4>コールド・バックアップは、テーブルまたはユーザー別にリカバリできません.
     
    3)バックアップの具体的な手順は次のとおりです.
    (手順:shutdownデータベース--->copyファイル--->startデータベース)
    DBAユーザーまたは特権ユーザーでログインし、ダイナミックパフォーマンスビューv$datafile、v$controlfileをクエリーして、データベースのデータファイルと制御ファイルをそれぞれリストできます.
     
    SYS@orcl> shutdown immediate;
     ( 、 、 )
    [oracle@ocp orcl]$ cp *.log /tmp/leng
    [oracle@ocp orcl]$ cp *.ctl /tmp/leng
    [oracle@ocp orcl]$ cp *.dbf /tmp/leng
     
    SYS@orcl> startup; 
    

    3、ホットバックアップ(アーカイブモード)
    ホットバックアップは、データベースが実行されている場合にarchive log mode方式でデータベースをバックアップする方法です.だから、昨日の夜の冷たいバックアップと今日のホットバックアップファイルがあれば、問題が発生したときに、これらの資料を利用してより多くの情報を復元することができます.ホットバックアップでは、archivelog方式でデータベースを操作し、大量のアーカイブスペースを必要とします.データベースがarchivelog状態で実行されると、バックアップができます.ホット・バックアップのコマンド・ファイルは、次の3つのセクションで構成されています.
    1)データファイル1つの表領域1つの表領域のバックアップ. 
    前期準備
     ( )
    SYS@orcl> alter database archivelog;
     
    SYS@orcl> archive log list;
    Database log mode	       Archive Mode
    Automatic archival	       Enabled
    Archive destination	       USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     4
    Next log sequence to archive   6
    Current log sequence	       6
     
    SYS@orcl> select file_name from dba_data_files where tablespace_name='USERS';
    
    FILE_NAME
    --------------------------------------------------------------------------------
    /u01/app/oracle/oradata/orcl/users01.dbf
    

    (1)表領域をバックアップ状態とする
    SYS@orcl> alter tablespace users begin backup;
    
    Tablespace altered.
    

    (2)表領域をバックアップするデータファイル
    SYS@orcl> ho cp /u01/app/oracle/oradata/orcl/users01.dbf /tmp/re

    (3)表領域を正常状態に戻す
    SYS@orcl> alter tablespace users end backup;
    
    Tablespace altered.
    

    2)アーカイブログファイルのバックアップ
    (1)一時的にアーカイブプロセスを停止する
    SYS@orcl> alter tablespace users offline;
    
    Tablespace altered.
    
     
    SYS@orcl> select tablespace_name,online_status from dba_data_files;
    
    TABLESPACE_NAME 	       ONLINE_
    ------------------------------ -------
    USERS			       OFFLINE
    UNDOTBS1		       ONLINE
    SYSAUX			       ONLINE
    SYSTEM			       SYSTEM
    EXAMPLE 		       ONLINE
    

    (2)archive rede logターゲットディレクトリにあるファイルをlogする
    SYS@orcl> select name from v$archived_log;
    NAME
    --------------------------------------------------------------------------------
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_17/o1_mf_1_16_g6jxqfmf_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_17/o1_mf_1_12_g6jxpqns_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_17/o1_mf_1_17_g6jy4of3_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_18_g6vg50qj_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_19_g6vn2tvh_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_22_g6votpnf_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_25_g6vozdsw_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_28_g6vpt1g5_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_26_g6vp69m4_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_23_g6voz0rj_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_21_g6votlt6_.arc
    
    NAME
    --------------------------------------------------------------------------------
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_24_g6voz6rk_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_29_g6vpw3k8_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_20_g6vosr3g_.arc
    /u01/app/oracle/oradata/orcl/redo01.log
    /u01/app/oracle/oradata/orcl/redo11.log
    /u01/app/oracle/oradata/orcl/redo02.log
    /u01/app/oracle/oradata/orcl/redo22.log
    /u01/app/oracle/oradata/orcl/redo03.log
    /u01/app/oracle/oradata/orcl/redo33.log
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_28_g6vy110v_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_29_g6vy1156_.arc
    
    NAME
    --------------------------------------------------------------------------------
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_21/o1_mf_1_30_g6vy119c_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_24/o1_mf_1_2_g75dfbol_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_24/o1_mf_1_1_g75dfbos_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_02_25/o1_mf_1_3_g76zrs0j_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_03_04/o1_mf_1_4_g7svhv8j_.arc
    /u01/app/oracle/orcl_far/ORCL/archivelog/2019_03_04/o1_mf_1_5_g7sx7g17_.arc
    
    28 rows selected.
    

    (3)archiveプロセスの再起動
    SYS@orcl> alter database archivelog;

    (4)アーカイブされたredo logファイルのバックアップ
    SYS@orcl> ho cp /u01/app/oracle/oradata/orcl/*.log /tmp
    
    SYS@orcl> alter tablespace users online;
    
    Tablespace altered.
    
    SYS@orcl> select tablespace_name,online_status from dba_data_files;
    
    TABLESPACE_NAME 	       ONLINE_
    ------------------------------ -------
    USERS			       ONLINE
    UNDOTBS1		       ONLINE
    SYSAUX			       ONLINE
    SYSTEM			       SYSTEM
    EXAMPLE 		       ONLINE
     , 
    SYS@orcl> alter system switch logfile;
    

    3)alter database bachup controlfileコマンドで制御ファイルのホットバックアップをバックアップする
    SYS@orcl> alter database backup controlfile to '/tmp/controlfile';
    	
    Database altered.
    

    メリット:
    (1)表領域またはデータベース・ファイル・レベルでバックアップでき、バックアップ時間が短い. 
    (2)バックアップ時もデータベースは使用可能です.  
    (3)秒レベルのリカバリ(ある時点にリカバリ)が可能である.  
    (4)ほとんどのデータベースエンティティをリカバリできます.
    (5)リカバリは迅速であり、ほとんどの場合、データベースが稼働している間にリカバリが行われます.    
    4)ホット・バックアップの不足点:
    (1)ミスをしてはいけません.そうしないと、結果が深刻になります.
    (2)ホット・バックアップが失敗した場合、結果はポイント・イン・タイム・リカバリには使用できません.
    (3)メンテナンスが難しいため、「失敗に終わる」ことを承知しないように注意しなければならない.
     
    log_archive_start=true--自動アーカイブをオンにします.そうしないと、手動でアーカイブするしかありません.アーカイブをオフにした場合、このパラメータはfalseに設定されます.10 g以降はこのパラメータを廃止し、設定する必要はありません.log_archive_dest=---アーカイブログ格納パスlog_archive_format=「CX%TS%S.ARC」---アーカイブログファイル名フォーマット
    alter system archive log current;アーカイブログの変更