當前位置:首頁 » 操作系統 » oracle資料庫exp

oracle資料庫exp

發布時間: 2022-10-16 03:58:04

Ⅰ 如何用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 版權協議,轉載請附上原文出處鏈接及本聲明。

熱點內容
編譯好的內核如何升級另一台主機 發布:2025-05-15 02:00:06 瀏覽:758
彈反腳本 發布:2025-05-15 01:58:24 瀏覽:586
安卓按鍵大師怎麼用 發布:2025-05-15 01:54:12 瀏覽:687
手機ea伺服器連不上怎麼辦 發布:2025-05-15 01:35:03 瀏覽:450
資料庫數據插入語句 發布:2025-05-15 01:30:01 瀏覽:871
js是無需編譯直接運行嗎 發布:2025-05-15 01:28:30 瀏覽:476
android文件夾重命名 發布:2025-05-15 01:13:50 瀏覽:481
cns腳本 發布:2025-05-15 01:13:38 瀏覽:722
數據結構與演算法筆試題 發布:2025-05-15 01:04:20 瀏覽:417
搜狗輸入法如何直接編輯配置文件 發布:2025-05-15 00:51:47 瀏覽:668