數據庫-表空間、數據庫備份(實施)


近來第一次寫了實施文檔,也有一些收獲,及時記錄下來,以備后用。

數據庫表空間

ORACLE數據庫被划分成稱作為表空間的邏輯區域——形成ORACLE數據庫的邏輯結構。

一個ORACLE數據庫能夠有一個或多個表空間,

而一個表空間則對應着一個或多個物理的數據庫文件。

表空間是ORACLE數據庫恢復的最小單位,容納着許多數據庫實體,如表、視圖、索引、聚簇、回退段和臨時段等。

每個ORACLE數據庫均有SYSTEM表空間,這是數據庫創建時自動創建的。

SYSTEM表空間必須總要保持聯機,因為其包含着數據庫運行所要求的基本信息(關於整個數據庫的數據字典、聯機求助機制、所有回退段、臨時段和自舉段、所有的用戶數據庫實體、其它ORACLE軟件產品要求的表)。

一個小型應用的ORACLE數據庫通常僅包括SYSTEM表空間,然而一個稍大型應用的ORACLE數據庫采用多個表空間會對數據庫的使用帶來更大的方便。

例如:便於理解,把oracle數據庫看作一個實在房間,表空間可以看作這個房間的空間,是可以自由分配,在這空間里面可以堆放多個箱子(箱子可以看作數據庫文件),箱子里面再裝物件(物件看作表)。用戶指定表空間也就是你希望把屬於這個用戶的表放在那個房間(表空間)里面。

表空間是一個虛擬的概念可以無限大,但是需要由數據文件作為載體。

1)查詢當前用戶表空間

select default_tablespace from dba_users where username='LHMZ_OA';

 

 

其中LHMZ_OA是我當前登錄用戶的用戶名

2) 查詢所有表空間

select * from dba_tablespaces;

 

 

另一種方法也可查詢到

select * from v$tablespace;

 

 

3)查詢表空間下的用戶

select distinct s.owner from dba_segments s where s.tablespace_name ='LHMZ_OA';

其中LHMZ_OA是表空間名

 

 

 

數據庫備份

1)       查看管理理員目錄

select * from dba_directories;

 

 

2)       創建邏輯目錄(使用system創建)

create directory dir_work as 'c:\test';

3)       按用戶導出

例子:

expdp lhmz_oa/000000@platformdb schemas=lhmz_oa directory=dir_work dumpfile=lhmz_oa.dmp logfile=lhmz_oa.log

 

 

 

4)       按用戶導入

例子:


impdp system/000000@platformdb directory=DIR_ZDL REMAP_SCHEMA=projectmanage:relief REMAP_TABLESPACE=tbs_project:RELIEF dumpfile=RELIEF.DMP

 

 

備注:exp和imp是客戶端工具程序,既可以在客戶端使用也可以在服務端使用。

Expdp和impdp是服務器端的工具程序,所以只能在oracle的服務端使用,不能在客戶端使用

這兩對對稱使用,即誰導出的就用對應的導入。

 


免責聲明!

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



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