oracle資料庫exp
Ⅰ 如何用EXP導出oracle資料庫中沒有記錄的表
使用pl/sql,很方便導出。
選擇菜單項的「tools」-「export
tables」;
會顯示當前賬號的所有表格,選擇一個需要導出的表名(也可以選多個);
在output
file設置導出文件的路徑和格式;
點擊「export」按鈕,導出表格,同時會跳出來dos提示窗口,待執行完畢就成功。
Ⅱ 如何用EXP導出oracle資料庫中沒有記錄的表
1、Oracle11g默認對空表不分配segment,故使用exp導出Oracle11g資料庫時,空表不會導出。
2、設置deferred_segment_creation 參數為FALSE後,無論是空表還是非空表,都分配segment。
在sqlplus中,執行如下命令:
SQL>alter system set deferred_segment_creation=false;
查看:
SQL>show parameter deferred_segment_creation;
該值設置後只對後面新增的表產生作用,對之前建立的空表不起作用。
3、可以使用手工為空表分配Extent的方式,來解決導出之前建立的空表的問題。說明如下:
3.1 使用ALLOCATE EXTENT的說明
使用ALLOCATE EXTENT可以為資料庫對象分配Extent。其語法如下:
-----------
ALLOCATE EXTENT { SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer }
-----------
可以針對數據表、索引、物化視圖等手工分配Extent。
ALLOCATE EXTENT使用樣例:
ALLOCATE EXTENT
ALLOCATE EXTENT(SIZE integer [K | M])
ALLOCATE EXTENT(DATAFILE 'filename')
ALLOCATE EXTENT(INSTANCE integer)
ALLOCATE EXTENT(SIZE integer [K | M] DATAFILE 'filename')
ALLOCATE EXTENT(SIZE integer [K | M] INSTANCE integer)
針對數據表操作的完整語法如下:
-----------
ALTER TABLE [schema.]table_name ALLOCATE EXTENT [({ SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer})]
-----------
故,需要構建如下樣子簡單的SQL命令:
-----------
alter table aTabelName allocate extent
-----------
3.2 構建對空表分配空間的SQL命令,
查詢當前用戶下的所有空表(一個用戶最好對應一個默認表空間)。命令如下:
-----------
SQL>select table_name from user_tables where NUM_ROWS=0;
-----------
根據上述查詢,可以構建針對空表分配空間的命令語句,如下:
-----------
SQL>Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
-----------
批量輸出上述生成的SQL語句,建立C:\createsql.sql,其內容如下:
-----------
set heading off;
set echo off;
set feedback off;
set termout on;
spool C:\allocate.sql;
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
spool off;
-----------
執行C:\createsql.sql,命令如下:
-----------
SQL>@ C:\createsql.sql;
-----------
執行完畢後,得到C:\allocate.sql文件。
打開該文件會看到,已經得到對所有空表分配空間的命令SQL語句。
3.4 執行SQL命令,對空表分配空間:
執行C:\allocate.sql,命令如下:
-----------
SQL>@ C:\allocate.sql;
-----------
執行完畢,表已更改。
3.4 此時執行exp命令,即可把包括空表在內的所有表,正常導出。
另外:Oracle11g中,對密碼是大小寫敏感的,即密碼中的字母是區分大小寫的。
在Oracle10g中及以前,密碼中的字母大小寫無所謂。
Ⅲ 如何在Oracle中使用exp和imp導出,導入dmp資料庫文件
在Oracle中使用exp和imp導出,導入dmp資料庫文件:
一,oracle資料庫導出工具 exp:
1. 它是一個可執行的文件 存放目錄/ORACLE_HOME/bin
exp導出工具將資料庫中數據備份壓縮成一個二進制系統文件. 它有三種模式:
a. 用戶模式:導出用戶所有對象以及對象中的數據;
b. 表模式: 導出用戶所有表或者指定的表;
c. 整個資料庫: 導出資料庫中所有對象。
2. 導出工具exp互動式命令行方式的使用的例子
$exp test/test123@appd
Enter array fetch buffer size: 4096 > 回車
Export file: expdat.dmp > m.dmp 生成導出的文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
Export table data (yes/no): yes > 回車wQeLin
Compress extents (yes/no): yes > 回車
Export done in ZHS16GBK character set and ZHS16GBK NCHAR character set
About to export specified tables via Conventional Path ...wQelinux聯盟
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu 要導出的表名
. . exporting table CMAMENU 4336 rows exported
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >要導出的表名n
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回車
Export terminated successfully without warnings.
3. 導出工具exp非互動式命令行方式的例子
1)、 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:/chu.dmp中
exp system/manager@TEST file=d:/chu.dmp full=y
2)、 將資料庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:/chu.dmp owner=(system,sys)
3) 、將資料庫中的表inner_notify、notify_staff_relat導出
exp aichannel/aichannel@TESTDB2 file= d:/data/newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4)、 將資料庫中的表table1中的欄位filed1以"00"打頭的數據導出
二,oracle資料庫導入工具 imp:
1. 它是操作系統下一個可執行的文件 存放目錄/ORACLE_HOME/bin
imp導入工具將EXP形成的二進制系統文件導入到資料庫中.
它有三種模式:
a. 用戶模式: 導出用戶所有對象以及對象中的數據;
b. 表模式: 導出用戶所有表或者指定的表;
c. 整個資料庫: 導出資料庫中所有對象。
2.導入工具imp互動式命令行方式的例子
$ imp
Import: Release 8.1.6.0.0 - Proction on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
用戶名: test
口令:****
連接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Proction
With the Partitioning option
JServer Release 8.1.6.0.0 - Proction
導入文件: expdat.dmp> /tmp/m.dmp
輸入插入緩沖區大小(最小為 8192 ) 30720>
經由常規路徑導出由EXPORT:V08.01.06創建的文件
警告: 此對象由 TEST 導出, 而不是當前用戶
已經完成ZHS16GBK字元集和ZHS16GBK NCHAR 字元集中的導入
只列出導入文件的內容(yes/no):no>
由於對象已存在, 忽略創建錯誤(yes/no):no> yes
導入許可權(yes/no):yes>
導入表數據(yes/no):yes>
導入整個導出文件(yes/no):no> yes
. 正在將TEST的對象導入到 SCOTT
. . 正在導入表 "CMAMENU" 4336行被導入
成功終止導入,但出現警告。
Ⅳ 如何在Oracle中使用exp和imp導出,導入dmp資料庫文件
1、首先進入命令行,點擊開始,輸入cmd。
Ⅳ linux系統中oracle資料庫exp命令提示錯誤怎麼解決
oracle安裝不全,這個命令在:/opt/oracle/proct/10.2.0/db_1/bin目錄下,確認一下exp文件是否存在。
Ⅵ 如何用exp導出oracle資料庫並壓縮
1. 它是一個可執行的文件 存放目錄/ORACLE_HOME/bin
exp導出工具將資料庫中數據備份壓縮成一個二進制系統文件. 它有三種模式:
a. 用戶模式:導出用戶所有對象以及對象中的數據;
b. 表模式: 導出用戶所有表或者指定的表;
c. 整個資料庫: 導出資料庫中所有對象。
2. 導出工具exp互動式命令行方式的使用的例子
$exp test/test123@appd
Enter array fetch buffer size: 4096 > 回車
Export file: expdat.dmp > m.dmp 生成導出的文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
Export table data (yes/no): yes > 回車wQeLin
Compress extents (yes/no): yes > 回車
Ⅶ 如何正確使用ORACLE的exp和imp
使用方法及說明如下:
imp:
1.
獲取幫助
imp
help=y
2.
導入一個完整資料庫
imp
system/manager
file=bible_db
log=dible_db
full=y
ignore=y
3.
導入一個或一組指定用戶所屬的全部表、索引和其他對象
imp
system/manager
file=seapark
log=seapark
fromuser=seapark
imp
system/manager
file=seapark
log=seapark
fromuser=(seapark,amy,amyc,harold)
4.
將一個用戶所屬的數據導入另一個用戶
imp
system/manager
file=tank
log=tank
fromuser=seapark
touser=seapark_
imp
system/manager
file=tank
log=tank
fromuser=(seapark,amy)
touser=(seapark1,
amy1)
5.
導入一個表
imp
system/manager
file=tank
log=tank
fromuser=seapark
TABLES=(a,b)
6.
從多個文件導入
imp
system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck,
filesize=1G
full=y
7.
使用參數文件
imp
system/manager
parfile=bible_tables.par
bible_tables.par參數文件:
#Import
the
sample
tables
used
for
the
Oracle8i
Database
Administrator's
Bible.
fromuser=seapark
touser=seapark_
file=seapark
log=seapark_import
8.
增量導入
imp
system./manager
inctype=
RECTORE
FULL=Y
FILE=A
exp:
1.
獲取幫助
exp
help=y
2.
導出一個完整資料庫
exp
system/manager
file=bible_db
log=dible_db
full=y
3.
導出資料庫定義而不導出數據
exp
system/manager
file=bible_db
log=dible_db
full=y
rows=n
4.
導出一個或一組指定用戶所屬的全部表、索引和其他對象
exp
system/manager
file=seapark
log=seapark
owner=seapark
exp
system/manager
file=seapark
log=seapark
owner=(seapark,amy,amyc,harold)
注意:在導出用戶時,盡管已經得到了這個用戶的所有對象,但是還是不能得到這些對象引用的任何同義詞。解決方法是用以下的SQL*Plus命令創建一個腳本文件,運行這個腳本文件可以獲得一個重建seapark所屬對象的全部公共同義詞的可執行腳本,然後在目標資料庫上運行該腳本就可重建同義詞了。
SET
LINESIZE
132
SET
PAGESIZE
0
SET
TRIMSPOOL
ON
SPOOL
c:\seapark.syn
SELECT
'Create
public
synonym
'||synonym_name
||'
for
'||table_owner||'.'||table_name||';'
FROM
dba_synonyms
WHERE
table_owner
=
'SEAPARK'
AND
owner
=
'PUBLIC';
SPOOL
OFF
5.
導出一個或多個指定表
exp
seapark/seapark
file=tank
log=tank
tables=tank
exp
system/manager
file=tank
log=tank
tables=seapark.tank
exp
system/manager
file=tank
log=tank
tables=(seapark.tank,amy.artist)
6.
估計導出文件的大小
全部表總位元組數:
SELECT
sum(bytes)
FROM
dba_segments
WHERE
segment_type
=
'TABLE';
seapark用戶所屬表的總位元組數:
SELECT
sum(bytes)
FROM
dba_segments
WHERE
owner
=
'SEAPARK'
AND
segment_type
=
'TABLE';
seapark用戶下的aquatic_animal表的位元組數:
SELECT
sum(bytes)
FROM
dba_segments
WHERE
owner
=
'SEAPARK'
AND
segment_type
=
'TABLE'
AND
segment_name
=
'AQUATIC_ANIMAL';
7.
導出表數據的子集(oracle8i以上)
NT系統:
exp
system/manager
query='Where
salad_type='FRUIT''
tables=amy.salad_type
file=fruit
log=fruit
UNIX系統:
exp
system/manager
query=\"Where
salad_type=\'FRUIT\'\"
tables=amy.salad_type
file=fruit
log=fruit
8.
用多個文件分割一個導出文件
exp
system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck,
filesize=1G
tables=hr.paycheck
9.
使用參數文件
exp
system/manager
parfile=bible_tables.par
bible_tables.par參數文件:
#Export
the
sample
tables
used
for
the
Oracle8i
Database
Administrator's
Bible.
file=bible_tables
log=bible_tables
tables=(
amy.artist
amy.books
seapark.checkup
seapark.items
)
10.
增量導出
「完全」增量導出(complete),即備份整個資料庫
exp
system/manager
inctype=complete
file=990702.dmp
「增量型」增量導出(incremental),即備份上一次備份後改變的數據
exp
system/manager
inctype=incremental
file=990702.dmp
「累計型」增量導出(cumulative),即備份上一次「完全」導出之後改變的數據
exp
system/manager
inctype=cumulative
file=990702.dmp
Ⅷ oracle 數據泵和exp的區別
exp imp 在連接到資料庫的電腦上都能執行,是很早就有的功能
數據泵是新功能,是exp imp的增強,語法,速度均有增強,是10g以後才有的功能,只能在資料庫的電腦上執行,安全性更高。
不同情況用不同功能,簡單使用,數量不大時,可用 exp imp
數據泵更好,更強大
(8)oracle資料庫exp擴展閱讀:
Oracle10g提出的數據泵技術,在以下幾個方面優於exp/imp命令:
1、數據泵工具運行於伺服器端,相比客戶端的exp/imp其性能更好,並能實現exp/imp的全部功能。
2、通過使用exclude,include,content等參數,數據泵可以為數據及數據對象提供更細微級別的選擇性。
3、通過設定資料庫版本號,數據泵可以兼容老版本的資料庫系統。
4、並行執行。
5、通過estimate_only參數,數據泵可以預估導出作業所需的磁碟空間。
6、支持分布式環境中通過資料庫連接實現導入導出。
7、支持導入時重新映射功能(即將對象導入到新的目標數據文件、架構及表空間等)。
8、支持元數據壓縮及數據采樣。
Ⅸ Oracle客戶端如何遠程備份伺服器上資料庫EXP命令怎麼用
Oracle客戶端如何遠程備份伺服器上資料庫?EXP命令怎麼用?
然後進入cmd
執行你的exp命令
一般情況下用這個
1
exp 用戶名/密碼@資料庫名 full=y file=d:\OracleBackup\fullbackup.dmp log=d:\OracleBackup\log.log
其中資料庫名,指你在本地的名,在plsql中類似這個位置
Ⅹ oracle資料庫備份exp命令
oracle資料庫備份exp命令:
第一個,表模式,備份某個用戶模式下指定的對象(表)。業務資料庫通常採用這種備份方式。若備份到本地文件,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
若直接備份到磁帶設備,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
註:在磁碟空間允許的情況下,應先備份到本地伺服器,然後再拷貝到磁帶。出於速度方面的考慮,盡量不要直接備份到磁帶設備。
第二個,用戶模式,備份某個用戶模式下的所有對象。業務資料庫通常採用這種備份方式。若備份到本地文件,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
log=exp_icdmain_yyyymmdd.log
若直接備份到磁帶設備,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_yyyymmdd.log
註:如果磁碟有空間,建議備份到磁碟,然後再拷貝到磁帶。如果資料庫數據量較小,可採用這種辦法備份。
第三個,完全模式,備份完整的資料庫。業務資料庫不採用這種備份方式。備份命令為:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
對於資料庫備份,建議採用增量備份,即只備份上一次備份以來更改的數據。增量備份命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
(10)oracle資料庫exp擴展閱讀:
關於增量備份必須滿足下列條件:
1、只對完整資料庫備份有效,且第一次需要full=y參數,以後需要inctype=incremental參數
2、用戶必須有EXP_FULL_DATABASE的系統角色。
3.、話務量較小時方可採用資料庫備份。
4、 如果磁碟有空間,建議備份到磁碟,然後再備份到磁碟。
版權聲明:本文為CSDN博主「kalogen」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。