精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

oracle如何導出空庫 oracle全庫導出

Oracle的導入導出命令是什么?

用exp、imp試試

在沭陽等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供網站建設、網站設計 網站設計制作按需定制制作,公司網站建設,企業網站建設,品牌網站設計,成都營銷網站建設,外貿網站制作,沭陽網站建設費用合理。

導出全庫

導入:導入之前需創造一個空庫(可以和前一個庫名不一樣)、一個一樣的用戶

cmd

imp username/password@數據庫名稱 file=文件路徑 full=Y

導出:

exp username/password@數據庫名稱 file=文件路徑(生成的文件)

我導出的時候文件直接設成.sql,蠻好

導出部分表

打開cmd

導出表,確定監聽是否開啟,數據庫服務是否開啟

exp scott/tiger@orcl file=F:\sign.sql tables=表名,表名 ?grants=y

導入表,確定新數據庫服務是否開啟

imp scott/tiger@數據庫名 file=F:\sign.sql fromuser=scott ignore=y commit=y grants=y

oracle怎么導出數據

Oracle導出導出有兩中方式:一、利用exp imp導出導入;二、利用Oracel數據泵expdp impdp導出導入。

一、利用exp imp導出導入

exp imp 語法如下:

exp:

1) 將數據庫orcl完全導出

exp system/manager@orcl file=d:\orcl_bak.dmp full=y

2) 將數據庫中system用戶的表導出

exp system/manager@orcl file=d:\system_bak.dmp owner=system

3) 將數據庫中表table1,table2導出

exp system/manager@orcl file=d:\table_bak.dmp tables=(table1,table2)

4) 將數據庫中的表customer中的字段mobile以"139"開頭的數據導出

exp system/manager@orcl file=d:\mobile_bak.dmp tables=customer query=\"where mobile like '139%' \"

imp:

1) 將備份文件bak.dmp導出數據庫

imp system/manager@orcl file=d:\bak.dmp

如果數據表中表已經存在,會提示錯誤,在后面加上ignore=y就可以了。

2) 將備份文件bak.dmp中的表table1導入

imp system/manager@orcl file=d:\bak.dmp tables=(table1)

exp imp導出導入數據方式的好處是只要你本地安裝了Oracle客戶端,你就可以將服務器中的數據導出到你本地計算機。同樣也可以將dmp文件從你本地導入到服務器數據庫中。但是這種方式在Oracle11g版本中會出現一個問題:不能導出空表。Oracle11g新增了一個參數deferred_segment_creation,含義是段延遲創建,默認是true。當你新建了一張表,并且沒用向其中插入數據時,這個表不會立即分配segment。

解決辦法:

1、設置deferred_segment_creation參數為false后,無論是空表,還是非空表,都分配segment。

在sqlplus中,執行如下命令:

SQLalter system set deferred_segment_creation=false;

查看:

SQLshow parameter deferred_segment_creation;

該值設置后,只對后面新增的表起作用,對之前建立的空表不起作用,并且注意要重啟數據庫讓參數生效。

2、使用 ALLOCATE EXTEN

使用 ALLOCATE EXTEN可以為數據庫對象分配Extent,語法如下:

alter table table_name allocate extent

構建對空表分配空間的SQL命令:

SQLselect 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

批量生成要修改的語句。

然后執行這些修改語句,對所有空表分配空間。

此時用exp命令,可將包括空表在內的所有表導出。

二、利用expdp impdp導出導入

在Oracle10g中exp imp被重新設計為Oracle Data Pump(保留了原有的 exp imp工具)

數據泵與傳統導出導入的區別;

1) exp和imp是客戶端工具,他們既可以在客戶端使用,也可以在服務端使用。

2) expdp和impdp是服務端工具,只能在Oracle服務端使用。

3) imp只適用于exp導出文件,impdp只適用于expdp導出文件。

expdp導出數據:

1、為輸出路徑建立一個數據庫的directory對象。

create or replace directory dumpdir as 'd:\';

可以通過:select * from dba_directories;查看。

2、給將要進行數據導出的用戶授權訪問。

grant read,write on directory dumpdir to test_expdp;

3、將數據導出

expdp test_expdp/test_expdp directory=dumpdir dumpfile=test_expdp_bak.dmp logfile=test_expdp_bak.log schemas=test_expdp

注意:這句話在cmd窗口中運行,并且最后不要加分號,否則會提示錯誤。因為這句話是操作系統命令而不是SQL。

impdp導入數據:

1、給將要進行數據導入的用戶授權訪問。

grant read,write on directory dumpdir to test_impdp;

2、將數據導入

impdp test_impdp/impdp directory=dumpdir dumpfile=test_expdp_bak.dmp remap_schema=test_expdp:test_impdp

oracle11g導出數據庫時怎么設置把空表也導出

1、Oracle11g默認對空表不分配segment,故使用exp導出Oracle11g數據庫時,空表不會導出。

2、設置deferred_segment_creation 參數為FALSE后,無論是空表還是非空表,都分配segment。

在sqlplus中,執行如下命令:

SQLalter system set deferred_segment_creation=false;

查看:

SQLshow 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命令,

查詢當前用戶下的所有空表(一個用戶最好對應一個默認表空間)。命令如下:

-----------

SQLselect table_name from user_tables where NUM_ROWS=0;

-----------

根據上述查詢,可以構建針對空表分配空間的命令語句,如下:

-----------

SQLSelect '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整個數據庫?

1 將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:\daochu.dmp中

exp system/manager@TEST file=d:\daochu.dmp full=y

2 將數據庫中system用戶與sys用戶的表導出

exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

3 將數據庫中的表table1 、table2導出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)

4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

上面是常用的導出,對于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。

不過在上面命令后面 加上 compress=y 就可以了

oracle想導出空數據庫及里面的空表

設置導出表的rows字段值為n(不導出)就可以了。

命令行執行:

exp username/passwd@dbname tables= tablename file=filename.dmp rows=n

備注:rows默認為y,也就是說默認是導出數據的,如果想同時導出數據,那么不加這個字段就可以了。


文章名稱:oracle如何導出空庫 oracle全庫導出
文章鏈接:http://m.jcarcd.cn/article/hehojo.html
主站蜘蛛池模板: 99热中文| 91一区| 美乳一区| 成人开心网 | 国产激情在线视频 | 欧美另类日本 | 国产精品一级二级 | 国产在线视频专区 | 91必出精品 | aⅴ三级| 精品精品国产国产 | 91精品免 | 成人福利在线观看 | 欧美日韩每日更新 | 国产精品女同一 | 福利一区二区在线 | 91这里有精品 | 日韩欧美一区二 | 精品国产欧美一 | 日韩一级视频免费 | 国产视频综合 | 片免费在线 | 国产一线二线三线 | 国产素人搭讪在线 | 91福利小| 国产在线综合网 | 国语对白露脸 | 日本乱伦自拍欧美 | 日韩熟女精品影院 | 波多野结衣福利在线 | 国产视频第一页 | 日本啊在线观看 | 99爱这里只有精品 | 人人鲁人人澡91 | 成人看的羞 | 国产精品爽妇网 | 精品国产动漫日 | 国产手机视频自拍 | 91福利日本| 国产在线观看第二页 | 欧美亚洲午夜成人v |