oracle不同表空間的匯入

2021-06-19 11:06:49 字數 1231 閱讀 5704

1,用imp匯出資料

cmd進入orcle安裝目錄bin下,輸入以下命令:

exp u/p@bmnae file=c:\hysjb.dmp owner=magazine_hy rows=y

2, 用imp產生index.sql檔案

imp /@xe file=indexfile=index.sql full=y

3,修改index.sql檔案

find: 'rem' replace:

find: '""' replace: '"users"'

find: '...' replace: 'rem ...'

find: 'connect' replace: 'rem connect'

ps:檢視表空間的語句:

select

df.tablespace_name "tablespace_name",totalspace "totalspace/m",freespace "freespace/m",round((1-freespace/totalspace)*100,2) "used%"

from

(select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df,

(select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs

where df.tablespace_name=fs.tablespace_name;

4,使用sqlplus進入執行此sql生成表結構

sqlplus /@xe @index.sql

5,進入資料庫diasble掉依賴。

select 'alter table '||table_name|| ' disable constraint '||constraint_name|| '; ' from user_constraints

where constraint_type = 'r';

匯出csv檔案為imp.sql,刪除"號,執行。

6,匯入資料,cmd下執行:

imp /@xe file=fromuser=touser=ignore=y

7,將imp.sql中的disable替換成enable執行。enable依賴

如何把資料匯入不同的表空間

使用者unlimited tablespace許可權 這樣就可以匯入到使用者預設表空間 sql create user bjbbs identified by passwd 2 default tablespace bjbbs 3 temporary tablespace temp 4 user c...

把資料匯入不同的表空間 exp,imp

很多人在進行資料遷移時,希望把資料匯入不同於原系統的表空間,在匯入之後卻往往發現,資料被匯入了原表空間。本例舉例說明解決這個問題 1.如果預設的使用者具有dba許可權 那麼匯入時會按照原來的位置匯入資料,即匯入到原表空間 查詢發現仍然匯入了user表空間 2.使用者unlimited tablesp...

oracle匯入表時指定表空間

一直以來,我都認為只要指定使用者的預設表空間,向該使用者匯入資料時,會自動進入到預設表空間。後來發現從system匯出的dmp檔案在匯入時,即使指定新使用者的預設表空間,還是要往system表空間中導資料。上網搜了一下,還是有解決方法的,常見的方法如下 sql create user user01 ...