zoukankan      html  css  js  c++  java
  • oracle expdp 导出库

    先普及一下使用expdp备份oracle数据库的过程吧。

    将服务器A(CentOS)上的库导出:(服务端sqlplus里可以执行的一般都可以在客户端plsql里远程执行。sqlplus可以远程操作吗?没用过。)

    这里演示sqlplus里执行的:

    cmd输入:

    sqlplus /nolog;

    connect as sysdba;

    接下来输入sys账户及密码登陆;#这里以sysdba登陆,以便创建导出目录后给用户drag赋予读写权限,所以不以drag登陆。另外,我试了sqlplus /as sysdba;登陆失败,以及sqlplus sys/sys或sqlplus "sys/sys"都失败,不知为何。

    SQL>create directory dump_dir as '/opt/dump';
    SQL>grant READ ,WRITE ON DIRECTORY dump_dir TO drag;
    SQL>select * from dba_directories;#查看数据库所有的目录。

    退出到系统:
    C:>expdp drag/dragtest   schemas=drag dumpfile=drag.dmp DIRECTORY=dump_dir 导出drag用户下的库。

    C:>EXPDP drag/dragtest  directory=/var/ TABLES=t_hostinfhis_n1 dumpfile=drag.dmp parallel=4 logfile=exp.log #导出一些表
    C:>expdp drag/dragtest   DIRECTORY=dump_dir DUMPFILE=drag.dmp FULL=y #导出整个库

    C:>expdp drag/dragtest   schemas=drag dumpfile=drag.dmp DIRECTORY=dump_dir content=metadata_only 导出drag用户下的库,只导出元数据,不导出表中数据

    content=data_only则相反

    错误和解决:
    1、文件无法正确写入:dump_dir物理上不存在,手动创建,另外注意赋予权限给drag;只有在系统身份下才能赋予权限给drag,如果是drag创建的则不需要赋予。

    有时候执行了grant 赋予了权限也不行,索性系统里面:chmod 777 /opt/dump ,然后就可以了。

    2、最纠结的是,一开始我查看以前的操作记录是:

    expdp drag/dragtest@testLinux schemas=drag dumpfile=drag130.dmp DIRECTORY=dump_dir  parallel=4 logfile=expdrag.log;导出drag用户下的库。

    注意账户信息后面是要加上实例名的,可今天不断报错。后来把@及以后的去掉就不报错了。。

    难道是因为我本地导出的,难道之前是远程用plsql导出的才加服务名?不记得了。。也许是这么个道理。。

    3.命令结束不要分号。

  • 相关阅读:
    C#读写xml文件
    XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
    C#异步批量下载文件
    echarts的markline的使用 y轴预警线
    Bootstrap-table 增删改查
    二维数组 和 稀疏数组的相互转换 及 数据存入文件中
    Bootstrap-table实现动态合并相同行
    echarts 中 参数的详讲
    BootstrapTable的简单使用教程
    遍历List 中 Map 的值
  • 原文地址:https://www.cnblogs.com/peterpanzsy/p/2989888.html
Copyright © 2011-2022 走看看