Oracle 导入导出

数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中

exp system/manager@TEST file=d:\daochu.dmp full=y
full = y 全部导出 || 不写的话,只导出当前用户

2 将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

3 将数据库中的表table1 、table2导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=" where filed1 like ‘00%’"

上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
  不过在上面命令后面 加上 compress=y 就可以了

导出时遇到的问题:
1.导出时少表,发现缺少的表都是刚创建的表,0条数据。
解决方法:

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null```

执行查询出来的语句,然后在exp导出,就没有问题了

导入

一 在oracle 进入 sys 中 执行操作
1.创建表空间
CREATE TABLESPACE XXXX(表空间的名字)
DATAFILE ‘E:\Oracle_11g\app\Administrator\oradata\orcl\certification.dbf’ (这边可以写成oracle的某个路径下)
SIZE 20M(初始大小)
AUTOEXTEND ON;(自动扩展)

2.创建用户名
CREATE USER XXXX(用户名)
IDENTIFIED BY XXXX(密码)
DEFAULT TABLESPACE XXXX表空间名字 (上面创建的表空间)
TEMPORARY TABLESPACE temp;(临时表空间就写temp即可)

3.给予权限
GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW,CREATE SEQUENCE,UNLIMITED TABLESPACE TO XXXX(用户名) ;
GRANT CONNECT TO XXXX(用户名) ;
GRANT RESOURCE TO XXXX(用户名) ;
GRANT DBA TO XXXX(用户名) ; --dba为最高级权限,可以创建数据库,表等。

二 在cmd 中执行操作
imp usename/password@192.168.xxx/orcl(表示SID)
file= E:\Oracle_11g\app\Administrator\product\11.2.0\dbhome_1\database\xxxx.dmp
full=y

三 在oracle中查看导入表


--查询表空间 和 所登陆用户  中的所有表信息
Select * From Dba_Tables Where Tablespace_Name = '表空间名称' and owner ='账号名'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值