當前位置:首頁 » 操作系統 » linuxoracle導入數據

linuxoracle導入數據

發布時間: 2022-08-12 18:35:30

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

導入導出與歸不歸檔沒有關系
用oracle用戶命令行下輸入
exp
scott/tiger
file='保存路徑'
full=y
這樣就可以全庫導出
還有一個問題是scott用戶不定要解鎖,否則會無法連接資料庫
解鎖命令是sqlplus
下的輸入alter
user
scott
account
unlock;

B. linux導入oracle資料庫dm文件時卡在一張表上

源資料庫和目標資料庫必須運行在相同的硬體平台上。源資料庫與目標資料庫必須使用相同的字元集。

C. 在linux系統下導入oracle數據文件。

首先oracle版本要對應,或者向下兼容
然後,建立相應的表空間,如果導出文件中有表空間,要在linux下建立相應的,大小你得自己看自己導出來的dmp多大
然後最好建立相應的用戶,比如導出時用的user1,linux下你也要建同一個user1,並賦予相應許可權

然後imp user/password@sid file='路徑\文件名.dmp' full=y

然後等執行完了就完了

D. linux下的oracle庫文件能否導入windows2000中

當然可以,使用oracle自己的導入exp導出工具imp就可以做。作為一個oracle的管理員,exp和imp也是最常用的備份手段之一。
另附oracle的導入導出文檔一個。

oracle Export and Import 簡介

1、Export/Import的用處
Oracle Export/Import工具用於在資料庫之間傳遞數據。
Export從資料庫中導出數據到mp文件中
Import從mp文件中到入數據導資料庫中
下面是一般使用他們的情況
(1)、兩個資料庫之間傳送數據
同一個版本的oracle Server之間
不同版本的oracle Server之間
同種OS之間
不同種OS之間
(2)、用於資料庫的備份和恢復
(3)、從一個SCHEMA傳送到另一個SCHEMA
(4)、從一個TABLESPACE傳送到另一個TABLESPACE

2、DUMP文件
EXPORT到出的是二進制格式的文件,不可以手工編輯,否則會損壞數據。
該文件在ORACLE支持的任何平台上都是一樣的格式,可以在各平台上通用。

DUMP文件在IMPORT時採用向上兼容方式,就是說ORALCE7的DUMP文件可以導入到ORACLE8中,但是版本相差很大的版本之間可能有問題。

3、EXPORT/IMPORT過程
EXPORT導出的DUMP文件包含兩種基本類型的數據
- DDL
- Data
DUMP文件包含所有重新創建Data Dictionary的DDL語句,基本上是可以讀的格式。
但是應該注意的是,千萬不要用文本編輯器編輯之,oracle說不支持這樣做的。

下面列出的是DUMP文件中包括的ORACLE對象,分為TABLE/USER/FULL方式,有些對象
只是在FULL方式下才有(比如public synonyms, users, roles, rollback segments等)

Table mode User Mode Full Database Mode
---------------------- ---------------------- -------------------------
Table definitions Table definitions Table definitions
Table data Table data Table data
Owner's table grants Owner's grants Grants
Owner's table indexes Owner's indexes Indexes
Table constraints Table constraints Table constraints
Table triggers Table triggers All triggers
Clusters Clusters
Database links Database links
Job queues Job queues
Refresh groups Refresh groups
Sequences Sequences
Snapshots Snapshots
Snapshot logs Snapshot logs
Stored proceres Stored proceres
Private synonyms All synonyms
Views Views
Profiles
Replication catalog
Resource cost
Roles
Rollback segments
System audit options
System privileges
Tablespace definitions

Tablespace quotas
User definitions

4、IMPORT時的對象倒入順序
在倒入數據時,ORACLE有一個特定的順序,可能隨資料庫版本不同而有所變化,
但是
現在是這樣的。

1. Tablespaces 14. Snapshot Logs
2. Profiles 15. Job Queues
3. Users 16. Refresh Groups
4. Roles 17. Cluster Definitions
5. System Privilege Grants 18. Tables (also grants,comments, indexes, constraints, auditing)
6. Role Grants
7. Default Roles 19. Referential Integrity
8. Tablespace Quotas 20. POSTTABLES actions
9. Resource Costs 21. Synonyms
10. Rollback Segments 22. Views
11. Database Links 23. Stored Proceres
12. Sequences 24. Triggers, Defaults and Auditing
13. Snapshots

按這個順序主要是解決對象之間依賴關系可能產生的問題。TRIGGER最後導入,所以在INSERT數據到資料庫時不會激發TRIGGER。在導入後可能會有一些狀態是INVALID的PROCEDURE,主要是IMPORT時會影響一些資料庫對象,而IMPORT並不重新編譯PROCEDURE,從而造成這種情況,可以重新編譯之,就能解決這個問題。

5、兼容性問題
IMPORT工具可以處理EXPORT 5.1.22之後的版本導出的DUMP文件,所以你用ORACLE7的IMPORT處理ORACLE6的DUMP文件,依次類推,但是ORACLE如果版本相差很大有可能不能處理。具體的問題可以參照相應的文檔,比如有關參數設置等(COMPATIBLE參數)

6、EXPORT需要的VIEW
EXPORT需要的VIEW是由CATEXP.SQL創建,這些內部VIEW用於EXPORT組織DUMP文件中數據格式。
大部分VIEW用於收集創建DDL語句的,其他的主要供ORACLE開發人員用。

這些VIEW在不同ORACLE版本之間有可能不同,每個版本可能都有新的特性加入。
所以在新的版本裡面執行舊的mp文件會有錯誤,一般可以執行CATEXP.SQL解決這些問題,
解決向後兼容問題的一般步驟如下:

導出資料庫的版本比目標資料庫老的情況:
- 在需要導入的目標資料庫中執行舊的CATEXP.SQL
- 使用舊的EXPORT導出DUMP文件
- 使用舊的IMPORT導入到資料庫中
- 在資料庫中執行新的CATEXP.SQL,以恢復該版本的EXPORT VIEW

導出資料庫的版本比目標資料庫新的情況:
- 在需要導入的目標資料庫中執行新的CATEXP.SQL
- 使用新的EXPORT導出DUMP文件
- 使用新的IMPORT導入到資料庫中
- 在資料庫中執行舊的CATEXP.SQL,以恢復該版本的EXPORT VIEW

7、碎片整理
EXPORT/IMPORT一個很重要的應用方面就是整理碎片。因為如果時初次IMPPORT,就會重新CREATE TABLE 再導入數據,所以整張表都是連續存放的。另外預設情況下EXPORT會在生成DUMP文件是「壓縮(COMPRESS)」TABLE,但是這種壓縮在很多情況下被誤解。事實上,COMPRESS是改變STORAGE參數INITIAL的值。比如:

CREATE TABLE .... STORAGE( INITIAL 10K NEXT 10K..)
現在數據已經擴展到100個EXTENT,如果採用COMPRESS=Y來EXPORT數據,則產生的語句時 STORAGE( INITIAL 1000K NEXT 10K)

我們可以看到NEXT值並沒有改變,而INITIAL是所有EXTENT的總和。所以會出現如下情況,表A有4個100M的EXTENT,執行DELETE FROM A,然後再用COMPRESS=Y 導出數據,產生的CREATE TABLE語句將有400M的INITIAL EXTENT。即使這是TABLE中已經沒有數據!!這是的DUMP文件即使很小,但是在IMPORT時就會產生一個巨大的TABLE.

另外,也可能會超過DATAFILE的大小。比如,有4個50M的數據文件,其中表A有15個10M的EXTENT,如果採用COMPRESS=Y的方式導出數據,將會有INITIAL=150M,那麼在重新導入時,不能分配一個150M的EXTENT,因為單個EXTENT不能跨多個文件。

8、在USER和TABLESPACE之間傳送數據
一般情況下EXPORT的數據要恢復到它原來的地方去。如果SCOTT用戶的表以TABLE或USER方式EXPORT數據,在IMPORT時,如果SCOTT用戶不存在,則會報錯!
以FULL方式導出的數據帶有CREATE USER的信息,所以會自己創建USER來存放數據。

當然可以在IMPORT時使用FROMUSER和TOUSER參數來確定要導入的USER,但是要保證TOUSER一定已經存在啦。

9、EXPORT/IMPORT對SQUENCE的影響
在兩種情況下,EXPORT/IMPORT會對SEQUENCE。
(1)如果在EXPORT時,用戶正在取SEQUENCE的值,可能造成SEQUENCE的不一致。

(2)另外如果SEQUENCE使用CACHE,在EXPORT時,那些在CACHE中的值就會被忽略的,只是從數據字典裡面取當前值EXPORT。

如果在進行FULL方式的EXPORT/IMPORT時,恰好在用sequence更新表中某列數據,而且不是上面兩種情況,則導出的是更新前的數據。

如果採用常規路徑方式,每一行數據都是用INSERT語句,一致性檢查和INSERT TRIGGER
如果採用DIRECT方式,某些約束和trigger可能不觸發,如果在trigger中使用sequence.nextval,將會對sequence有影響。

E. linux oracle 怎麼導入.dmp文件

對於本機安裝了oracle 客戶端,下述命令都可以在 dos 執行,當然 dmp 文件導出在本地。
但在實際研發時,沒人願意在本機上安裝龐大的 oracle 軟體,這時你需要使用 Xshell/puTTY..
遠程工具連接到 Linux 進行操作,進行 Linux 上 dmp 文件的導入導出。
a. 將用戶 system 用戶表導出到指定路徑 D 盤
exp system/password@SID file=d:/chu.dmp full=y

b. 將用戶 system 與 sys 用戶的表導出到指定路徑 D 盤
exp system/password@SID file=d:/chu.dmp owner=(system,sys)

c. 將用戶 system 中的表 table_A、table_B 導出到指定路徑 D 盤
exp system/password@SID file= d:/chu.dmp tables=(table_A,table_B)

d. 將用戶 system 中的表 table1 中的欄位 filed1 以"00"打頭的數據導出
exp system/passwor@SID filed=d:/chu.dmp tables=(table1) query=/" where filed1 like '00%'/"

對於壓縮可以用 winzip 將 dmp 文件進行壓縮,也可以在上面命令後面 加上 compress=y 來實現。
導出 DMP文件適用於大型資料庫完整遷移,對遷移前後兩者伺服器資料庫字元集要求一致,且對CLOB欄位支持不太友好。
對於小數據的導出其實用 PLSQL 能做的更好,更快,導出的SQL也很直觀。
e. 將 D:/chu.dmp 中的數據導入 TEST 資料庫中。
imp system/password@SID file=d:/chu.dmp
imp system/password@HUST full=y file=d:/data/newsmgnt.dmp ignore=y

上面命令如果出現問題,假設有的表已存在,對該表可以不進行導入,後面添加 ignore=y。
f. 將 d:/chu.dmp中的表table1 導入
imp system/passord@SID file=d:/chu.dmp tables=(table1)

F. 我想在linux下的oracle11g資料庫實行導入導出,具體應該怎麼做,用戶有syst

一、設置Linux電腦字元集,使其跟電腦上的Oracle資料庫字元集一致;
在Linux命令行界面,
查詢Oracle資料庫字元集:
select * from nls_database_parameters t where t.parameter=』NLS_CHARACTERSET』;
查詢結果:ZHS16CGB231280

然後vi /home/oracle/.bash_profile
export NLS_LANG=american_america.ZHS16CGB231280
source /home/oracle/.bash_profile

二、導出屬於wcall用戶的Oracle資料庫
exp wcall/wcall@eoss file=wcall.dmp owner=wcall; //導出資料庫

三、在Windows中安裝Oracle.10g.for.Windows,(示例中資料庫安裝在D盤,如果按照在其他磁碟,下面創建表空間的時候,需要做相應的修改)然後創建資料庫eoss,注意安裝的資料庫字元集要跟原來資料庫的相同。然後打開SQLPLUS,用system帳戶登陸後創建用戶wcall。

create user wcall identified by wcall; //創建用戶
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO wcall; //授予許可權
create tablespace CC_CALL
logging
datafile 'D:\oracle\proct\10.1.0\Db_1\cc.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local; //創建表空間CC_CALL
create tablespace CC_CALL_HIS
logging
datafile 'D:\oracle\proct\10.1.0\Db_1\cc_his.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local; //創建表空間CC_CALL_HIS

四、導入資料庫
IMP wcall/wcall@eoss fromuser=wcall touser=wcall file=wcall.dmp STATISTICS =none;

G. linux中怎麼實現導入導出oracle資料庫中

exp和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
-------------------------------------------------------------------------------------------------------------------------------------------
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

H. 怎麼在linux下安裝oracle資料庫

方法/步驟

  1. 首先需要檢查電腦硬體是否滿足安裝的要求

    I. linux下我要使用oracle的sqlload向資料庫中導入數據。

    例如將scott用戶下所有表,導入到test用戶下
    1 exp scott/tiger file=scott.dmp owner=scott
    2 (1) 如果test用戶下有scott的表,哪些需要先刪除在導入
    conn test/test
    select 'drop table '||table_name||' purge;' from user_tables;
    imp test/test file=scott.dmp fromuser=scott touser=test
    (2) 如果test用戶下沒有scott用戶的表,可以直接導入
    imp test/test file=scott.dmp fromuser=scott touser=test

    J. linux下怎麼用命令導入oracle 備份.del格式文件

    1、.del格式文件是DB2導出的定界ASCII文件:
    db2 => EXPORT TO emp.del OF DEL SELECT * FROM emp
    2、[db2inst1@server9 ~]$ vi emp.del
    "000010","CHRISTINE","I","HAAS","A00","3978",19950101,"PRES ",18,"F",19630824,+0152750.00,+0001000.00,+0004220.00
    "000020","MICHAEL","L","THOMPSON","B01","3476",20031010,"MANAGER ",18,"M",19780202,+0094250.00,+0000800.00,+0003300.00
    3、如果你要在db2導入.del文件
    db2 import from myfile.del of del insert into mytable
    4、如果你要在oracle導入.del文件
    你需要根據格式create table,用Toad for oracle 或者Navicat for oracle導入txt即可。

熱點內容
mysql怎麼用資料庫 發布:2025-01-23 07:21:02 瀏覽:997
怎麼訪問暗網 發布:2025-01-23 07:02:04 瀏覽:665
無線配置代理選什麼 發布:2025-01-23 06:52:54 瀏覽:824
c程序匯編程序 發布:2025-01-23 06:49:42 瀏覽:840
cmd命令與linux命令 發布:2025-01-23 06:40:26 瀏覽:806
linux用戶目錄許可權 發布:2025-01-23 06:37:49 瀏覽:233
學計算機避免編程 發布:2025-01-23 06:29:09 瀏覽:661
易語言機器人源碼 發布:2025-01-23 06:24:03 瀏覽:320
匯編語言的編譯可以叫解釋嗎 發布:2025-01-23 06:23:22 瀏覽:35
tomcat編譯後的文件 發布:2025-01-23 06:05:46 瀏覽:254