plsql導出導入 表結構、表數據、存儲過程等


 

導出:
首先點擊   TOOLS,選擇  EXPORT TABLES

 

 選中你需要導出的表,

 

 

 

勾選  “Create tables” 是因為在導入的數據庫中沒有此表

如果勾選"Drop tables" 而沒有勾選 “Create tables” ,而數據庫中沒有此表,會報表和視圖不存在

Output file 為導出的路徑

 

 

 

 

如果你想導的表  數據記錄很多,就只想導出表結構,你可以在  where clause 后面接一個  否定條件,就可以只導出表結構而不導出數據了。 如下是  1=2  ,親測有效

 

 

 

 

導入:
首先點擊   TOOLS,選擇  IMPORT TABLES

 

 

 

 選擇剛才導出的文件導出即可

 

 


導出用戶對象:  包括表、存儲過程、視圖等,要更改表空間名稱

修改表空間name: 

1、 使用oracle用戶登錄執行

        $sqlplus / as sysdba

2、 執行修改表空間命令如下

       alter tablespace  TEST rename to TEST1;

    注:可連續對多個表空間進行重命名

3、 確認表空間名已經修改

     select name from v$tablespace;


前提:在CMD 命令下

導出命令:exp 用戶名/密碼@數據庫 owner=用戶名 file=文件存儲路徑(如:F:\abcd.dmp)

測試截圖:exp ZM/sql123@ORCL owner=ZM file=F:\abcd.dmp

 

導入命令:imp 用戶名/密碼@數據庫 fromuser=用戶名 touser=用戶名 file=d:\cu.dmp ignore=y

 imp:命令類型  

cu/mycu@db:導入的數據庫登陸(用戶名/密碼@數據庫)  

fromuser:文件的指定用戶

 touser:指定導入到當前登錄的數據庫某個用戶  

file:需要導入的數據文件  

ignore:是否忽略創建錯誤

 

測試截圖:imp ZM/sql123@ORCL fromuser=ZM touser=SZZM file=F:\test.dmp ignore=y

 

如果報錯:msg.dmp 是由具有dba角色的用戶到導出的。要有相同或更高權限的用戶才能導入該文件。

解決方案 :用system   oracle123登錄,給用戶授權   grant dba to XXX


刪除用戶表空間所有數據

最省心的方法是級聯刪除
 
drop user XXXX cascade; 最后這個級聯特別有用(刪除用戶以及所有關聯的數據庫對象)
 
麻煩一點的辦法,把刪除語句做成存儲過程

注釋:

1、刪除用戶 然后重建,這樣最快:

1、在cmd中輸入
sqlplus / as sysdba
2、刪除用戶A,級所有和用戶A關聯的數據
drop user a cascade;
3、重建用戶A
create user A identified by 密碼;
grant connect,resource to A;
4、登入A用戶,就ok了
conn A/密碼
這個方法挺快的,還方便啊。

drop user xxx cascade這樣有些數據庫對象好像也刪除不了

有時候某些用戶被授予很復雜的權限和角色,(若刪除用戶再創建用戶的方法會很繁瑣),所以還是衡量哪種方法更快,根據實際情況選擇

————————————————

 

本地裝了Oracle的話,導出表數據:闕教

 

 本地裝了Oracle的話,導入表數據 闕教:

 

 

 

 

 


原文鏈接:https://blog.csdn.net/qq_25221835/article/details/82586961


免責聲明!

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



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