oracle的備份與恢復


轉自:https://blog.csdn.net/kepa520/article/details/78958029

dba的職責:

 

 

1、安裝和升級oracle數據庫

2、建庫、表空間、表、視圖、索引...

3、制定並實施備份與恢復計划

4、數據庫權限管理,調優,故障排除

5、對於高級dba,要求能參與項目開發,會編寫sql語句、存儲過程、觸發器、規則、約束、包

 

管理數據庫的用戶主要是sys和system

他們的區別主要是:

1、最重要的區別,存儲的數據重要性不同。

sys:所有oracle的數據字典的基表和視圖都存放在sys用戶中,這些基表和視圖對於oracle的運行是至關重要的,由數據庫自己維護,任何用戶都不能手動更改。sys用戶擁有dba(角色),sysdba(系統權限),sysoper(系統權限)角色或權限,是oracle權限最高的用戶。

system:用於存放次一級的內部數據,如oracle的一些特性或工具的管理信息。system用戶擁有dba,sysdba系統權限。

2、其次的區別,權限的不同。

sys用戶必需以as sysdba或as sysoper形式登錄,不能以normal方式登錄數據庫。

system如果正常登錄,它其實就是一個普通的dba用戶,但是如果以as sysdba登錄,其結果實際上它是作為sys用戶登錄的。

 

sysdba和sysoper權限區別

sysdba和sysoper具體的權限可以看下表:

系統權限

sysdba

sysoper

區別

startup(啟動數據庫)

startup

shutdown(關閉數據庫)

shutdown

alter database open/mount/backup

alter database open/mount/backup

改變字符集

none

create database(創建數據庫)

none不能創建數據庫

drop database(刪除數據庫)

none

create spfile

create spfile

alter database archivelog(歸檔日志)

alter database archivelog

alter database recover(恢復數據庫)

只能完全恢復,不能執行不完全恢復

擁有restricted session(會話限制)

擁有restricted session權限

可以讓用戶作為sys用戶連接

可以進行一些基本的操作,但不能查看用戶數據

登錄之后用戶是sys

登錄之后用戶是public

 

dba權限的用戶

dba用戶是指具有dba角色的數據庫用戶。特權用戶可以執行啟動實例,關閉實例等特殊操作,而dba用戶只有啟動數據庫后才能執行各種管理工作。

 

管理初始化參數

     初始化參數用於設置實例或是數據庫的特征,oracle11g提供了300多個初始化參數,並且每個初始化參數都有默認值。

 

顯示初始化參數命令

show parameter

 

如何修改參數

需要說明的如果你希望修改這些初始化的參數,可以到文件:

盤符:\oracle目錄\admin\數據庫實例\pfile\init.ora文件中去修改。

 

 

數據庫(表)的邏輯備份與恢復

邏輯備份是指使用工具export將數據對象的結構和數據導出到文件的過程;

邏輯恢復是指當數據庫對象被誤操作而損壞后使用工具import利用備份的文件把數據對象導入到數據庫的過程。

物理備份既可在數據庫open的狀態下進行也可在關閉數據庫后進行;

但是邏輯備份和恢復只能在open的狀態下進行。

 

導出

導出具體的分為:導出表、導出方案、導出數據庫三種方式。

導出使用exp命令來完成的,該命令常用的選項有:

userid:用於指定執行導出操作的用戶名、口令、連接字符串;

tables:用於指定執行導出操作的表;

owner:用於指定執行導出操作的方案;

full=y:用於指定執行導出操作的數據庫;

inctype:用於指定執行導出操作的增量類型;

rows:用於指定執行導出操作是否要導出表中的數據;

file:用於指定導出文件名。

 

導出表

1、導出自己的表

exp userid=用戶名/密碼@數據庫實例名 tables=(表名1,表名2,..) file=備份路徑

例:exp userid=scott/tiger@orcl tables=(emp,dept) file=d:/scott_emp_dept.dmp

 

2、導出其它方案的表

如果用戶要導出其它方案的表,則需要DBA的權限或是exp_full_database的權限,比如system就可以導出scott的表

exp useris=用戶名/密碼@數據庫實例名 tables=(方案名.表名1,方案名.表名2,..) file=備份路徑

例:exp userid=system/orcl@orcl tables=(scott.emp,scott.dept) file=d:/scott_emp_

dept2.dmp

 

特別說明:備份文件的后綴名一般是.dmp,但是這不是必須的。

 

3、導出表的結構

exp userid=用戶名/密碼@數據庫實例名 tables(表名1,表名2,..) file=備份路徑 rows=n

例:exp userid=system/orcl@orcl tables(scott.emp,scott.dept) file=d:/scott_em

p_dept.demp rows=n

4、使用直接導出方式

exp userid=用戶名/密碼@數據庫實例名 tables(表名1,表名2,..) file=備份路徑 direct=y

例:exp userid=system/orcl@orcl tables(scott.emp,scott.dept) file=d:/scott_em

p_dept.demp direct=y

這種方式比默認的常規方式速度要快,當數據量大時,可以考慮使用這樣的方法。

這時需要數據庫的字符集要與客戶端字符集完全一致,否則會報錯。

 

導出方案

導出方案是指使用export工具導出一個方案或是多個方案中的所有對象(表、索引、約束..)和數據,並存放到文件中。

1、導出自己的方案

exp 用戶名/密碼@數據庫實例名 owner=所有者 file=備份路徑

例:exp scott/tiger@orcl owner=scott file=d:/scott_owner.dmp

 

2、導出其它方案

如果用戶要導出其它方案,則需要dba的權限或者exp_full_database的權限。例如system用戶就可以導出任何方案

exp 用戶名/密碼@數據庫實例名 owner=(所有者1,所有者2,..) file=備份路徑

例:exp system/orcl@orcl owner=scott,system file=d:/system_scott_owner.dmp

 

特別注意:如果用戶的權限夠大,則可一次性導出多外用戶的方案。比如system。

 

導出完整數據庫

需要dba的權限或者exp_full_database的權限。

exp 用戶名/密碼@數據庫實例名 full=y file=備份路徑

例:exp system/orcl@orcl full=y file=d:/orcl_full.dmp

 

 

導入表

導入自身表

imp 用戶名/密碼@數據庫實例名 file=備份路徑 tables=(表名1,表名2,..)

例:imp scott/tiger@orcl file=d:/emp_dept.dmp

特別注意:如果目的地有相同的表,則導入不成功。

 

導入其它方案的表

需要有dba權限或者imp_full_database的權限。

imp 用戶名/密碼@數據庫實例名 file=備份路徑 tables=(表名1,表名2,..) fromuser=方案名 touser=system

例:imp system/orcl@orcl file=d:/scott_emp_dept.demp tables=emp,dept fromuser=scott touser=system

注意:提示成功,但警告,表示此對象有scott導出,而不是當前用戶。

 

導入方案

導入自身方案

imp 用戶名/密碼@數據庫實例名 file=備份路徑

例:imp scott/tiger@orcl file=scott_owner.dmp

 

導入其它方案

需要有dba權限或者imp_full_database權限

imp 用戶名/密碼@數據庫實例名 file=備份路徑 fromuser=方案名 touser=system

例:imp system/orcl@orcl file=scott.dmp fromuser=scott touser=system

 

 

導入完整數據庫

需要有dba權限或者imp_full_database權限

imp 用戶名/密碼@數據庫實例名 file=備份路徑 full=y

例:imp system/orcl@orcl file=orcl_full.dmp full=y

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM