ORACLE 导入导出表

 oracle 导出 

SQL> $ exp username/password@db tables=t_ent_info file='d:\aa.dmp'; 不写表名表示导出所有表


导入:

$ imp scott/tiger@orcl file='d:\aa.dmp' full=y log='d:\a.log';


导入的时候可能会报错 如下 解决方案:

经由常规路径由 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 行
成功终止导入, 没有出现警告。

先删除 再导入就能成功



在同一个库中复制当前表结构或者表结构加数据到另一张表中如下

create table newtable as select  *  from table where 1=2;  复制表结构 【只不过没有主外键需要自己手动添加】

create table newtable as select  *  from table;  复制表结构加数据【只不过没有主外键需要自己手动添加】


1)如果两个表的表结构是否相同,但要插入的字段类型相同:

a. 把A表的全部字段数据插入到B表中:

insert into B select * from A;

b. 把A表中某些字段的数据插入B表中:

   insert into B(字段名)(select 字段名 from A)






你可能感兴趣的:(ORACLE 导入导出表)