zoukankan      html  css  js  c++  java
  • oracle的数据泵导入,导出以及创建用户及删除当前连接用户

    一、导出

    1、oracle的数据导出,导入都是在服务器上进行,所以你要登录到数据库的服务器,用sqlplus来进行,速度比imp,exp要好很多,内容也更全

    2、SQL> CREATE OR REPLACE DIRECTORY dir_dump AS 'D:dp_win_dir'; windows下可能要先新建这个文件夹

       SQL> grant read,write on directory dp_dir to ncdtk;     /*对用户dyl附加对目录dp_dir可读可执行的权限,用system身份附权限*/

        Grant succeeded.
      3、 数据泵导出数据,必须在cmd命令下

    expdp ncdtk/ncdtk schemas=ncdtk DIRECTORY=dp_dir dumpfile=ncdtk.dmp logfile=ncdtk.log;
    如果是多实例的话最好这样:
    expdp djksk/djksk@db_djksk schemas=djksk DIRECTORY=dp_dir dumpfile=djksk.dmp logfile=djksk.log;

    二、导入

     1、也是先建导入目录,如果建好了,就不用再建

        select * from dba_directories;可以查看是否建了导入或者导出目录

    2、--从源数据库中向目标数据库导入表p_street_area
    按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
    (1)impdp sq/sq_hfqnc@hfq transform=segment_attributes:n dumpfile =sq.dmp logfile=sq.log directory=dir_dump  
    reuse_datafiles=y REMAP_SCHEMA=djksk:ld   这个是导入分区表的语句

    (2)impdp sq/sq_hfqnc@hfq dumpfile =sq.dmp logfile=sq.log directory=dir_dump   这个是导入一般表的语句

    三、创建用户和删除用户

      要想用数据泵导入,导入的数据要完全覆盖之前数据,索性先删除用户,再创建用户,再导入

      1、删除用户,提示有连接

         (1)select username,sid,serial#,status from v$session 查看哪些status不是killed的,然后用下面语句给她杀掉
         (2)alter system kill session'532,4562'

    2、新建用户

     create temporary tablespace sq_temp                          //临时表空间
    tempfile 'D:appAdministratororadatahfqsq_temp.dbf' //表空间经常放置的路径
    size 50m  
    autoextend on  
    next 50m maxsize 20480m  
    extent management local;  
     

    create tablespace sq_data  
    logging  
    datafile 'D:appAdministratororadatahfqsq_data.dbf'
    size 50m  
    autoextend on  
    next 50m maxsize 20480m  
    extent management local;  
     



    create user sq identified by "sq_hfqnc"     //创建用户
    default tablespace sq_data  
    temporary tablespace temp;  

    grant connect,resource,dba to sq;          //给用户赋权限
    grant create session, create table,unlimited tablespace,create procedure,
    create sequence,create synonym,create trigger,create view to sq;

    grant all privileges  TO sq;                   //如果要求不大,就把所有的权限赋给用户

    四、如果导错了,需要删除一个用户,但是这个用户无法删除,需要查出会话里的用户,然后杀掉,有可能会话里有多个这个用户,那么要全部一一杀掉才行

      

    select username,sid,serial#,status from v$session
    alter system kill session'532,4562'

    五、一般的导入导出语句

    1、导入  在cmd的模式下,注意加上日志:

    imp center/center@ONECARD_CENTER file='D:data7中dataoradata.dmp' fromuser='CCENSE' touser='center' ignore=y commit=y grants=y log='D:data7中dataimp.log'

    2、导出 在cmd的模式下

    exp scott/tiger@orcl file=F:sign.sql tables=表名,表名 grants=y log='D:data7中dataexp.log'

  • 相关阅读:
    Android APK瘦身方法小结
    快速了解Android重要机制
    Android 画笔Paint
    android 图片凸出
    金钱转换
    WPF属性与特性的映射(TypeConverter)
    XMAL 中x名称控件的Auttribute
    AtCoder Grand Contest 012 B
    scau 17967 大师姐唱K的固有结界
    Centos7开机自动启动服务和联网
  • 原文地址:https://www.cnblogs.com/li1111xin/p/4672351.html
Copyright © 2011-2022 走看看