当前位置:首页 » 操作系统 » 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即可。

热点内容
服务器可以变电脑使用吗 发布:2025-01-15 19:40:29 浏览:200
传奇手游免费脚本 发布:2025-01-15 19:30:21 浏览:300
我国当前资源配置存在哪些问题 发布:2025-01-15 19:25:03 浏览:513
存储在哪里呀 发布:2025-01-15 19:11:39 浏览:450
pythonuniquelist 发布:2025-01-15 19:10:41 浏览:477
怎么升安卓系统下载 发布:2025-01-15 19:04:27 浏览:894
mcrypt扩展php 发布:2025-01-15 19:01:12 浏览:436
html源码解析 发布:2025-01-15 19:01:10 浏览:223
网络硬盘录像机存储 发布:2025-01-15 18:48:20 浏览:894
大学生java课程培训 发布:2025-01-15 18:45:53 浏览:487