多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 數(shù)據(jù)庫 > 數(shù)據(jù)庫應用 > 幾種backup小結

幾種backup小結

來源:程序員人生   發(fā)布時間:2015-06-25 08:14:46 閱讀次數(shù):4161次
[oracle@localhost ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

下面介紹的是冷備份(完全脫機備份),部份脫機備份,部份聯(lián)機備份,對RMAN和邏輯備份(exp,imp|expdp,impdp)后面的篇幅會觸及。
完全脫機備份:(歸檔和非歸檔都適用,針對全部數(shù)據(jù)庫備份)
這個不用多說了,http://blog.itpub.net/29876893/viewspace⑴607155/這篇說的很清楚
但是這類備份很有很多缺點:
1.要shutdown以后才可以,生產(chǎn)庫是絕對不允許的
2.需要通過操作系統(tǒng)命令拷貝,這個對很大的文件,很影響數(shù)據(jù)庫性能,有時候不是1般的慢!
3.如果數(shù)據(jù)庫的存儲采取ASM,不可以直接拷貝,我們看不到文件系統(tǒng)的分區(qū)。
部份脫機備份:(針對表空間)
我們可以改變表空間的offline,online(需要歸檔
SQL> select username,default_tablespace from dba_users where username='HR';

USERNAME                       DEFAULT_TABLESPACE
------------------------------ ------------------------------
HR                             USERS

SQL> alter tablespace users offline;

表空間已更改。
此時拷貝走users下的數(shù)據(jù)文件就好了。
SQL> select file_id,tablespace_name,online_status from dba_data_files where tablespace_name='USERS';


   FILE_ID TABLESPACE_NAME                ONLINE_
---------- ------------------------------ -------
         4 USERS                          OFFLINE


此時把users online:

SQL> alter tablespace users online;
表空間已更改。
固然你也能夠直接把數(shù)據(jù)文件離線:

SQL> alter database datafile 4 offline;
數(shù)據(jù)庫已更改。
SQL> truncate table tt;
表被截斷。

SQL> insert into tt values(1,dbms_flashback.get_system_change_number);
 已創(chuàng)建 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統(tǒng)已更改。


SQL> insert into tt values(2,dbms_flashback.get_system_change_number);
已創(chuàng)建 1 行。
SQL> commit;
提交完成。
SQL>  alter system switch logfile;
系統(tǒng)已更改。


SQL>  insert into tt values(3,dbms_flashback.get_system_change_number);
已創(chuàng)建 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統(tǒng)已更改。

SQL>  select * from v$log;


    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS          FIRST_CHANGE# FIRST_TIME     NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------- ------------ --------------
         1          1        439   52428800        512          1 YES ACTIVE                 7312260 28⑷月 ⑴5          7312279 28⑷月 ⑴5
         2          1        440   52428800        512          1 NO  CURRENT                7312279 28⑷月 ⑴5       2.8147E+14
         3          1        438   52428800        512          1 YES ACTIVE                 7312248 28⑷月 ⑴5          7312260 28⑷月 ⑴5


此時我們刪除表空間user里的數(shù)據(jù)文件
此時只能啟動到mount.
具體怎樣恢復參考http://blog.itpub.net/29876893/viewspace⑴607155/
可以先不恢復,把表空間離線,打開數(shù)據(jù)庫,后恢復。

該種備份比較好的是不用shutdown備份表空間,但是我們不能離線system,undo,redo,temp表空間,很大的遺憾:

SQL> alter tablespace system offline; 
alter tablespace system offline
*
第 1 行出現(xiàn)毛病:
ORA-01541: 系統(tǒng)表空間沒法脫機; 如有必要請關閉

注意是不能離線當前undo表空間!
SQL> alter tablespace UNDOTBS1 offline;
alter tablespace UNDOTBS1 offline
*
第 1 行出現(xiàn)毛病:
ORA⑶0042: 沒法使還原表空間脫機

如果不是當前使用的undo表空間:
SQL> alter tablespace UNDO_W online;
表空間已更改。

這類方式的缺點還有:
2.需要通過操作系統(tǒng)命令拷貝,這個對很大的文件,很影響數(shù)據(jù)庫性能,有時候不是1般的慢!
3.如果數(shù)據(jù)庫的存儲采取ASM,不可以直接拷貝,我們看不到文件系統(tǒng)的分區(qū)。
部份聯(lián)機備份:這類方式的備份適用于歸檔模式。
oracle做了很大的改進,在聯(lián)機狀態(tài)就能夠備份:
如:
SQL> select * from v$backup;


     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         1 NOT ACTIVE                  0
         2 NOT ACTIVE                  0
         3 NOT ACTIVE                  0
         5 NOT ACTIVE                  0
         6 NOT ACTIVE                  0
         7 NOT ACTIVE                  0
         8 NOT ACTIVE                  0
         9 NOT ACTIVE                  0
        11 NOT ACTIVE                  0
        12 NOT ACTIVE                  0
已選擇10行。

此時這些文件都不是活動狀態(tài)

SQL> alter tablespace CHAO begin backup;
表空間已更改。
SQL> alter tablespace SYSTEM begin backup;
表空間已更改。

SQL> select * from v$backup;


     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         1 ACTIVE                7420181 29⑷月 ⑴5
         2 NOT ACTIVE                  0
         3 NOT ACTIVE                  0
         5 NOT ACTIVE                  0
         6 NOT ACTIVE                  0
         7 ACTIVE                7420021 29⑷月 ⑴5
         8 NOT ACTIVE                  0
         9 NOT ACTIVE                  0
        11 NOT ACTIVE                  0
        12 NOT ACTIVE                  0
已選擇10行。

此時1號和7號文件處于活動的狀態(tài),并且記錄此時SCN,作為下1次恢復的出發(fā)點!
備份就是直接拷走備份的數(shù)據(jù)文件。
關閉數(shù)據(jù)文件7的活動狀態(tài):
SQL> alter tablespace CHAO end backup;
表空間已更改。

SQL> select * from v$backup where file#=7;


     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         7 NOT ACTIVE            7420021 29⑷月 ⑴5

如果要完全備份,這樣操作是否是能把人弄瘋!

SQL> alter database begin backup;
alter database begin backup
*
第 1 行出現(xiàn)毛病:
ORA-01146: 沒法啟動聯(lián)機備份 - 文件 1 已在備份中 ORA-01110:
數(shù)據(jù)文件 1: '/u01/app/oracle/oradata/orcl3939/system01.dbf'
SQL> alter tablespace system end backup;
表空間已更改。
這個地方感覺不是太爽!需要關閉之前的熱狀態(tài)!
SQL> alter database begin backup;
數(shù)據(jù)庫已更改。



SQL> select * from v$backup;


     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         1 ACTIVE                7420464 29⑷月 ⑴5
         2 ACTIVE                7420464 29⑷月 ⑴5
         3 ACTIVE                7420464 29⑷月 ⑴5
         5 ACTIVE                7420464 29⑷月 ⑴5
         6 ACTIVE                7420464 29⑷月 ⑴5
         7 ACTIVE                7420464 29⑷月 ⑴5
         8 ACTIVE                7420464 29⑷月 ⑴5
         9 ACTIVE                7420464 29⑷月 ⑴5
        11 ACTIVE                7420464 29⑷月 ⑴5
        12 ACTIVE                7420464 29⑷月 ⑴5
已選擇10行。
 
結束備份的話直接alter  database end backup;
這類備份的缺點:
1.會產(chǎn)生大量的redo log,是甚么緣由呢?
SQL> show parameter db_block_size
db_block_size                        integer     8192

[oracle@localhost ~]$ dumpe2fs /dev/sda1 
bash: dumpe2fs: command not found
[oracle@localhost ~]$ su - root
口令:
[root@localhost ~]# dumpe2fs /dev/sda1  
Block size:               1024

SQL> select 8*1024/1024 from dual;

8*1024/1024
-----------
          8
8個操作系統(tǒng)塊構成了1個數(shù)據(jù)塊:









此時用os命令拷貝這個塊,讀取是依照os塊讀取,但是此時oracle1個事務正在修改這個塊。終究 我們恢復時,oracle辨認不了這個塊  !
oracle為了解決這個問題,只要在熱備份狀態(tài)下的塊,操作這個數(shù)據(jù)塊都會以日志方式記錄下來,所以操作1個塊會多8k日志量。

大概簡述摹擬這個進程:
select  * from v$statname where name like '%redo%';統(tǒng)計了很多關于redo的信息,里面有redo size.
SQL> select * from v$sesstat where sid=159;
SQL> select * from v$sesstat where statistic#=169 and sid=159;

可以插入1條數(shù)據(jù),然后看產(chǎn)生多少日志(大概估計)。
然后履行表空間熱備份下:
看下日志量
然后插入相同數(shù)據(jù),查看日志量
感興趣可以自行摹擬。

生活不易,碼農辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕一区二区三区乱码 | jizzxxxx18中国| 欧美性精品 | 日本天堂视频 | 欧美丝袜高跟鞋一区二区 | 一级秋霞理论 | 亚洲国产视频在线观看 | 一级毛片视频免费 | 日韩欧美视频在线一区二区 | 国产永久在线 | 亚洲欧美一区二区三区综合 | 日本成人性视频 | 波多野结衣在线观看视频 | 日本一级α一片免费视频 | h视频在线观看免费网站 | 午夜精品久久久久久久久 | 婷婷在线成人免费观看搜索 | 福利久久 | 精品色图 | 成人精品视频在线观看 | 印度free xxxx性农村 | 成人v| 国产欧美日韩一区二区三区视频 | 精品久久中文字幕有码 | 日本艳鉧动漫1~6中文在线观看 | 久久天天躁狠狠躁夜夜躁 | 2020久久精品亚洲热综合 | 国产毛片在线看 | 国内精品一区视频在线播放 | 97欧美在线看欧美视频免费 | 91国内精品久久久久怡红院 | 久久国产欧美日韩精品免费 | 嫩草影院在线观看未满十八 | 国产免费一区二区三区在线 | 欧美性精品hdvideosex | 中国美女牲交一级毛片 | 亚洲一区二区三区精品影院 | 日韩欧美伊人久久大香线蕉 | 国产综合久久久久 | freexxx性欧美vide0高清 | 名优写真一区二区在线 |