对exp full 和 imp full的认识

前段时间听同事说。Toad 工具可以打开 oracle数据库的 .dmp 文件。今天抽空试了试,果然可以!
Oracle 执行 export 操作 会把 表的定义导出、表的数据导出。

其实 .dmp 文件 就是 Oracle导出操作的 反操作,类似于 反编译!

之前,一直以为 对 数据库A 执行全库导出之后,可以 把A库的导出文件 导入 数据库B,从而在数据库B上实现数据库A的重演。(后来才知道,如果实现数据库的重演,必须事先在数据库B 创建数据库A里的全部用户、表空间)

看到 .dmp 文件才知道 以上认识 是错误的

事实上 .dmp 文件并不包含表空间的创建命令。原理很简单,例如从WINDOWS 平台导出一个数据库,然后导入 LINUX 平台。WINDOWS平台的表空间的数据文件路径分隔符 是 ‘\‘,而 LINUX 平台的表空间的数据文件路径分隔符是 ‘/‘,这一点 ORACLE 并不能预知。因此  .dmp 中绝对不会包含表空间的创建指令的。

当然 .dmp 文件中也不包括用户的创建 命令

因此需要我们事先创建用户、创建表空间

下面附带 两个sql语句予辅助

使用 oracle数据库提供的 拼字符 ‘||’ 批量创建 表空间

SQL> select ‘create tablespace ‘||tablespace_name||‘ datafile ‘||‘‘‘‘||file_name||‘‘‘‘||‘ size ‘||bytes/1024/1024||‘M;‘ ct_tbs from dba_data_files;

CT_TBS
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
create tablespace USERS datafile ‘/ora_data/oradata/orcl/users01.dbf‘ size 112.5M;
create tablespace UNDOTBS1 datafile ‘/ora_data/oradata/orcl/undotbs01.dbf‘ size 80M;
create tablespace SYSAUX datafile ‘/ora_data/oradata/orcl/sysaux01.dbf‘ size 540M;
create tablespace SYSTEM datafile ‘/ora_data/oradata/orcl/system01.dbf‘ size 730M;
create tablespace LVSKSK_T_JS datafile ‘/u01/app/oracle/oradata/prod/lvsksk_t_js01.dbf‘ size 200M;
create tablespace MY_TBS datafile ‘/u01/app/oracle/product/11.2.0/db_1/dbs/E:APPORACLEORADATADZFPMXMY_TBS01.DBF‘ size 10M;
create tablespace TEST datafile ‘/u01/app/oracle/product/11.2.0/db_1/dbs/E:APPORACLEORADATADZFPMXTEST01.DBF‘ size 10M;
create tablespace TBS datafile ‘/u01/app/oracle/product/11.2.0/db_1/dbs/E:APPORACLEORADATADZFPMXTBS01.DBF‘ size 10M;

批量创建用户
SQL> select ‘ create user ‘||username||‘ identified by xxx ‘||‘ default tablespace ‘||default_tablespace ct_user from dba_users where account_status=‘OPEN‘ order by created desc;

CT_USER
----------------------------------------------------------------------------------------------------------------
 create user DEV123 identified by xxx  default tablespace USERS
 create user DEV identified by xxx  default tablespace USERS
 create user TEST123 identified by xxx  default tablespace USERS
 create user TEST identified by xxx  default tablespace USERS
 create user SCOTT identified by xxx  default tablespace USERS
 create user SYSMAN identified by xxx  default tablespace SYSAUX
 create user DBSNMP identified by xxx  default tablespace SYSAUX
 create user ORACLE_OCM identified by xxx  default tablespace USERS
 create user SYS identified by xxx  default tablespace SYSTEM
 create user SYSTEM identified by xxx  default tablespace SYSTEM

有了这些sql语句 就放到sqlplus 直接执行吧

时间: 2024-10-17 02:20:47

对exp full 和 imp full的认识的相关文章

exp/expdp 与 imp/impdp命令导入导出数据库详解

一.exp命令导出数据库 如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中文显示,如果set nls_lang=American_america.字符集,那么帮助就是英文的了. 参数: 1.1  导出用户全部数据 exp 登录名称/用户密码@服务命名 FILE=文件存储的路径以及名称 log=日志存储的路径以及名称 FULL=Y(表示导出全部数据,如视图.索引关联关系等等全

Oracle中exp导出与imp导入的参数(full,owner/formuser/touser)测试

1.exp导出的参数(FULL,OWNER)测试 先知道的一点是full不能与owner共存,还有都是以用户的方式导出(在这里),其中不仅仅包括表,这可能就是下面报warnings的原因,因为Oracle系统库里边有动态的表或其它动态对象. [A]首先是DBA(system)用户连接数据库 1)都不指 -> 仅仅导出system模式.(报了点warnings) 2)owner=test -> 仅仅导出owner指定的模式(test). 3)full=y -> 全库导出,需注意!!!,因为

Oracle备份与恢复之exp/imp

获取帮助 exp help=y/imp help=y 工作方式 交互式 exp 命令行 exp user/[email protected] file=/oracle/test.dmp full=y 参数文件方式 exp parfile=username.par 参数文件内容 userid=username/userpassword buffer=819200 compress=n grants=y file=/oracle/test.dmp full=y 三种模式 表方式 将指定表的数据导入或

Oracle数据导入导出imp/exp

在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. Oracle数据导出exp Exp参数详解: USERID 运行导出命令的帐号的用户名/口令 BUFFEER 用来取数据行的缓冲区的大小 FILE 导出转储文件的名字 COMPRESS 导出是否应该压缩有碎片的段成一个范围,这将会影响STORAGE子句 GRANTS 导出时否要导出数据库对象上的授权 INDEXES

Oracle imp exp命令详解

如何在oracle中导入dmp数据库文件? oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用. 执行环境:可以在sqlplus.exe或者dos(命令行)中执行, dos中可以执行时由于在oracle 8i 中 安装目录\ora81\bin被设置为全局路径, 该目录下有exp.ex

oracle的exp和imp命令的使用【转载】

oracle的exp和imp命令的使用 我们通常要对ORACLE的数据进行导入,导出,在没有expdb,impdb以前(10G以前),我们都是使用exp 导出,imp命令来实现导入. 打开CMD窗口,实现IMP,EXP主要是SQLPLUS.EXE调用IMP.EXE,EXP.EXE来完成的. 下面是几个常用的关于exp,imp命令的一些举例 举例导出数据库服务abc,用户user,密码psd下的table1,table2,table3表到d:\data目录下,导出文件名为test.dmp,语句为:

Oracle下的exp/imp

在平时做Oracle的备份的时候一般都是做逻辑热备份,而做逻辑热备份一般都是使用exp/imp,在这里就简单的说一说. 使用exp导出数据imp导入数据操作如下: exp username/password owner=backup file=backup.dmp imp username/password file=backup.dmp ignore=y full=y 在这里解释一下其中ignore=y表示忽略创建错误,继续后面的操作,这个参数在full=y表示全部导入包括表约束这些内容,这个

exp/imp三种模式——完全、用户、表

exp/imp三种模式——完全.用户.表    原文地址http://www.2cto.com/database/201305/214019.html ORACLE数据库有两类备份方法.第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库:第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备. 数据库逻辑备份方法 ORACLE数据库

Oracle数据导入导出imp/exp(转)

在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 一.Oracle数据导出exp  1.Exp参数详解(红色字体代表比较重要的参数): (1) USERID 运行导出命令的帐号的用户名/口令 (2) BUFFEER 用来取数据行的缓冲区的大小 (3) FILE 导出转储文件的名字 (4) COMPRESS 导出是否应该压缩有碎片的段成一个范围,这将会影响STORA