概述

  Oracle功能繁多,接触Oracle不深,将接触到的基础知识整理下来,以便不时之需。整理的内容主要有Expdp指令实现数据库备份,Impdp指令实现数据库还原,以及用户、表空间的定义。整理的数据来源多为网上优秀的博客和论坛,内容如有相同之处,纯属转载。

Expdp指令数据备份导出

  expdp工具导出的方式有很多种,使用方便,直接在CMD命令行中输入导出指令即可,这里仅仅介绍按用户名导出数据库文件。如果是普通用户进行数据导出和导入时候,需要授权用户读写目录权限:
  最好以system等管理员赋予: grant read,write on directory dpdata1 to scott;

  1、导出指令格式:  

    A、导出全部数据库格式

              [expdp 用户名/密码 dumpfile=导出文件名.dmp directory=文件目录];

    B、导出指定表空间

              [expdp 用户名/密码@SID名称 dumpfile=导出文件名.dmp directory=文件目录 TABLESPACES=表空间A,表空间B];

              (备注:该导出方式包括表空间和用户,所以还原数据的时候,需要对应的表空间和用户)

    C、导出指定用户的数据

             [expdp 用户名/密码 dumpfile=导出文件名.dmp directory=文件目录 schemas=username];                  

  1. expdp system/ZSORCL@AORCL dumpfile=einv20161106.dmp directory=data_pump_dir schemas=einv

    (使用system导出是为了导出einv schema中的全部内容,包括用户创建和权限授予部分,使用用户本身导出则不包含这些内容。)

    D、导出表空间结构,而非数据格式:

             [expdp 用户名/密码 dumpfile=导出文件名.dmp directory=文件目录  CONTENT=METADATA_ONLY  schemas=username];

    (备注:设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义(导出数据表结构))

  1. expdp system/ZSORCL@AORCL dumpfile=einv20161107.dmp CONTENT=METADATA_ONLY directory=data_pump_dir schemas=einv

          

  2、查询和新建文件目录

  1. select * from dba_directories; #查看Oracle文件目录
    create directory dpdata1 as 'd:\test\dump'; #创建Oracle文件目录
    create or replace directory dpdata1 as 'd:/dmp' #如果dpdata1目录文件存在,就修改文件指向到d:/dmp

Impdp指令数据库还原

  A、导入全部数据库的格式:[expdp 用户名/密码 dumpfile=导入文件名.dmp directory=文件目录],举例如下:

  1. impdp system/Abc.@MyHost transform=segment_attributes:n directory=dpdata1 dumpfile=.dmp FULL=y;

  B、导入表空间的格式:[expdp 用户名/密码 dumpfile=导入文件名.dmp directory=文件目录 TABLESPACES=原备份表空间名称]

             (备注:该导入方式需要和原导出文件的命名空间和用户名保持一致)

  C、导入用户数据的格式

            格式I:(通过remap_tablespace来替换表空间,用新数据库的表空间替换老的表空间)

[expdp 用户名/密码 dumpfile=导入文件名.dmp directory=文件目录 SCHEMAS=username  remap_tablespace=原表空间:新表空间];             

  1. impdp system/1bc2123@ZSORCL DIRECTORY=data_pump_dir DUMPFILE=einv20161106.dmp SCHEMAS=einv;

          格式II:(通过remap_tablespace来替换表空间,用新数据库的表空间替换老的表空间,remap_schema替换就的用户名称schema)

[expdp 用户名/密码 dumpfile=导入文件名.dmp directory=文件目录 remap_schema=原schema:新schema  remap_tablespace=原表空间:新表空间];

  1. impdp system/1bc2123@ZSORCL DIRECTORY=dpdata1 DUMPFILE=einv1106.dmp remap_tablespace=EINV_DATA:ZSEINV_DATA remap_schema=einv:zsmgr

  D、导入表空间数据结果而非数据格式:

[expdp 用户名/密码 dumpfile=导入文件名.dmp directory=文件目录 CONTENT=METADATA_ONLY SCHEMAS=username

remap_tablespace=原表空间:新表空间];

  1. impdp system/3456@TSTRCL dumpfile=einv1107.dmp CONTENT=METADATA_ONLY directory=data_pump_dir remap_schema=einv:zsmgr remap_tablespace=EV_DATA:ZS_DATA

  有些时候,牵扯到分区表的还原时候,需要在sqlplus中,执行如下指令:表示文件自动扩展

  1. #在sqlplus命令里面,先指向第一条
    alter database datafile 'D:\app\Administrator\oradata\orcl\EINVDATA.DBF' autoextend on;
  1. #在sqlplus命令里面,数据还原完成之后,再指向第二条
  1. alter database datafile 'D:\app\Administrator\oradata\orcl\EINVDATA.DBF' resize 2G autoextend off ;

备注:存在表:数据追加(append)和数据替换(replace) ,即:table_exists_action=append

  1. ******************************存在表空:数据追加(append)和数据替换(replace)***********************
  2. impdp system/Abc.@MyHost transform=segment_attributes:n directory=dpdata1 dumpfile=db20161108023000.dmp table_exists_action=append FULL=y;

  举例一个分区表的数据导入和导出指令

分区表的数据导出

  1. #导出分区表table1中的p2014分区数据,按分区表导出的数据tables
  2. expdp demo/demo directory=datapump dumpfile=exp_table1_2014.dmp tables=table1:p2014 logfile=exp_table1_2014.log;

分区表的数据导入

  1. #导入分区表table1中的2014分区数据导入table2中
  2. impdp demo/demo directory=datapump dumpfile=exp_table1_2014.dmp remap_table=table1:table2 table_exists_action=append logfile=impdp_table1_2014
  3. .log

备注:表table2中必须有p2014分区,否则数据导入失败;

表空间和用户创建

1、数据库文件一般都是放在哪里的
select name from v$datafile;

2、传进命名空间
create tablespace EINV_DATA datafile 'D:\oracle\oradata\orcl\yang.dbf' size 3000m;

有时候我们可以附件空间磁盘:

  1. create tablespace EINV_DATA datafile 'D:\ExecSofe\OracleData\einv_data_01.dbf' size 1000m;
  2.  
  3. alter tablespace EINV_DATA add datafile 'D:\ExecSofe\OracleData\einv_data_02.dbf' size 1000M;

3、删除命名空间

  drop tablespace EINV_DATA including contents and datafiles;

4、创建数据库用户并分配表空间

create user 用户名 identified by 密码 default tablespace 用户默认使用哪一个表空间;

  1. create user yanglei identified by yang123 default tablespace EINV_DATA;

5、修改用户的权限
  grant 角色1,角色2 to 用户名;

  1. grant dba, connect to yanglei;

6、修改用户密码

  1. alter user sys identified by password;

7、解锁用户

  1. alter user system account unlock;

 8、删除用户及全部对象

  1. drop user username cascade;

Orcel客户端连接配置:

Net Manger 工具(实用配置网络)

Database Configuration Assistant 工具(配置数据库,包括新增、删除)

参考文章

impdp请教下大家都是怎么追加导入分区表的(http://www.itpub.net/forum.php?mod=viewthread&tid=1940160&extra=&highlight=&page=1)

Oracl基础知识(一)的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. 五种开源协议(GPL,LGPL,BSD,MIT,Apache)

    什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限. 不管产品是免费向公众分发,还 ...

  2. MongoDB高可用复制集分片集群搭建

    1     逻辑架构 1.1     逻辑架构图 1.2     组件说明 一.mongos(query routers):查询路由,负责client的连接,并把任务分给shards,然后收集结果.一 ...

  3. Java细粒度锁实现的3种方式

    最近在工作上碰见了一些高并发的场景需要加锁来保证业务逻辑的正确性,并且要求加锁后性能不能受到太大的影响.初步的想法是通过数据的时间戳,id等关键字来加锁,从而保证不同类型数据处理的并发性.而java自 ...

  4. JavaScript把客户端时间转换为北京时间

    写在前面 写了一遍又一遍,网页老卡住,没保存下来,不写了. 时间转换代码 //获得北京时间 Date.prototype.getBJDate = function () { //获得当前运行环境时间 ...

  5. WebService学习总结(四)——调用第三方提供的webService服务

    http://www.cnblogs.com/xdp-gacl/p/4260627.html 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他 ...

  6. WMPlayer

    WMPlayer视频播放器,AVPlayer的封装,继承UIView,想怎么玩就怎么玩.支持播放mp4.m3u8.3gp.mov,网络和本地视频同时支持.全屏和小屏播放同时支持.自动感应旋转屏幕. 1 ...

  7. ubuntu14.04 安装pip

    参考链接: 1.http://www.liquidweb.com/kb/how-to-install-pip-on-ubuntu-14-04-lts/ 2.http://idroot.net/tuto ...

  8. 第二轮冲刺-Runner站立会议09

    今天:将日历界面和主程序结合起来 明天:查看整个项目,调试是否有问题

  9. 如何刷新或清除HttpURLConnection的连接缓存

    项目需要定期与远程服务器同步数据,基于如下代码: URL url = new URL("http://test.com/sales/info"); connection = (Ht ...

  10. 基本 sql语句

    1.打开数据库 int sqlite3_open( const char *filename,   // 数据库的文件路径 sqlite3 **ppDb          // 数据库实例 ); 2. ...