oracle的数据库的导入导出.docx_第1页
oracle的数据库的导入导出.docx_第2页
oracle的数据库的导入导出.docx_第3页
oracle的数据库的导入导出.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

从一个用户expdp导出再impdp导入到另一个用户(示例:讲scott用户里面的表全部迁移到新建的test用户里面)如果想导入的用户已经存在:1.导出之前需要做的一些操作,进入数据库,默认为sys用户SQL create directory dumpdir as /home/oracle/test_bk ;(该备份路径是需要手动创建的)SQL grant read,write on directory dumpdir to scott(scott为源用户);导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp示例:expdp scott/tiger directory=dumpdir dumpfile=scott.dmp2.导入之前需要做一些操作,进入数据库,默认为sys用户SQL create directory dumpdir as /home/oracle/test_bk ;(该备份路径是需要手动创建的)SQL grant read,write on directory dumpdir to test(test为目标用户);导入用户 impdp test/test directory=dumpdir dumpfile=scott.dmp REMAP_SCHEMA=scott:test full=y;如果想导入的用户不存在:1. 导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp2. 导入用户 impdp system/passsystem directory=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 full=y;3. user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码impdp遇到的错误C:Documents and SettingsAdministratorimpdp aaa/ccc directory=data_dump dumpfile=fromaaa.dmp logfile=IMP_DATA_20100618.LOG连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsORA-39001: 参数值无效ORA-39000: 转储文件说明错误ORA-39143: 转储文件 F:ora10G_expdpic_price_fromlufang.dmp 可能是原始的导出转储文件可恶的提示让我一直以为是版本的的问题,因为是同事给的dmp文件,用的又都是10.2.0版本,自然以为用的是expdp,所以一直用impdp导入,其他的权限都没问题,所以最后怀疑同事用的是exp,所以试了下imp导入,成功执行了。遇到的vnc错误解决方法:改变xstartup的权限这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。在Linux中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)所以需要执行:chmod 777 root/.vnc/xstartupExp/imp和expdp/impdp的区别在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间。oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间,而且文件也要小很多。 1.使用expdp要先在数据库中创建directory,并给相应的用户read,write权限.SQLcreate directory dmpdir as /u01/dmdir;SQLgrant read,write on directory to test; 2.常用导出方法$expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=test$expdp scott/tiger DUMPFILE=tmp_dump.dmp DIRECTORY=dmpdir TABLES=(tmp_test:p1,tmp_test:p2) JOB_NAME=tmp_dump LOGFILE=tmp_dump.log$expdp scott/tiger DUMPFILE=full.dmp DIRECTORY=dmpdir FULL=Y JOB_NAME=full$expdp scott/timer DUMPFILE=tmp_200703.dmp DIRECTORY=dmpdir TABLES=tmp QUERY=”where to_char(create_time,yyyy-mm-dd)这种方法允许在这个 DPE 作业上输入命令查询及控制当前作业。3.您可以通过 PARALLEL 参数为导出使用一个以上的线程来显著地加速作业。每个线程创建一个单独的转储文件,因此参数 dumpfile 应当拥有和并行度一样多的项目。您可以指定通配符作为文件名,而不是显式地输入各个文件名,例如:expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export注意:dumpfile 参数拥有一个通配符 %U,它指示文件将按需要创建,格式将为expCASES_nn.dmp,其中nn 从 01 开始,然后按需要向上增加。在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的)所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护 Data Pump 作业相关的开销可能超过并行线程的效益,并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。4.exp/imp与expdp/impdp区别:(1) 把用户usera的对象导到用户userb,用法区别在于fromuser=usera touser=userb ,remap_schema=usera:usera 。例如:imp system/passwd fromuser=usera touser=userb file=/oracle/exp.dmp log=/oracle/exp.log;impdp system/passwd directory=expdp dumpfile=expdp.dmp remap_schema=usera:userb logfile=/oracle/exp.log;(2) 更换表空间,用exp/imp的时候,要想更改表所在的表空间,需要手工去处理一下,如alter table xxx move tablespace_new之类的操作。用impdp只要用remap_tablespace=tabspace_old:tablespace_new(3) 当指定一些表的时候,使用exp/imp 时,tables的用法是 tables=(table1,table2,table3)。expdp/impdp的用法是tables=table1,table2,table3(4) 是否要导出数据行exp(ROWS=Y 导出数据行,ROWS=N 不导出数据行)expdp content(ALL:对象导出数据行,DATA_ONLY:只导出对象,METADATA_ONLY:只导出数据的记录)(5) expdp是10g的新特性而且只能在服务器执行。而exp/imp是通用的。(6) oracle11g中有个新特性,当表无数据时,不分配segment,以节省空间,所以exp导不出空表。解决的办法是用expdp, 当然也可以设置deferred_segment_creation 参数 或者 insert一行,再rollback,但是这样很麻烦。建立表结构相同的表只是建立ta表,与emp表结构相同,并不添加数据createtabletaasselect*fromscott.empwhere1=0;建立tb表,结构与dept结构相同,将dept表中的数据导入其中:createtabletbasselect*fromscott.deptwhere1=1;oracle自增列oracle 中插入数据其中表tab的第一个字段 Id 是自动生成的,即用sequence和trigger共通生成的现在把这个实现过程列出来1:创建表sys2_klx(id,sysnm,dwdm,jydm,jymc);2:创建sequence以便于自动生成id:详见语法CREATE SEQUENCE SYS2_KLX_0 MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE ;3:创建Id自动生成时的触发器:CREATE OR REPLACE TRIGGER SYS2_KLX_TRIG BEFORE INSERT ON SYS2_KLX FOR EACH ROWWHEN (new.ID is null)BEGIN SELECT SYS2_KLX_0.NEX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论