设为首页 收藏本站
查看: 1070|回复: 1

[经验分享] Oracle11g和10g数据导入导出

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-24 08:58:21 | 显示全部楼层 |阅读模式
背景:Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。下面总结下具体的导入导出步骤:
-------------------------------------------------------------------------------------------
             #11g新特性数据库使用数据泵expdp&impdp导出导入操作#
-------------------------------------------------------------------------------------------
1、导出操作之前需要做的事情
[oracle@fcdb2 ~]$ sqlplus / as sysdba

SQL> create or replace directory test_expdir as '/home/oracle/';

Directory created.

SQL> grant read,write on directory test_expdir to user;

Grant succeeded.
-------------------------------------------------------------------------------------------
2、导出操作

1)按用户导

[oracle@fcdb2 ~]$ expdp system/password@SID dumpfile=test_expdp.dmp DIRECTORY=test_expdir owner=user;

[oracle@fcdb2 ~]$ impdp user/password DIRECTORY=test_expdir DUMPFILE=test_expdir.dmp;

2)并行进程parallel

[oracle@fcdb2 ~]$ expdp user/password@SID directory=test_expdir dumpfile=test_expdir.dmp parallel=40 job_name=test

3)按表名导

[oracle@fcdb2 ~]$ expdp user/password@SID TABLES=emp,dept dumpfile=test_expdir.dmp DIRECTORY=test_expdir;

4)按查询条件导

[oracle@fcdb2 ~]$ expdp user/password@SID directory=test_expdir dumpfile=test_expdir.dmp Tables=emp query='WHERE deptno=20';

5)按表空间导

[oracle@fcdb2 ~]$ expdp system/manager DIRECTORY=test_expdir DUMPFILE=test_expdir.dmp TABLESPACES=temp,example;

6)导整个数据库

[oracle@fcdb2 ~]$ expdp system/manager DIRECTORY=test_expdir DUMPFILE=full.dmp FULL=y;
-------------------------------------------------------------------------------------------
3、导入操作之前需要做的事情

[oracle@fcdb2 ~]$ sqlplus / as sysdba

SQL> create or replace directory dpdata1 as '/home/oracle';

Directory created.

SQL> grant read,write on directory dpdata1 to USER;

Grant succeeded.
-------------------------------------------------------------------------------------------
4、导入操作

1)导到指定用户下

[oracle@fcdb2 ~]$ impdp user/password DIRECTORY=dpdata1 DUMPFILE=test_expdir.dmp SCHEMAS=user;

2)改变表的owner

[oracle@fcdb2 ~]$ impdp user/password DIRECTORY=dpdata1 DUMPFILE=test_expdir.dmp TABLES=username.tablename REMAP_SCHEMA=user1:user2;

3)导入表空间

[oracle@fcdb2 ~]$ impdp user/password DIRECTORY=dpdata1 DUMPFILE=test_expdir.dmp TABLESPACES=example;

4)导入数据库

[oracle@fcdb2 ~]$ impdb user/password DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

5)追加数据

[oracle@fcdb2 ~]$ impdp user/password DIRECTORY=dpdata1 DUMPFILE=test_expdir.dmp SCHEMAS=user TABLE_EXISTS_ACTION
-------------------------------------------------------------------------------------------
            #10g(包含10g)之前的数据库使用exp&imp导出导入操作#
-------------------------------------------------------------------------------------------
数据导出:
----------
1,将数据库TEST完全导出,用户名user,密码password,导出到D:exp.dmp中

[oracle@fcdb2 ~]$ exp user/password@SID file=d:exp.dmp full=y

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

[oracle@fcdb2 ~]$ exp user/password@SID file=d:exp.dmp owner=(system,sys)

3,将数据库中的表test1、test2导出

[oracle@fcdb2 ~]$ exp user/password@SID file= d:exp.dmp tables=(test1,test2)

4,将数据库中的表table1中的字段age以"1"打头的数据导出

[oracle@fcdb2 ~]$ exp user/password@SID file=d:exp.dmp tables=(table1) query=" where age like '1%'"

数据导入:
----------
1,将D:exp.dmp中的数据导入TESTDB数据库中.

[oracle@fcdb2 ~]$ imp user/password@TESTDB file=d:exp.dmp

[oracle@fcdb2 ~]$ imp user/password@TESTDB full=y file=d:exp.dmp ignore=y

备注:如果导入时有的表已经存在,不加ignore=y,导入的时候会报错,意思是对该表就不进行导入。

2,将d:exp.dmp中的表table1导入TESTDB数据库中.

[oracle@fcdb2 ~]$ imp user/password@TESTDB file=d:exp.dmp tables=(table1)

-------------------------------------------------------------------------------------------
                             ###10g的备注###
-------------------------------------------------------------------------------------------
如果想要导出的文件进行压缩,既可以把导出的dmp文件使用linux压缩命令压缩。也可以在上面的命令后面加上 compress=y 来实现。
-------------------------------------------------------------------------------------------
                                  ###11g的备注###
-------------------------------------------------------------------------------------------
###更换表空间
  采用remap_tablespace参数
  --导出user1用户下的所有数据

expdp system/password directory=exp_dir dumpfile=user1.dmp SCHEMAS=user1

注:如果是用sys用户导出的用户数据,包括用户创建、授权部分;用自身用户导出则不含这些内容。
  --以下是将user1用户下的数据全部导入到表空间TDB1(原来为TDB2表空间下)下

impdp user/password directory=user_impdir dumpfile=user1.dmp remap_tablespace=TDB1:TDB2

###要想创建用户,首先要创建表空间:

create tablespace TDB1 datafile '/home/TDB1.DBF' size 100M autoextend on next 100M maxsize 30000M;

###现在建好了名为'TDB1'的表空间,下面就可以创建用户了:

SQL> CREATE USER TEST1 IDENTIFIED BY TEST1 ACCOUNT UNLOCK DEFAULT TABLESPACE TDB1 TEMPORARY TABLESPACE DB_TEMP;

默认表空间'DEFAULT TABLESPACE'使用上面创建的表空间名:TDB1。
临时表空间'TEMPORARY TABLESPACE'使用上面创建的临时表空间名:DB_TEMP。

###接着授权给新建的用户:
SQL> GRANT CONNECT,RESOURCE TO TEST1;
GRANT CREATE,SELECT,DELETE TO TEST1;
--表示把 connect,resource权限授予TEST1用户

SQL> GRANT DBA TO TEST1;
授权成功。
--表示把 dba权限授予给TEST1用户


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-155492-1-1.html 上篇帖子: oracle 11g r2 rac ssh两节点互信对等配置Permission denied (publickey,gssapi-with-mic,passw 下篇帖子: VMware下CentOS6.5安装oracle11g RAC
累计签到:67 天
连续签到:1 天
发表于 2016-3-22 21:44:07 | 显示全部楼层
棒~  正好在准备做数据导出

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表