oracle数据库数据导入同一个用户,如何实现覆盖

oracle数据库数据导入同一个用户,如何实现覆盖,第1张

1、重复导入已存在的数据库,有以下两种导入方法IMP和IMPDP。

2、IMP导入的时候 :如果已经存在此表, 会告诉你无法创建此表,因为表已经存在。同时使用参数 full=y ignore=y 那就是全部导入,把dmp里的所有数据插入到表里面。

3、数据备份,使用命令:exp user/user file=d:\user.dmp full=y恢复时,使用命令:imp user/user FILE=d:\user.dmp fromuser=user touser=user full=y ignore=y。

4、IMPDP导入的时候 :用参数table_exists_action=replace 进行删除后覆盖table_exists_action选项。

5、数据备份,使用命令:expdp user/user directory=dump_dir dumpfile=schema.dmp

logfile=schema.log schemas=user job_name=exp_user_schema恢复时。

oracle中导入数据不存在覆盖的问题,如果有唯一约束条件,那么导入重复的记录会直接报错,如果没有唯一约束条件,那么导入只会在原表数据基础上追加;不存在覆盖的问题。

你截图中的是导入的指导界面,指定导入的字段对应关系,这个设置跟我上面说的原则不冲突,所以说要么报错要么追加,不会覆盖。

还有下面你说的问题,如果你的表是空,没有数据,那哪来的覆盖一说呢?

C:\Documents

and

Settings\Administrator>exp

test1

rows=y

file=d:/oracle.dmp

tables=t1

Export:

Release

10.2.0.1.0

-

Production

on

星期四

5月

20

07:57:10

2010

Copyright

(c)

1982,

2005,

Oracle.

All

rights

reserved.

口令:

连接到:

Oracle

Database

10g

Enterprise

Edition

Release

10.2.0.1.0

-

Production

With

the

Partitioning,

OLAP

and

Data

Mining

options

已导出

ZHS16GBK

字符集

AL16UTF16

NCHAR

字符集

即将导出指定的表通过常规路径...

.

.

正在导出表

T1导出了

2

成功终止导出,

没有出现警告。

C:\Documents

and

Settings\Administrator>imp

test1

rows=y

file=d:/oracle.dmp

Import:

Release

10.2.0.1.0

-

Production

on

星期四

5月

20

07:58:56

2010

Copyright

(c)

1982,

2005,

Oracle.

All

rights

reserved.

口令:

连接到:

Oracle

Database

10g

Enterprise

Edition

Release

10.2.0.1.0

-

Production

With

the

Partitioning,

OLAP

and

Data

Mining

options

经由常规路径由

EXPORT:V10.02.01

创建的导出文件

已经完成

ZHS16GBK

字符集和

AL16UTF16

NCHAR

字符集中的导入

.

正在将

TEST1

对象导入到

TEST1

.

正在将

TEST1

的对象导入到

TEST1

IMP-00015:

由于对象已存在,

下列语句失败:

"CREATE

TABLE

"T1"

("A"

VARCHAR2(20),

"B"

NUMBER,

"C"

NUMBER(4,

2))

PCTFREE"

"

10

PCTUSED

40

INITRANS

1

MAXTRANS

255

STORAGE(INITIAL

65536

FREELISTS

1

FR"

"EELIST

GROUPS

1

BUFFER_POOL

DEFAULT)

LOGGING

NOCOMPRESS"

成功终止导入,

但出现警告。

destroy参数,用于覆盖表空间中的数据文件。

我刚才是想覆盖t1表,而不是数据文件。所以destory没有效果

估计你的也是类似的情况。

[TEST1@orcl#20-5月

-10]

SQL>drop

table

t1

purge

表已删除。

经由常规路径由

EXPORT:V10.02.01

创建的导出文件

已经完成

ZHS16GBK

字符集和

AL16UTF16

NCHAR

字符集中的导入

.

正在将

TEST1

的对象导入到

TEST1

.

正在将

TEST1

的对象导入到

TEST1

.

.

正在导入表

"T1"导入了

2

成功终止导入,

没有出现警告。

先删除

再导入就能成功

那么

我只删除其中一行数据呢?

[TEST1@orcl#20-5月

-10]

SQL>delete

from

t1

where

b=1

已删除

1

行。

[TEST1@orcl#20-5月

-10]

SQL>commit

提交完成。

。。。。。成功终止导入,

但出现警告。

也不行,create

table

的时候就失败了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6693284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存