美文网首页
在ubuntu下将dmp数据导入Oracle的常用命令

在ubuntu下将dmp数据导入Oracle的常用命令

作者: thelong的学习日记 | 来源:发表于2019-08-05 17:30 被阅读0次

    0.导入文件很大时需要加一个undo表空间(如果不大,可跳过)

      
    

    1.这一句是创建一个临时表空间,表空间的名称就是bigdata2temp

    CREATE BIGFILE TEMPORARY TABLESPACE  bigdata2temp TEMPFILE '/home/yanqilong/Oracle/oradata/orcldb/bigdata2temp.dbf'  SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
    

    2.这一句是创建一个表空间,表空间的名称就是bigdata2

    CREATE BIGFILE TABLESPACE bigdata2 DATAFILE '/home/yanqilong/Oracle/oradata/orcldb/bigdata2.dbf'  SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    

    3.创建用户并指定默认空间和临时表空间

    create user BIGDATA2
    (用户名) identified by bigdata2 (密码) default tablespace bigdata2 (默认表空间) temporary tablespace bigdata2temp(临时表空间);
    

    4.这个是给 BIGDATA2用户授权会话

    GRANT connect,exp_full_database,imp_full_database,resource to BIGDATA2;
    

    5.给用户BIGDATA2授权读写

    grant read,write on directory data_dir to BIGDATA2;
    

    6.将导入或导出的文件放在这个目录下

    create directory dump_dir as '/mnt/dev_sdc1/Data_Oracle';
    

    7.impdp导入则用该语句:

    impdp BIGDATA/mima_test dumpfile=c27-10.dmp logfile=impdp_BIGDATA.log schemas=BIGDATA directory=data_dir
    

    8.imp语句则用该语句,注意:如果出现未知参数则删掉,原因是数据导出时未加

    impdp并行导入大文件(100G以上)
    impdp BIGDATA1/bigdata1 dumpfile=EXPLTD_%U.DMP  logfile=impdp_BIGDATA11.log  remap_schema=bigdata:bigdata1 directory=dump_dir parallel=4
    
    imp导入文件
    imp system/otacle  buffer=409600 feedback=10000 full=y file=/home/Data_Oracle/01.dmp
    
    

    至此就结束了,以下是常用命令:
    9.查询dmp数据的用户名:

    head -10 /home/yanqilong/Data_Oracle/dagux262.dmp |strings
    

    10.导入文件很大时需要加一个undo表空间

    alter tablespace UNDOTBS1 add datafile '/home/yanqilong/Oracle/oradata/orcldb/undotbs02.dbf' size 1000m autoextend on next 200m
    

    11.删除用户

    drop user  用户名 CASCADE;
    

    12.删除表空间

    drop  tablespace 表空间名 including contents and datafiles;
    

    13.查看表空间

    SELECT   df.tablespace_name, COUNT (*) datafile_count,
       ROUND (SUM (df.BYTES) / 1048576) size_mb,
      ROUND (SUM (free.BYTES) / 1048576, 2) free_mb,
      ROUND (SUM (df.BYTES) / 1048576 - SUM (free.BYTES) / 1048576, 2 ) used_mb,
       ROUND (MAX (free.maxbytes) / 1048576, 2) maxfree,
       100 - ROUND (100.0 * SUM (free.BYTES) / SUM (df.BYTES), 2) pct_used,
      ROUND (100.0 * SUM (free.BYTES) / SUM (df.BYTES), 2) pct_free
      FROM dba_data_files df,
      (SELECT   tablespace_name, file_id, SUM (BYTES) BYTES, MAX (BYTES) maxbytes FROM dba_free_space GROUP BY tablespace_name, file_id
    WHERE
     df.tablespace_name = free.tablespace_name(+)
      AND df.file_id = free.file_id(+)
      GROUP BY df.tablespace_name ORDER BY 8
      ;
    

    相关文章

      网友评论

          本文标题:在ubuntu下将dmp数据导入Oracle的常用命令

          本文链接:https://www.haomeiwen.com/subject/dobkdctx.html