㈠ oracle 10g數據備份與恢復
如果你用的工具是pl/sql developer的話,點擊 tools->export user objects 就可以導出當前用戶的所有對象,導出的格式是.sql的。要導入可以點擊tools->import tables->sql inserts,就可以導入。
用exp/imp文件是這樣寫的
exp user/password@databasename tables=(tablename) [此處如果不寫tables是導出所有數據]
file='你要導出的位置如:d:\exp.dmp'。用exp/imp的時候要注意,高版本的sqlplus不可以導出低版本的,如10g的不可以導出9i的資料庫對象。
㈡ 如何利用腳本文件來管理Oracle資料庫
第一步:創建腳本文件。
在Oracle資料庫重,創建腳本文件的方式很多。如可以直接在記事本中創建腳本文件,也可以通過SQL*Plus工具直接創建。不過,筆者的意見是,在SQL*Plus中直接創建腳本文件的話,比較麻煩。這主要是因為在SQL*Plus工具中,命令編輯能力非常有效。如不能夠使用鍵盤上的箭頭鍵定位輸入的位置,不能夠使用DEL鍵刪除輸入的內容等等。而且閱讀起來也比較困難。
第二步:編輯腳本文件。
在我們使用腳本文件的時候,往往需要根據實際情況,對其進行稍微的調整。對腳本文件進行編輯,也有兩種方式。一是通過SQL*Plus工具,二是第三方獨立的腳本編輯軟體。
對於一些調整不大的腳本文件,我們可以直接利用SQL*Plus工具打開,然後進行編輯。但是,對於需要進行大量修改的腳本文件,則筆者建議資料庫管理員採用第三方獨立的腳本編輯軟體。原因很簡單,就如同上面所說的那樣,SQL*Plus工具腳本命令編輯功能非常的薄弱。若採用這個工具對現成的腳本語句進行編輯的話,則可能工作量還是重新編寫一個來的輕。所以,資料庫管理員要根據實際的情況,選擇合適的腳本編輯工具。
另外,在編輯的過程中,要注意語法的正確性。特別是要注意,不能夠改變其固有的格式。如不要不小心刪除了最後的「/」符號結束。
第三步:運行腳本文件。
腳本建立好之後,如何運行腳本呢?在Oracle系統中也提供了許多方式。資料庫管理員可以根據自己的使用習慣來進行選擇。
一是通過Start語句來調用腳本文件。其語法是Start Filemame[相關參數]。在運行這個命令的時候,需要注意幾個問題。
1、腳本文件的擴展名問題。上面在建立腳本文件的時候,筆者就跳掉過,為了在SQL*Plus等工具中可以直接調用這個腳本文件,最好能夠把擴展名改為Oracle資料庫能夠接受的擴展名。默認情況下,擴展名設置為SQL即可。
2、腳本文件的路徑問題。若用戶在利用Start調用腳本文件的時候,若沒有清楚的指名保存路徑的話,則SQL*Plus工具會現在當前的目錄中進行查找;若沒有的話,則會根據環境變數中確定的目錄中進行查找。而一般情況下,我們把腳本文件都會獨立存放。所以,在使用Start命令執行腳本文件的時候,最好能夠註明腳本文件的絕對路徑名。防止語句執行錯誤。
另外@命令也可以起到跟Start命令一樣的作用。只不過,前者的使用范圍更廣一點。@命令可以脫離SQL*PLUS工具而使用。如可以直接在微軟操作系統中的命令行方式下使用。當然,這操作系統要事先部署了Oracle資料庫環境。
二是可以直接利用SQL*Plus工具打開文本文件,執行腳本語句。然後點擊「文件」、「執行」命令執行這個腳本語句。這種方式的好處就是,系統會主動提示用戶需要輸入的參數。
總之,腳本文件是我們管理Oracle資料庫的一大利器。我們好好利用腳本文件,可以提高Oracle資料庫的管理效率。畢竟,每次在需要的時候,都去編寫命令是一件很麻煩的事情。而腳本文件的最大好處,就是可以提高語句的重復利用,節省我們編寫語句、調試測試的時間。
㈢ ORACLE資料庫結構的簡介
關於ORACLE資料庫結構的簡介
ORACLE的資料庫結構大家都了解嗎?如果不了解,下面我為大家整理了關於ORACLE資料庫結構簡介的文章,希望能為你提供幫助:
一、物理結構:
1、數據文件:ORACLE資料庫包含若干數據文件,數據文件存儲資料庫數據,包括表、索引等等。數據文件的幾個特點:
1)一個數據文件只允許分配給一個資料庫
2)數據文件可設置為自動擴展
3)一個或多個數據文件構成表空間
在進行資料庫操作的時候,資料庫先從內存尋找要操作的數據,如果沒有找到的話,再從數據文件取出數據放在內存中,然後才對內存中的數據進行相關的操作。操作完的數據並沒有立即寫到數據文件中(這樣減少了磁碟的IO),而是放在內存中,然後由DBWn進程決定何時批量寫入數據文件。
2、控制文件:每一個資料庫都有一個或多個控制文件,控制文件包含了資料庫的物理結構,包括:
1)資料庫名
2)數據文件名及位置
3)重做日誌文件名及位置
4)資料庫的建立時間等等
一般一個資料庫都有若干個控制文件鏡像。資料庫在打開的時候(ALTER
DATABASE OPEN),會讀取控制文件中的信息來打開資料庫。當資料庫的物理結構發生變化的時候,比如增加一個數據文件、一組重做日誌等等,控制文件都會自動地做相應的修改。在資料庫物理結構發生變化後,最好重新備份一下控制文件,用於資料庫恢復。
3、重做日誌文件:重做日誌中記錄了數據的變化。一般一個資料庫都會有兩到三組重做日誌文件。同一日誌組的鏡像最好分布於不同的磁碟上。
4、歸檔日誌:當資料庫啟動歸檔的時候,重做日誌會被自動歸檔到指定的位置。
5、初始化參數文件:包含了資料庫啟動時的配置信息
6、警告和跟蹤日誌文件
1)跟蹤文件:每一個後台進程都有一個單獨的'跟蹤文件,比如當系統發現某一個進程有問題的時候,相關的信息就會寫到相應的跟蹤文件中。可以從資料庫的跟蹤文件來發現和調試資料庫的錯誤。
2)警告文件,也叫警告日誌。是一個特別的跟蹤文件,它記錄著資料庫啟動、運行中的相關信息,它是按時間順序進行記錄的。
7、備份文件
二、邏輯結構
1、表空間:相關邏輯對象的集合。在oracle10g中,在創建資料庫的時候就自動創建了SYSTEM和SYSAUX表空間。
2、數據塊:數據存儲在數據塊中,一個數據塊的大小(DB_BLOCK_SIZE)由操作系統塊來決定。可以指定5種,分別為2K、4K、8K、16K、32K。
3、區:一系列連續的數據塊組成區,區存儲特定類型的數據,比如索引,表等等。
4、段:由一系列區組成段。
1)數據段:對於每一個非聚集表有一數據段,表的所有數據存放在該段。每一聚集有一個數據段,聚集中每一個表的數據存儲在該段中。分區表中的每一個分區有一個數據段,分區中的數據存儲在該段中。
2)索引段:每一個索引有一索引段,存儲索引數據。分區索引中的每一分區有一個索引段。
3)回滾段:用於臨時存儲要撤消的信息,這些信息用於生成讀一致性資料庫信息,在資料庫恢復時使用,回滾未提交的事務。系統回滾段用於處理系統事務,不建議用戶使用系統回滾段來做其它操作。
4)臨時段:當一個SQL語句需要臨時工作區時,由ORACLE建立臨時段。當語句執行完畢,臨時段的區退回給系統。
;㈣ 如何清空oracle資料庫所有表
||創建個存儲過程來執行啦
在plsql中把以下代碼復制粘貼,並運行
createorreplacePROCEDURESP_DROPTABLE
(v_begintimeinvarchar2,
v_endtimeinvarchar2)
as
v_tablenamevarchar2(256);
cursorcur_tablenameis
selectobject_namefromuser_objectswhereobject_type='TABLE'andto_char(CREATED,'yyyy-mm-dd')
betweenv_begintime
andv_endtimeorderbyCREATEDdesc;
begin
opencur_tablename;
loop
fetchcur_tablenameintov_tablename;
exitwhencur_tablename%notfound;
executeimmediate'droptable'||v_tablename||'';
endloop;
closecur_tablename;
endsp_droptable;
然後,另開一個sql窗口,執行
begin
SP_DROPTABLE('1900-01-01','2013-12-31');
end;
如有問題,請查看瀏覽器右上角處
㈤ oracle如何將表的歷史數據歸檔
歸檔日誌(ArchiveLog)是非活動的重做日誌備份.通過使用歸檔日誌,可以保留所有重做歷史記錄,當資料庫處於ARCHIVELOG模式並進行日誌切換式,後台進程ARCH會將重做日誌的內容保存到歸檔日誌中.當資料庫出現介質失敗時,使用數據文件備份,歸檔日誌和重做日誌可以完全恢復資料庫.
日誌操作模式:ARCHIVELOGNOARCHIVELOG
1,改變日誌操作模式:
檢查當前日誌操作模式
SELECTlog_modefromv$database;
關閉資料庫,然後裝載資料庫
SHUTDOWNIMMEDIATE
STARTUPMOUNT
改變日誌操作模式,然後打開資料庫
ALTERDATABASEARCHIVELOG;
ALTERDATABASEOPEN;
2,執行手工歸檔
從oracledatabase10g開始,當將日誌操作模式轉變未ARCHIVELOG模式時,oracle會自動啟動ARCH進程.如果要使用手工歸檔.那麼在改變日誌操作模式時必須使用命令ALTERDATABASEARCHIVELOGMANUAL.
需要注意,使用手工歸檔方式,資料庫管理員必須手工執行歸檔命令.如果沒有執行手工歸檔命令,日誌組的原有內容將不能被覆蓋.ALTERDATABASEARCHIVELOGMANUAL命令是為了與先前的版本兼容而保留的,.將來的oracle版本會淘汰該命令,使用手工歸檔方式是,資料庫管理員可以執行以下命令歸檔重做日誌:
SLTERSYSTEMARCHIVELOGALL;
3,配置歸檔進程
初始化參數LOG_ARCHIVE_MAX_PROCESSES用於指定常式初始啟動的最大歸檔進程個數,當將資料庫轉變為ARCHIVELOG模式時,默認情況下oracle會自動啟動兩個歸檔進程.通過改變初始化參數LOG_ARCHIVE_MAX_PROCESS的值,可以動態地增加或降低歸檔進程的個數:
ALTERSYSTEMSETLOG_ARCHIVE_MAX_PROCESSES=3;
配置歸檔位置和文件格式
當資料庫處於ARCHIVELOG模式時,如果進行日誌切換,後台進程將自動生成歸檔日誌,歸檔日誌的默認位置為%oracle_home%rdbms,在oracledatabase10g中,歸檔日誌的默認文件格式為ARC%S_%R.%T.為了改變歸檔日誌的位置和名稱格式,必須改變相應的初始化參數,
1,初始化參數LOG_ARCHIVE_FORMAT用於指定歸檔日誌的文件名格式,設置該初始化參數時,可以指定以下匹配符:
%s:日誌序列號:
%S:日誌序列號(帶有前導0)
%t:重做線程編號.
%T:重做線程編號(帶有前導0)
%a:活動ID號
%d:資料庫ID號
%rRESETLOGS的ID值.
從10g開始,配置歸檔日誌文件格式時,必須帶有%s,%t和%r匹配符,配置了歸檔文件格式後,必須重啟資料庫.
2,使用LOG_ARCHIVE_DEST配置歸檔位置
如果不使用備用資料庫,只需要將歸檔日誌存放到本地目錄.配置本地歸檔位置可以使用初始化參數LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,其中,第一個參數用於設置第一個歸檔位置,第二個參數用於指定第二個歸檔位置.
ALTERSYSTEMSETlog_archive_dest=』d:demoarchive1』;
ALTERSYSTEMSETlog_archive_plex_dest=』d:demoarchive2』;
3,使用LOG_ARCHIVE_DEST_n配置多個歸檔位置.
初始化參數LOG_ARCHIVE_DEST_n用於指定多個歸檔位置,該參數最多可以指定10個歸檔位置.通過使用初始化參數LOG_ARCHIVE_DEST_n,不僅可以配置本地歸檔位置,還可以配置遠程歸檔位置.
如果既要在主節點上生成歸檔日誌,又要將歸檔日誌傳遞到備用節點,那麼必須使用參數LOG_ARCHIVE_DEST_n.該參數與LOG_ARCHIVE_DEST具有如下區別;
初始化參數LOG_ARCHIVE_DEST_n可以配置本地歸檔位置和遠程歸檔位置,而初始化參數LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST只能配置本地歸檔位置.
初始化參數LOG_ARCHIVE_DEST_n可以配置多達10個歸檔位置,而初始化參數LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST最多隻能配置兩個歸檔位置.
初始化參數LOG_ARCHIVE_DEST_n不能與初始化參數LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同時使用.
因為初始化參數LOG_ARCHIVE_DEST_n不能與初始化參數LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同時使用,所以必須禁用初始化參數LOG_ARCHVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.當使用初始化參數LOG_ARCHIVE_DEST_n配置本地歸檔位置時,需要指定LOCALTION選項.當配置遠程歸檔位置時,需要指定SERVICE選項.
示例如下:
ALTERSYSTEMSETlog_archive_plex_dest=』』;
ALTERSYSTEMSETlog_archive_dest=』』;
ALTERSYSTEMSETlog_archive_dest_1=』location=d:demoarchive1』;
ALTERSYSTEMSETlog_archive_dest_2=』location=d:demoarchive2』;
ALTERSYSTEMSETlog_archive_dest_3=』location=d:demoarchive3』;
ALTERSYSTEMSETlog_archive_dest_4=』service=standby』;
配置遠程歸檔位置時,SERVICE選項需要指定遠程資料庫的網路服務名(在tnsnames.ora文件中配置)
4,使用LOG_ARCHIVE_DEST_n選項
使用初始化參數LOG_ARCHIVE_DEST_n配置歸檔位置時,可以在歸檔位置上指定OPTIONAL或MANDATORY選項.指定MANDATORY選項時,可以設置REOPEN屬性.
OPTIONAL:該選項是默認選項.使用該選項時,無論歸檔是否成功,都可以覆蓋重做日誌.
MANDATORY:強制歸檔.使用該選項時,只有在歸檔成功之後,重做日誌才能被覆蓋.
REOPEN:該屬性用於指定重新歸檔的時間間隔,默認值為300秒,必須跟在MANDATORY後.
例:
Altersystemsetlog_archive_dest_1=』location=d:demoarchive1mandatory』;
Altersystemsetlog_archive_dest_2=』location=d:demoarchive2mandatoryreopen=500』;
Altersystemsetlog_archive_dest_3=』location=d:demoarchive3optional』;
5,控制本地歸檔成功的最小個數.
使用初始化參數LOG_ARCHIVE_MIN_SUCCEED_DEST控制本地歸檔的最小成功個數
Altersystemsetlog_archive_min_succeed_dest=2;
6,使用初始化參數LOG_ARCHIVE_DEST_STATE_n控制歸檔位置的可用性.設置該參數為ENABLE(默認值),表示會激活相應的歸檔位置;設置該參數為DEFER,表示禁用相應歸檔位置.當歸檔日誌所在磁碟損壞或填滿時,DBA需要暫時禁用該歸檔位置.
Altersystemsetlog_archive_dest_state_3=defer;(禁用)
Altersystemsetlog_archive_dest_state_3=enable;(啟用)
顯示歸檔日誌信息
1,使用ARCHIVELOGLIST命令可以顯示日誌操作模式,歸檔位置,自動歸檔機器要歸檔的日誌序列號等信息.
2顯示日誌操作模式
SELECTname,log_modeFROMv$database;
3,顯示歸檔日誌信息.
Colnameformata40
Selectname,swquence#,first_change#FROMv$archived_log;
Name用於表示歸檔日誌文件名,sequence#用於表示歸檔日誌對應的日誌序列號,firs_change#用於標識歸檔日誌的起始SCN值.
4執行介質恢復時,需要使用歸檔日誌文件,此四必須准確定位歸檔日誌的存放位置.通過查詢動態性能視圖v$archive_dest可以取得歸檔日誌所在目錄.
SELECTdestinationFROMv$archivedest;
5,顯示日誌歷史信息
SELECT*FROMv$loghist;
THREAD#用於標識重做線程號,SEQUNCE#用於標識日誌序列號,FIRST_CHANGE#用於標識日誌序列號對應的起始SCN值,FIRST_TIME用於標識起始SCN的發生時間.SWICTH_CHANGE#用於標識日誌切換的SCN值.
6.顯示歸檔進程信息.
進行日誌切換時,ARCH進程會自動將重做日誌內容復制到歸檔日誌中,為了加快歸檔速度,應該啟用多個ARCH進程.通過查詢動態性能視圖V$ARCHIVE_PROCESSES可以顯示所有歸檔進程的信息!
SELECT*FROMv$archive_processes;
Porcess用於標識ARCH進程的編號,status用於標識ARCH進程的狀態(ACTIVE:活動,STOPPED:未啟動),log_sequence用於標識正在進行歸檔的日誌序列號,state用於標識ARCH進程的工作狀態