oracle數據庫語句大全「oracle數據庫導出數據」

第一種:網上搜索到的大多解決方法是說導出文件時使用的Oracle版本不一致問題,需要修改dmp文件的版本號。如果確定版本號確實不一樣,請自行搜索一下解決方法。

第二種:備份dmp文件時,備份的語句可能使用的是expdp命令備份的文件,如果是用expdp備份的文件,使用imp導入命令也是會報這樣的錯誤。

所以:導出dmp文件時,如果使用的是expdp命令導出文件時,應該使用impdp命令導入。如果使用的exp命令導出文件時,應該使用imp命令導入

第二種具體解決步驟:

1、 一般導入都是先建立表空間、實例、用戶名

2、用impdp命令導入

(1) 使用sqlplus或者Oracle客戶端(PL/SQL) 鏈接到相應的Oracle數據庫實例.

(2)創建邏輯目錄,該命令不會在操作系統創建真正的目錄,最好以system等管理員創建。

create directory dpdata1 as ‘d:\test\dump’; (查看服務器上若沒有存在d:\test\dump目錄,則手動新建,把dmp備份文件放到d:\test\dump目錄下面)

(3)impdp導入數據

impdp bbcj/bbcj@orcl directory=dpdata1 dumpfile=ERMS_20190923.dmp FULL=y;

註:

還需要根據導出的dmp,使用的表空間、用戶名。(需要提前通過sys/tsingsoft 創建好了)

創建表空間:

create tablespace SEA_A2 datafile 'D:\app\Administrator\product\tablebase\data_1.dbf' size 10000M;

-- 一定要設置自動增長
alter database datafile 'D:\app\Administrator\product\tablebase\data_1.dbf' autoextend on;

oracle刪除非空的表空間:

 drop tablespace tablespaceName including contents;

查看每個表空間的大小 和查看剩餘表空間大小


Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name;

SELECT tablespace_name 表空間,sum(blocks*8192/1000000) 剩餘空間M FROM dba_free_space GROUP BY tablespace_name;

系統正忙,使用此方法Kill掉。

/*查詢已經鎖住的對象的SessionId*/
SELECT SESSION_ID FROM V$LOCKED_OBJECT;
/*查詢從session中查詢相應的連接的用戶和SERIAL*/
SELECT SID, SERIAL#, USERNAME, OSUSER FROM V$SESSION WHERE SID IN(
99
);
/*殺掉相應的session,格式:SID,SERIAL#*/
ALTER SYSTEM KILL SESSION '99,12';

創建函數索引

create index idx_char_P on TMP_ZHENGD_DY_P_20201120 (TO_CHAR(data_date,'yyyymmdd'));
commit;

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/252573.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-14 02:17
下一篇 2024-12-14 02:17

相關推薦

發表回復

登錄後才能評論