刪oracle用戶角色、修改表空間名字

1、一般使用建表空間、建用戶的流程是:

建立表空間;

建立用戶角色,賦予權限給用戶角色;

建立用戶;

賦予用戶權限;(把用戶角色的權限賦予給用戶)

 

這樣後,如果刪除了  這個用戶角色,那麼用戶的權限也消失了,需要重新建立這個用戶角色,並且重新給此用戶賦予角色權限才行。

 

2、使用邏輯備份,導出的dmp包,裏面包含所使用的表空間的名字;

有時在進行導入操作前,並無檢查dmp包表空間的名字,導致在導入到另外的服務器數據庫時提示表空間不存在,一般我用2個方法來解決:

   1、直接修改dmp包。在linux 服務器上直接使用vi x.dmp

     通過使用修改名字,全局修改名字

     vi x.dmp

     :%s/TABLESPACE "xxxx"/TABLESPACE "yyyy"/g
     保存退出!
 
   2、由於有時dmp文件很大,打開時十分費時;爲了保持新的服務器也是用一樣的表空間名字,那麼先確認原來使用的表空間名字再建表空間,然後導入。
     導入數據庫後,如果想修改表空間的名字,那麼可以直接用
     alter tablespace xxxx rename to yyyy;
     進行修改,修改後進行邏輯備份出來的新的dmp 包裏面的表空間名字爲新的名字。
 
   3、第三個方法好像可以通過在imp導入時是添加index???的參數,來指定導入的表空間來解決,這個我還沒試過。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章