PL SQL之dba和庫表的備份與恢復詳解

2021-09-06 06:42:09 字數 3675 閱讀 3026

------------------------

--資料庫管理員

------------------------

--1、職責

①安裝和公升級oracle資料庫

②建庫、表空間、表、檢視、索引.....

③指定並實施備份與恢復計畫

④資料庫許可權管理、調優、故障排除

⑤對於高階dba,要求能參與專案開發,會編寫sql語句、儲存過程、觸發器、規則、約束、包

--2、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:

system如果正常登入,它其實就是乙個普通的dba使用者

但是如果以as sysdba登入,其結果實際上它是作為sys使用者登入的

--3、管理初始化引數

1、顯示初始化引數 [system/sys 中顯示]

show parameter;

2、如何修改引數

可以到檔案 oracle\oracle11g\admin\orcl\pfile\init.ora 中修改

--------------------------------

--資料庫[表]的邏輯備份與恢復

--------------------------------

匯出具體的分為:到處表、到處方案、到處資料庫三種方式

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

userid:    用於指定執行匯出操作的使用者名稱、口令、連線字串

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

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

full=y:    用於指定執行匯出操作的資料庫

inctype:   用於指定執行匯出操作的增量型別

rows:      用於指定執行匯出操作是否匯出表中的資料

file:      用於指定匯出檔名

--1、匯出表

①匯出自己的表(+資料)

exp userid=使用者名稱/密碼@資料庫例項名 tables=(表名1,表名2...) file=備份路徑

如:exp userid=scott/tiger@orcl tables=(emp) file=d:/emp.dmp

②匯出自己的表結構

exp userid=使用者名稱/密碼@資料庫例項名 tables=(表名1,表名2...) file=備份路徑 rows=n

rows=n: n表示not  不要資料

③匯出其它方案的表(+資料)

如果使用者要匯出其它方案的表,需要具有 dba許可權 或是 exp_full_database 的許可權,比如 system 就可以匯出scott的表

exp userid=使用者名稱/密碼@資料庫例項名 tables=(方案名.表名1,方案名.表名2...) file=備份路徑

如:exp userid=system/manager@orcl tables=(scott.emp) file=d:/emp.dmp

④使用直接匯出方式

exp userid=使用者名稱/密碼@資料庫例項名 tables=(表名1,表名2...) file=備份路徑 direct=y

這種方式比預設的常規方式速度快,當資料量大時,可以使用這種方式

當資料庫的字符集與客戶端字符集 不一致 會報錯

--2、匯入表

①匯入自己的表(+資料)

imp userid=scott/tiger@tangtao tables=(emp) file=d:\aa.dmp

②匯入其他使用者的表(+資料)

要求該使用者具有dba的許可權或是exp_full_database的許可權

imp userid=system/manager@tangtao tables=(emp) file=d:\aa.dmp touser=scott

③匯入表的結構

只匯入表的結構而不匯入資料

imp userid=scott/tiger@tangtao tables=(emp) file=d:\aa.dmp rows=n

--3、匯出方案

①匯出自己的方案

exp userid=使用者名稱/密碼@資料庫例項名 owner=所有者 file=備份路徑

如:exp userid=scott/tiger@orcl owner=scott  file=d:/scott.dmp

②匯出其它方案

如果使用者要匯出其它方案的表,需要具有 dba許可權 或是 exp_full_database 的許可權,比如 system 就可以匯出其它方案

exp userid=使用者名稱/密碼@資料庫例項名 owner=(所有者1,所有者2) file=備份路徑

注意:如果使用者的許可權夠大,則可一次性匯出多個使用者的方案  比如:system

--4、匯入方案

①匯入資料

如果物件(比如表)已經存在可以只匯入表的資料

imp userid=scott/tiger@tangtao tables=(emp) file=d:\aa.dmp ignore=y

②匯入資料庫

在預設情況下,當匯入資料庫時,會匯入所有物件結構和資料

imp userid=system/manager full=y file=d:\xx.dmp

使用PLSQL 對oracle資料庫備份和還原

1.首先使用plsql 登入到你本機上的 oracle,選擇你自己想要備份的資料庫 我這裡選的是 scott 使用者下的 orcl 資料庫 2.登入後進入到下圖,我這裡有這幾張表,我列出了其中部分表的內容 3,接下來就是開始做備份的功能了 3.1 選擇 tools 工具 export user ob...

Mysql資料庫備份 資料庫備份和表備份

mysql中資料備份使用的命令是 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的 工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...

Oracle之建立新庫和備份還原庫

oracle建立乙個新庫要為它準備乙個使用者和表空間。檢視表空間 select username,default tablespace from dba users 步驟如下 1 建立新使用者 create user 使用者名稱 identified by 密碼 2 建立表空間 create tab...