當前位置:首頁 » 操作系統 » linux命令exp

linux命令exp

發布時間: 2022-08-07 18:24:28

A. 如何從linux 里導出oracle 資料庫,命令是什麼,請舉例

操作順序:
1、打開本地終端,輸入telnet命令:
>> telnet 伺服器ip
輸入用戶名 密碼 登陸成功
2、轉到oracle用戶下,輸入:
>> su - oracle
>> exp
根據Oracle的exp命令提供的到處向導,導出用戶需要的數據到dmp文件中 myxxxoutxxx.dmp
3、接下來是講這個dmp文件傳到本地
兩種方式
1、如果伺服器端開啟了ftpd 或者 sshd ,可以從本地連接過去,把dmp文件下載到本地
重新打開一個本地終端
>> ftp 伺服器ip
輸入用戶名 密碼 登陸成功
>> cd dmp文件目錄的相對路徑
>> get myxxxoutxxx.dmp
2、如果本地伺服器開啟了相關服務 可以從伺服器端上傳dmp文件到本地
>> cd dmp文件目錄的路徑
>> ftp 伺服器ip
輸入用戶名 密碼 登陸成功
>> put myxxxoutxxx.dmp
最後就是本地庫的導入了
在終端中輸入 imp 根據向導一步一步設置導入
或者用開發工具幫助導入

B. linux的常用命令及技巧

一。 通用命令:
1. date :print or set the system date and time2. stty -a: 可以查看或者列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)3. passwd: print or set the system date and time (用passwd -h查看)4. logout, login: 登錄shell的登錄和注銷命令5. pwd: print or set the system date and time6. more, less, head tail: 顯示或部分顯示文件內容.7. lp/lpstat/cancel, lpr/lpq/lprm: 列印文件.8. 更改文件許可權: chmod u+x...9. 刪除非空目錄:rm -fr dir10.拷貝目錄: cp -R dir11. fg jobid :可以將一個後台進程放到前台。Ctrl-z 可以將前台進程掛起(suspend), 然後可以用bg jobid 讓其到後台運行。job & 可以直接讓job直接在後台運行。12. kill 的作用: send a signal to a process. eg: kill -9 發送的是SIG_KILL信號。。。 具體發送什麼信號 可以通過 man kill 查看。13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台進程組id, comm顯示命令名稱。)二 .ubuntu常用命令:
1. dpkg: package manager for Debian* 安裝: dpkg -i package* 卸載: dpkg -r package* 卸載並刪除配置文件: dpkg -P |--purge package* 如果安裝一個包時。說依賴某些庫。 可以先 apt-get install somelib...* 查看軟體包安裝內容 :dpkg -L package* 查看文件由哪個軟體包提供: dpkg -S filename* 另外 dpkg還有 dselect和aptitude 兩個frontend.2. apt* 安裝: apt-get install packs* apt-get update : 更新源* apt-get upgrade: 升級系統。* apt-get dist-upgrade: 智能升級。安裝新軟體包,刪除廢棄的軟體包* apt-get -f install : -f == --fix broken 修復依賴* apt-get autoremove: 自動刪除無用的軟體* apt-get remove packages :刪除軟體* apt-get remove package --purge 刪除包並清除配置文件* 清除所以刪除包的殘余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr [/n] [ ]|sudo xargs dpkg -P* 安裝軟體時候包的臨時存放目錄 : /var/cache/apt/archives* 清除該目錄: apt-get clean* 清除該目錄的舊版本的軟體緩存: apt-get autoclean* 查詢軟體some的依賴包: apt-cache depends some* 查詢軟體some被哪些包依賴: apt-get rdepends some* 搜索軟體: apt-cache search name|regexp* 查看軟體包的作用:apt-cache show package* 查看一個軟體的編譯依賴庫: apt-cache showsrc packagename|grep Build-Depends* 下載軟體的源代碼 : apt-get source packagename (注: sources.list 中應該有 deb-src 源)* 安裝軟體包源碼的同時, 安裝其編譯環境 :apt-get build-dep packagename (有deb-src源)* 如何將本地光碟加入安裝源列表: apt-cdrom add3. 系統命令:* 查看內核版本: uname -a* 查看ubuntu 版本: cat /etc/issue* 查看網卡狀態 : ethtool eth0* 查看內存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo(/proc下面的有很多系統信息)* 列印文件系統空間使用情況: df -h* 查看硬碟分區情況: fdisk -l* 產看文件大小: -h filename;* 查看目錄大小: -hs dirname ; -h dirname是查看目錄下所有文件的大小* 查看內存的使用: free -m|-g|-k* 查看進程: ps -e 或ps -aux -->顯示用戶* 殺掉進程: kill pid* 強制殺掉: killall -9 processname4. 網路相關: * 配置 ADSL: sudo pppoeconf* ADSL手工撥號: sudo pon dsl-provider* 激活 ADSL : sudo /etc/ppp/pppoe_on_boot* 斷開 ADSL: sudo poff* 根據IP查網卡地址: arping IP地址* 產看本地網路信息(包括ip等): ifconfig | ifconfig eth0* 查看路由信息: netstat -r* 關閉網卡: sudo ifconfig eth0 down* 啟用網卡: sudo ifconfig eth0 up* 添加一個服務: sudo update-rc.d 服務名 defaults 99* 刪除一個服務: sudo update-rc.d 服務名 remove* 臨時重啟一個服務: /etc/init.d/服務名 restart* 臨時關閉一個服務: /etc/init.d/服務名 stop* 臨時啟動一個服務: /etc/init.d/服務名 start* 控制台下顯示中文: sudo apt-get install zhcon* 查找某個文件: whereis filename 或 find 目錄 -name 文件名*通過ssh傳輸文件scp -rp /path/filename username@remoteIP:/path #將本地文件拷貝到伺服器上scp -rp username@remoteIP:/path/filename /path #將遠程文件從伺服器下載到本地5. 壓縮:*解壓縮 a.tar.gz: tar zxvf a.tar.gz*解壓縮 a.tar.bz2: tar jxvf a.tar.bz2*壓縮aaa bbb目錄為xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb*壓縮aaa bbb目錄為xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb
6. Nautilus:特殊 URI 地址* computer:/// - 全部掛載的設備和網路* network:/// - 瀏覽可用的網路* burn:/// - 一個刻錄 CDs/DVDs 的數據虛擬目錄* smb:/// - 可用的 windows/samba 網路資源* x-nautilus-desktop:/// - 桌面項目和圖標* file:/// - 本地文件* trash:/// - 本地回收站目錄* ftp:// - FTP 文件夾* ssh:// - SSH 文件夾* fonts:/// - 字體文件夾,可將字體文件拖到此處以完成安裝* themes:/// - 系統主題文件夾* 顯示隱藏文件: Ctrl+h* 顯示地址欄: Ctrl+l* 查看已安裝字體: 在nautilus的地址欄里輸入」fonts:///「,就可以查看本機所有的fonts
7.補充部分:
* 查看本地所有的tpc,udp監聽埠: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)* 通過man搜說相關命令: man -k keyword . eg: man -k user* 或者用 apropos* 統計文件所佔用的實際磁碟空間: ( - estimate file space usage)* 統計文件中的字元,位元組數: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)* 查看文件的內容: od -x/-c/.... (od - mp files in octal and other formats)我認為od最有用的就是文件的位元組流了: od -t x1 filename查看文件的 Ascii 碼形式: od -t c filename (其中統計信息最左邊的是: 位元組數)* 查找命令所在文件的位置: which od 輸出: /usr/bin/od查看該文件由哪個包提供: dpkg -S /usr/bin/od 輸出: coreutils: /usr/bin/od再查看coreutils包的全部內容就知道了linux的核心命令: dpkg -L coreutils然後 info coreutils 哈哈,認真學吧, 滿世界都是命令!* 可以用man 命令產看某個命令的所有section 的解釋: man -a tty然後用q,和next 轉換到下一個section的解釋* bash 的好用的快捷鍵:ctrl+a:游標移到行首。ctrl+b:游標左移一個字母ctrl+c:殺死當前進程。ctrl+d:退出當前 Shell。ctrl+e:游標移到行尾。ctrl+h:刪除游標前一個字元,同 backspace 鍵相同。ctrl+k:清除游標後至行尾的內容。ctrl+l:清屏,相當於clear。ctrl+r:搜索之前打過的命令。會有一個提示,根據你輸入的關鍵字進行搜索bash的historyctrl+u: 清除游標前至行首間的所有內容。ctrl+w: 移除游標前的一個單詞ctrl+t: 交換游標位置前的兩個字元ctrl+y: 粘貼或者恢復上次的刪除ctrl+d: 刪除游標所在字母;注意和backspace以及ctrl+h的區別,這2個是刪除游標前的字元ctrl+f: 游標右移ctrl+z : 把當前進程轉到後台運行,使用』 fg 『命令恢復。比如top -d1 然後ctrl+z ,到後台,然後fg,重新恢復* 快速粘貼:先在一個地方選中文字,在欲粘貼的地方按滑鼠 中鍵 即可。* 等效中鍵:a 、按下滑輪等效於中鍵。b、同時按下滑鼠 左右鍵,等效於中鍵。* 快速重啟X服務: 同時按下: Alt + Ctrl + Backspace 三個鍵。* 打開運行窗口: 同時按下 Alt + F2 鍵。* 戴屏: a、全屏:直接按下 PrtScr 鍵。b、當前窗口:同時按下 Alt + PrtScr 鍵。c、延時戴屏:在 終端 或 運行窗口中輸入命令: gnome-screenshot --delay 3 ,將延時 3 秒後戴屏。* 直接將 文件管理器 中的文件拖到 GNOME終端 中就可以在終端中得到完整的路徑名。 8.ulimitulimit:顯示(或設置)用戶可以使用的資源的限制(limit),這限制分為軟限制(當前限制)和硬限制(上限),其中硬限制是軟限制的上限值,應用程序在運行過程中使用的系統資源不超過相應的軟限制,任何的超越都導致進程的終止。ulimited 不限制用戶可以使用的資源,但本設置對可打開的最大文件數(max open files)和可同時運行的最大進程數(max user processes)無效-a 列出所有當前資源極限-c 設置core文件的最大值.單位:blocks-d 設置一個進程的數據段的最大值.單位:kbytes-f Shell 創建文件的文件大小的最大值,單位:blocks-h 指定設置某個給定資源的硬極限。如果用戶擁有 root 用戶許可權,可以增大硬極限。任何用戶均可減少硬極限-l 可以鎖住的物理內存的最大值-m 可以使用的常駐內存的最大值,單位:kbytes-n 每個進程可以同時打開的最大文件數-p 設置管道的最大值,單位為block,1block=512bytes-s 指定堆棧的最大值:單位:kbytes-S 指定為給定的資源設置軟極限。軟極限可增大到硬極限的值。如果 -H 和 -S 標志均未指定,極限適用於以上二者-t 指定每個進程所使用的秒數,單位:seconds-u 可以運行的最大並發進程數-v Shell可使用的最大的虛擬內存,單位:kbyteseg: ulimit -c 1000(可以先通過ulimit -c 查看原來的值)

C. linux oracle資料庫導出exp命令遇到command not found錯誤,bin文件夾下存在exp文件

檢查你的PATH變數設置,exp命令在Oracle的安裝目錄中,默認的PATH變數中沒有這個路徑

D. Linux查詢命令

grep、fgrep和egrep命令

這組命令以指定模式搜索文件,並通知用戶在什麼文件中搜索到與指定的模式匹配的字元串,並列印出所有包含該字元串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴展的正則表達式(包括表達式組和可選項);fgrep命令檢索固定字元串,它不識別正則表達式,是快速搜索命令。
語法:

grep [選項] [查找模式] [文件名1,文件名2,……]

egrep [選項] [查找模式] [文件名1,文件名2,……]

fgrep [選項] [查找模式] [文件名1,文件名2,……]

這組命令各選項的含義為:

- E 每個模式作為一個擴展的正則表達式對待。

- F 每個模式作為一組固定字元串對待(以新行分隔),而不作為正則表達式。

- b在輸出的每一行前顯示包含匹配字元串的行在文件中的位元組偏移量。

- c 只顯示匹配行的數量。

- i 比較時不區分大小寫。

- h 在查找多個文件時,指示grep不要將文件名加入到輸出之前。

- l 顯示首次匹配串所在的文件名並用換行符將其隔開。當在某文件中多次出現匹配串時,不重復顯示此文件名。

- n 在輸出前加上匹配串所在行的行號(文件首行行號為1)。

- v 只顯示不包含匹配串的行。

- x 只顯示整行嚴格匹配的行。

- e expression 指定檢索使用的模式。用於防止以「-」開頭的模式被解釋為命令選項。

- f expfile 從expfile文件中獲取要搜索的模式,一個模式佔一行。

對該組命令的使用還需注意以下方面:

在命令後鍵入搜索的模式,再鍵入要搜索的文件。其中,文件名列表中也可以使用特殊字元,如「*」等,用來生成文件名列表。如果想在搜索的模式中包含有空格的字元串,可以用單引號把要搜索的模式括起來,用來表明搜索的模式是由包含空格的字元串組成。否則,Shell將把空格認為是命令行參數的定界符,而grep命令將把搜索模式中的單詞解釋為文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式「text file」。

$ grep 'text file' example

用戶可以在命令行上用Shell特殊字元來生成將要搜索的文件名列表。在下面的例子中,特殊字元「*」用來生成一個文件名列表,該列表包含當前目錄下所有的文件。該命令將搜索出當前目錄下所有文件中與模式匹配的行。

$ grep data *

特殊字元在搜索一組指定的文件時非常有用。例如,如果想搜索所有的C程序源文件中特定的模式,您可以用「*.c」來指定文件名列表。假設用戶的 C程序中包含一些不必要的轉向語句(goto語句),想要找到這些語句,可以用如下的命令來搜索並顯示所有包含goto語句的代碼行:

$ grep goto *.c

E. linux下怎麼用exp和imp導出和導入指定的oracle資料庫表

導入導出與歸不歸檔沒有關系

用oracle用戶命令行下輸入 exp scott/tiger file='保存路徑' full=y 這樣就可以全庫導出

還有一個問題是scott用戶不定要解鎖,否則會無法連接資料庫
解鎖命令是sqlplus 下的輸入alter user scott account unlock;

F. linux下使用exp備份oracle是在哪裡使用的

直接在終端命令行裡面使用即可。

G. linux kali 4.6.0怎麼用exp提權

估計你更新了kali了,現在已經沒有msfpayload的命令了,換成msfvenom了。裡面集成了msfpayload和msfencode

H. linux 常用命令要具體例子

1、cd命令:這是一個非常基本,也是大家經常需要使用的命令,它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。
cd /root/Docements #切換到目錄/root/Docements
2、ls命令:這是一個非常有用的查看文件與目錄的命令,list之意,它的參數非常多。
ls -l #以長數據串的形式列出當前目錄下的數據文件和目錄
3、grep命令:該命令常用於分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用於對一些命令的輸出進行篩選加工等等。
4、find命令:find是一個基於查找的功能非常強大的命令。
find / -name passwd#查找文件名為passwd的文件
5、cp命令:該命令用於復制文件,之意,它還可以把多個文件一次性地復制到一個目錄下。
cp file1 file2 file3 dir#把文件file1、file2、file3復制到目錄dir中
6、mv命令:該命令用於移動文件、目錄或更名,move之意。
mv file1 file2#把文件file1重命名為file2
7、rm命令:該命令用於刪除文件或目錄,是remove的縮寫。
rm -fr dir#強制刪除目錄dir中的所有文件
8、ps命令:該命令用於將某個時間點的進程運行情況選取下來並輸出,process之意。
9、tar命令:該命令用於對文件進行打包,默認情況並不會壓縮,如果指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓。
10、cat命令:該命令用於查看文本文件的內容,後接要查看的文件名,通常可用管道與more和less一起使用,從而可以一頁頁地查看數據。
cat text | less

I. 如何寫exp和imp腳本命令

EXP/IMP備份(導出/導入備份)
exp hely=y 說明:
USERID 用戶名/口令
FULL 導出整個文件 (N)
BUFFER 數據緩沖區的大小
OWNER 所有者用戶名列表
FILE 輸出文件 (EXPDAT.DMP)
TABLES 表名列表
COMPRESS 導入一個范圍 (Y)
RECORDLENGTH IO 記錄的長度
GRANTS 導出許可權 (Y)
INCTYPE 增量導出類型
INDEXES 導出索引 (Y)
RECORD 跟蹤增量導出 (Y)
ROWS 導出數據行 (Y)
PARFILE 參數文件名
CONSTRAINTS 導出限制 (Y)
CONSISTENT 交叉表一致性
LOG 屏幕輸出的日誌文件
STATISTICS 分析對象 (ESTIMATE)
DIRECT 直接路徑 (N)
TRIGGERS 導出觸發器 (Y)
FEEDBACK 顯示每 x 行 (0) 的進度
FILESIZE 各轉儲文件的最大尺寸
QUERY 選定導出表子集的子句

下列關鍵字僅用於可傳輸的表空間
TRANSPORT_TABLESPACE 導出可傳輸的表空間元數據 (N)
TABLESPACES 將傳輸的表空間列表
imp hely=y 說明:
USERID 用戶名/口令
FULL 導入整個文件 (N)
BUFFER 數據緩沖區大小
FROMUSER 所有人用戶名列表
FILE 輸入文件 (EXPDAT.DMP)
TOUSER 用戶名列表
SHOW 只列出文件內容 (N)
TABLES 表名列表
IGNORE 忽略創建錯誤 (N)
RECORDLENGTH IO 記錄的長度
GRANTS 導入許可權 (Y)
INCTYPE 增量導入類型
INDEXES 導入索引 (Y)
COMMIT 提交數組插入 (N)
ROWS 導入數據行 (Y)
PARFILE 參數文件名
LOG 屏幕輸出的日誌文件
CONSTRAINTS 導入限制 (Y)
DESTROY 覆蓋表空間數據文件 (N)
INDEXFILE 將表/索引信息寫入指定的文件
SKIP_UNUSABLE_INDEXES 跳過不可用索引的維護 (N)
ANALYZE 執行轉儲文件中的 ANALYZE 語句 (Y)
FEEDBACK 顯示每 x 行 (0) 的進度
TOID_NOVALIDATE 跳過指定類型 id 的校驗
FILESIZE 各轉儲文件的最大尺寸
RECALCULATE_STATISTICS 重新計算統計值 (N)

下列關鍵字僅用於可傳輸的表空間
TRANSPORT_TABLESPACE 導入可傳輸的表空間元數據 (N)
TABLESPACES 將要傳輸到資料庫的表空間
DATAFILES 將要傳輸到資料庫的數據文件
TTS_OWNERS 擁有可傳輸表空間集中數據的用戶
導入注意事項:
(1) 資料庫對象已經存在
一般情況, 導入數據前應該徹底刪除目標數據下的表, 序列, 函數/過程,觸發器等;
資料庫對象已經存在, 按預設的imp參數, 則會導入失敗
如果用了參數ignore=y, 會把exp文件內的數據內容導入
如果表有唯一關鍵字的約束條件, 不合條件將不被導入
如果表沒有唯一關鍵字的約束條件, 將引起記錄重復
(2) 資料庫對象有主外鍵約束
不符合主外鍵約束時, 數據會導入失敗
解決辦法: 先導入主表, 再導入依存表
disable目標導入對象的主外鍵約束, 導入數據後, 再enable它們
(3) 許可權不夠
如果要把A用戶的數據導入B用戶下, A用戶需要有imp_full_database許可權
(4) 導入大表( 大於80M ) 時, 存儲分配失敗
默認的EXP時, compress = Y, 也就是把所有的數據壓縮在一個數據塊上.
導入時, 如果不存在連續一個大數據塊, 則會導入失敗.
導出80M以上的大表時, 記得compress= N, 則不會引起這種錯誤.
(5) imp和exp使用的字元集不同
如果字元集不同, 導入會失敗, 可以改變unix環境變數或者NT注冊表裡NLS_LANG相關信息.
導入完成後再改回來.
(6) imp和exp版本不能往上兼容
imp可以成功導入低版本exp生成的文件, 不能導入高版本exp生成的文件
使用方法:
例題格式及說明:
1.普通資料庫全部導出和導入
exp 用戶/密碼@dbName file=路徑.dmp full=y --還有其他的參數,看需要進行填寫
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=y commit=y ignore=y --全部導出
$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2 --全部導入

2.指定用戶全部導出
/home/oracle/proct/9.2.0.4/bin/exp userid=用戶/密碼 --說明:本地的資料庫登入(可以指定其他資料庫,則需添加@dbName)
owner=導出的用戶名 file=導出路徑存放目錄.dmp log=導出的日誌信息.log --主要:這是不能使用full=y或則會出錯(默認該用戶全導出)

3.文件參數導出
$ exp parfile=username.par // 在參數文件中輸入所需的參數
參數文件username.par 內容
userid=username/userpassword
buffer=8192000
compress=n
grants=y
file=/oracle/test.dmp
full=y
4.制定表導出(分區表導出及條件表導出)
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2 --或tables(table1,table2,.....)
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=(T1: table1,T2: table2,.....) --T1是分區表
$ exp scott/tiger tables=emp query=/"where job=/'salesman/' and sal/<1600/" file=/directory/scott2.dmp 或根據參數文件進行導出

5.導入(一張或多張表)
$ imp user/pwd file=/dir/xxx.dmp log=xxx.log tables=(table1,table2) fromuser=dbuser
touser=dbuser2 commit=y ignore=y
$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2
commit=y ignore=y

6.只導出數據對象不導出數據
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n --rows=n/y說明是否導出數據行

7.分割多個文件導出和導入
$ exp user/pwd file=1.dmp,2.dmp,3.dmp,… filesize=1000m log=xxx.log full=y
$ imp user/pwd file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=xxx fromuser=dbuser
touser=dbuser2 commit=y ignore=y

8.增量導出和導入
a.完全增量導出(inctype=complete) // 備份整個資料庫
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=complete
b.增量型增量導出 導出上一次備份後改變的數據(inctype=incremental)。
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=incremental
c.累計型增量導出(Cumulative) 只導出自上次"完全"導出之後資料庫中變化的信息。
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=cumulative
d.增量導入:
$ imp usr/pwd FULL=y inctype=system/restore/inctype --(SYSTEM: 導入系統對象,RESTORE: 導入所有用戶對象)

9.使用sysdba進行導出和導入
1. 命令行方式:
A: Windows平台:
C:/> exp 'sys/sys@instance as sysdba' tables=scott.emp file=e:/emp.dmp
B: Unix & Linux平台(這時的"'"需要用到轉義字元"/"):
$ exp /'sys/change_on_install@instance as sysdba/' tables=scott.emp file=/home/oracle/emp.dmp
C: 表空間導入和導出
$ imp /'usr/pwd@instance as sysdba/' tablespaces=xx transport_tablespace=y
file=xxx.dmp datafiles=xxx.dbf
2. 交互輸入方式:
exp tables=scott.emp --不輸入連接字元串,直接回車
Export: Release 10.2.0.3.0 - Proction on Fri Jun 25 07:39:46 2004 Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: sys/change_on_install@instance as sysdba --輸入連接字元串.
3.如果是寫在參數文件中,則連接字元串需要用雙引號了:USERID="sys/change_on_install@instance as sysdba"

10.表空間傳輸(建議:10g以上使用,但我試了在9i沒有找到相對應的檢查表空是否傳輸的語句,10g 支持跨平台的表空間傳輸)
注意:
l.索引在待傳輸表空間集中而表卻不在。(注意,如果表在待傳輸表空間集中,而索引不在並不違反自包含原則,當然如果你堅持這樣傳輸的話,會造成目標庫中該表索引丟失)。
2.分區表中只有部分分區在待傳輸表空間集(對於分區表,要麼全部包含在待傳輸表空間集中,要麼全不包含)。
3.待傳輸表空間中,對於引用完整性約束,如果約束指向的表不在待傳輸表空間集,則違反自包含約束;但如果不傳輸該約束,則與約束指向無關。
4.對於包含LOB列的表,如果表在待傳輸表空間集中,而Lob列不在,也是違反自包含原則的。
a.查看錶空間包含那些XML文件
select distinct p.tablespace_name
from dba_tablespaces p, dba_xml_tables x, dba_users u, all_all_tables t
where t.table_name = x.table_name
and t.tablespace_name = p.tablespace_name
and x.owner = u.username
b.檢測一個表空間是否符合傳輸標準的方法:
SQL > exec sys.dbms_tts.transport_set_check('tablespace_name',true);
SQL > select * from sys.transport_set_violations;
c.簡要使用步驟
1.設置表空間為只讀(假定表空間名字為APP_Data 和APP_Index)
SQL > alter tablespace app_data read only;
SQL > alter tablespace app_index read only;
2.發出EXP 命令
SQL> host exp userid='''sys/password as sysdba''' transport_tablespace=y
tablespaces=(app_data, app_index)
以上需要注意的是:(或則參考我自己寫的 表空間導入和導出例題)
·為了在SQL中執行EXP,USERID 必須用三個引號,在UNIX 中也必須注意避免"/"的使用
·在816 和以後,必須使用sysdba 才能操作
·這個命令在SQL中必須放置在一行(這里是因為顯示問題放在了兩行)
3.拷貝.dbf數據文件(以及.dmp 文件)到另一個地點,即目標資料庫可以是cp(unix)或(windows)或通過ftp 傳輸文件(一定要在bin方式)
4.把本地的表空間設置為讀寫
$ alter tablespace app_data read write;
$ alter tablespace app_index read write;
5.在目標資料庫附加該數據文件 (直接指定數據文件名)
(表空間不能存在,必須建立相應用戶名或者用fromuser/touser)
$ imp file=expdat.dmp userid=」」」sys/password as sysdba」」」
transport_tablespace=y datafiles=(「c:/app_data.dbf,c:/app_index.dbf」)
tablespaces=app_data,app_index tts_owners=hr,oe
6.設置目標資料庫表空間為讀寫
$ alter tablespace app_data read write;
$ alter tablespace app_index read write;
11.優化IMP/EXP的速度(修改參數配置文件)
EXP:
加大large_pool_size,可以提高exp 的速度
採用直接路徑的方式(direct=y),數據不需要經過內存進行整合和檢查.
設置較大的buffer,如果導出大對象,小buffer 會失敗。
export文件不在ORACLE 使用的驅動器上,不要export到NFS 文件系統
UNIX環境:用管道模式直接導入導出來提高imp/exp 的性能
IMP:
建立一個indexfile,在數據import完成後在建立索引
將import 文件放在不同的驅動器上
增加DB_BLOCK_BUFFERS
增加LOG_BUFFER
用非歸檔方式運行ORACLE:ALTER DATABASE NOARCHIVELOG;
建立大的表空間和回滾段,OFFLINE 其他回滾段,回滾段的大小為最大表的1/2
使用 COMMIT=N
使用ANALYZE=N
單用戶模式導入
UNIX環境:用管道模式直接導入導出來提高imp/exp 的性能

12.通過unix/Linux PIPE管道加快exp/imp速度
步驟如下:
通過管道導出數據:
1.通過mknod -p 建立管道
$ mknod /home/exppipe p // 在目錄/home下建立一個管道exppipe注意參數p
2.通過exp 和gzip 導出數據到建立的管道並壓縮
$ exp test/test file=/home/exppipe & gzip < /home/exppipe > exp.dmp.gz
$ exp test/test tables=bitmap file=/home/newsys/test.pipe &
gzip < /home/newsys/test.pipe > bitmap.dmp.gz
3.導出成功完成之後刪除建立的管道
$ rm -rf /home/exppipe
4.shell腳本可以這樣寫(我只是寫主要的)
unix下:
mkfifo /home/exp.pipe
chmod a+rw exp.pipe
compress < exp.pipe > exp.dmp.Z &
su -u oracle -c "exp userid=ll/ll file=/home/exp.pipe full=y buffer=20000000"
rm exp.pipe
linux下:
mknod /home/exppipe p
$ imp test/test file=/home/exppipe fromuser=test touser=macro &
gunzip < exp.dmp.gz > /home/exppipe
$ rm –fr /home/exppipe

J. linux系統中oracle資料庫exp命令提示錯誤怎麼解決

oracle安裝不全,這個命令在:/opt/oracle/proct/10.2.0/db_1/bin目錄下,確認一下exp文件是否存在。

熱點內容
java代碼自動編譯 發布:2025-01-16 19:58:14 瀏覽:313
編程很困難 發布:2025-01-16 19:58:09 瀏覽:673
gg登錄源碼 發布:2025-01-16 19:58:07 瀏覽:292
微信收藏表情文件夾 發布:2025-01-16 19:28:57 瀏覽:15
ra伺服器搭建 發布:2025-01-16 19:28:12 瀏覽:18
javaftp讀取 發布:2025-01-16 19:28:02 瀏覽:185
樂課上傳作業 發布:2025-01-16 19:24:58 瀏覽:936
哈爾濱python培訓 發布:2025-01-16 19:19:30 瀏覽:915
java對象與線程 發布:2025-01-16 19:14:59 瀏覽:897
二維碼源碼vc 發布:2025-01-16 19:14:59 瀏覽:774