oracle數據庫管理-數據庫用戶及備份和導入

    每個oracle數據庫應該至少有一名數據庫管理員(dba),對於一個小的數據庫,一個dba就夠了,但是對於一個大的數據庫可能需要多個dba分別擔負不同的管理職責
   
(1)數據庫管理員(dba)的職責

     <1安裝和升級oracle的數據庫
     <2建庫,表空間,表,視圖,索引
     <3制定並實施備份與恢復計劃
     <4數據庫權限管理,調優,故障排除
     <5對於高級dba,要求能擦怒項目開發,會編寫sql語句,存儲過程,觸發器,規則,約束,包。

 

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

       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用戶登錄的,從登錄信息裏面我們可以看出來

 

(3)三種權限的大小一般而言sysdba>sysoper>dba

 

(4) dba權限的用戶

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

 (5)管理初始化參數

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

        顯示初始化參數

        <1show parameter命令

        需要說明的是如果你希望修改這些初始化的參數,可以到文件安裝路徑XXXXX\pfile\init.ora文件中去修改

 (6)邏輯備份與物理備份

       邏輯備份是指使用工具export將數據的結構和數據導出到文件的過程,邏輯恢復是指當數據庫對象被誤操作 而損壞後使用工具import利用備份文件把數據對象導入到數據庫的過程。物理備份即可在數據庫open(正在運行)的狀態下進行也可在關閉數據庫後進行,但是邏輯備份和恢復只能在open的狀態下進行

 (7)導出

       導出具體分爲:導出表,導出方案,導出數據庫三種方式。導出使用exp命令來完成,該命令常用的選項有:

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

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

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

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

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

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

       file:用於指定導出文件名

 關於方案的說明:一個用戶對應一個方案,方案名與用戶名相同,一個方案由表,視圖,索引等等組成。一個數據庫由多個方案組成

需要到dos界面下的oracle的的bin文件夾下敲打以下命令

      <1導出表

       exp userid=scott/tiger@orcl  tables(emp,dept) file=d:\e1.dmp     //後綴名不限

      <2導出其它方案的表

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

         exp userid=system/admin@orcl tables=(scott.emp) file=d:\e2.dmp

        <3導出表的結構

        exp userid=scott/tiger@orcl  tables(emp,dept) file=d:\e1.dmp rows=n

        <4使用直接導出方式

         exp userid=scott/tiger@orcl  tables(emp,dept) file=d:\e1.dmp   direct=y

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

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

         <5導出方案

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

         <6導出自己的方案

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

         <7導出其它方案

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

         exp system/admin@orcl owner=(system,scott) file=d:\system.dmp

         <8導出數據庫

          到處數據庫是指利用export導出所有數據庫中的對象及數據,要求該用戶具有dba的權限或exp_full_database的權限,因爲數據量大,所以耗用的時間會比較長

          exp userid=system/manager@orcl full=y inctype=complete file=d:\schema.dmp

 

(8)導入

       <1導入自己的表

       imp userid=scott/tiger@orcl tables=(emp) file=d:\xx.emp

      <2導入表到其它用戶

      要求該用戶具有dba的權限或imp_full_database的權限

      導入表的時候被導入的表不能有主外鍵關係

      imp userid=system/admin@orcl tables=(emp) file=d:\xxx.dmp touser=scott

      <3導入表的結構

      只導入表的結構而不導入數據

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

      <4.導入數據

      如果對象(比如表)已經存在可以只導入表的數據

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

      <5導入方案

      導入方案是指使用import工具將文件中的對象和數據導入到一個或多個方案中。如果要導入其它方案,要求改用戶具有dba的權限,或是imp_full_database權限

     <5.1導入自身的方案

      imp userid=scott/tiger file=d:\xxx.dmp

    <5.2導入其它方案

      imp userid=system/admin file=d:\xxx.dmp fromuser=system touser=scott  //這個fromuser指的是導出方案時所使用的用戶名

    <6.導入數據庫

     在默認的情況下,當導入數據庫時,會導入所有對象結構和數據,案例如下:

      imp userid=system/admin full=y  file=d;\xxxx.dmp

 

(9)刪除某個用戶下面的所有表

drop user 用戶名 cascade

這樣該用戶包括該用戶下的表,試圖,同義詞,過程,索引,及相關的一切就都不見了。
然後再新建一個同名用戶,賦予相應權限就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章