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 ...