您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle11G数据泵导入导出-changxf-20140926
Oracle11G数据库命令:1进入SQLPLUS状态1、打开【附件】-【命令提示符】,以系统管理员的身份运行;2、输入sqlplus/assysdba;3、回车执行语句,进入数据库;2用户管理【说明】:在SQLPLUS状态下执行。2.1创建用户CREATEUSERyonghumingIDENTIFIEDBYmimaDEFAULTTABLESPACENNC_DATA01TEMPORARYTABLESPACEtemp;说明:1、“yonghuming”——用户名称;2、“mima”——用户密码;2.2授权用户:(一般授权)GRANTconnect,dbatoyonghuming;说明:1、“yonghuming”——用户名称;2.3授权用户:(数据泵模式)GRANTread,writeondirectoryexpdirtoyonghuming;说明:1、“expdir”——数据泵创建的目录名称;2、“yonghuming”——用户名称;2.4查看用户selectusernamefromdba_users;2.5删除用户dropuseryonghuming(用户名)cascade;3数据泵操作3.1创建目录1、在数据库实例上创建directory(sqlplus模式下执行)CREATEORREPLACEDIRECTORY目录名称AS'数据库服务器上的一个目录'例如CREATEORREPLACEDIRECTORYexpdirAS'd:\';红字为要命名的目录名称,as后面为实际路径(windows环境),把需要导入的数据直接放入d盘目录下即可。2、创建后可以用这个命令来查看已存在的目录(查看所有)select*fromdba_directories;(查看制定目录名所在目录)select*fromdba_directoriesWHEREDIRECTORY_name='expdir';3.2创建用户并授权CREATEUSERyonghumingIDENTIFIEDBYmimaDEFAULTTABLESPACENNC_DATA01TEMPORARYTABLESPACEtemp;GRANTread,writeONDIRECTORYexpdirTOorcle;1、红字“expdir”为创建的目录;2、蓝字”yonghuming”为需要被授权的用户名;3.3数据库备份导出创建用户并授权后,在dos状态(非sqlplus下)假设原用户名称为test:expdpnc6/orcle@orclschemas=nc6dumpfile=nc6.dmpdirectory=expdirlogfile=test.log;3.4数据库导入创建用户并授权后,在dos状态(非sqlplus下)【说明】:1、使用数据泵语句导出的数据库,必须对应使用数据泵语句导入。2、执行脚本前,需要把数据库文件如SYYNC611_FINAL-2.dmp考到本机D盘根下(创建的目录位置)。1、导出前导入后的数据库用户名称一致impdptest/1@orcl(用户\密码@实例名)directory=expdir(已经创建的目录)dumpfile=text.dmp(具体数据库名称)schemas=test(数据泵导出的用户名称);2、导出前导入后的数据库用户名称不一致,需要做用户名的映射假设导出前用户名为test,导入的新用户名为test1:impdptest1/1@orcl(用户\密码@实例名)directory=expdir(已经创建的目录)dumpfile=text.dmp(具体数据库名称)schemas=test(数据泵导出的用户名称)remap_schema=test:test1(导出用户名:导入用户名);其中:schemas是源用户remap_schema中test是源用户test1是将要导入的目的用户.4单表备份命令createtable新表名asselect*from旧表名5普通模式下导出导入5.1导出exptest/1@orcl(用户名/密码@数据库实例名)file=D:\test.dmp5.2导入Imptest/1@orcl(用户名/密码@数据库实例名)file=D:\test.dmpfull=y6Oracle11g不能新增空表解决方法说明:在oracle11gr2中,发现传统的exp脚本居然不能导出空的表,需要按照如下的步骤去操作。6.1原因:Oracle11g新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true。如果这个参数设置为true,你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,只有当你insert数据后才分配空间,这样可以节省少量的空间。6.2解决办法:当设置deferred_segment_creation参数为FALSE后,无论是空表还是非空表,都分配segment,就可以用exp\imp脚本操作数据库的导入导出1、在sqlplus中,执行如下命令:altersystemsetdeferred_segment_creation=false;2、查看参数值:showparameterdeferred_segment_creation;如果参数值为false则表明修改成功。【说明】该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。需要重新启动数据库,让参数生效。7NC数据库文件创建脚本7.1NC5系列7.1.1创建NC表空间/*NC*/E:\app\oradata\orclCREATETABLESPACENNC_DATA01DATAFILE'E:\app\oradata\orcl\nnc_data01.dbf'SIZE500MAUTOEXTENDONNEXT50MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;CREATETABLESPACENNC_DATA02DATAFILE'E:\app\oradata\orcl\nnc_data02.dbf'SIZE300MAUTOEXTENDONNEXT50MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;CREATETABLESPACENNC_DATA03DATAFILE'E:\app\oradata\orcl\nnc_data03.dbf'SIZE500MAUTOEXTENDONNEXT100MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;CREATETABLESPACENNC_INDEX01DATAFILE'E:\app\oradata\orcl\nnc_index01.dbf'SIZE500MAUTOEXTENDONNEXT50MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;CREATETABLESPACENNC_INDEX02DATAFILE'E:\app\oradata\orcl\nnc_index02.dbf'SIZE300MAUTOEXTENDONNEXT50MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;CREATETABLESPACENNC_INDEX03DATAFILE'E:\app\oradata\orcl\nnc_index03.dbf'SIZE500MAUTOEXTENDONNEXT100MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;7.1.2创建IUFO表空间CREATETABLESPACEiufoDATAFILE'E:\app\oradata\orcl\iufo.dbf'SIZE500MAUTOEXTENDONNEXT50MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;7.2NC6系列创建NC表空间CREATETABLESPACENNC_DATA01DATAFILE'E:\app\oradata\orcl\nnc_data01.dbf'SIZE500MAUTOEXTENDONNEXT50MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;CREATETABLESPACENNC_INDEX01DATAFILE'E:\app\oradata\orcl\nnc_index01.dbf'SIZE500MAUTOEXTENDONNEXT50MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;
本文标题:Oracle11G数据泵导入导出-changxf-20140926
链接地址:https://www.777doc.com/doc-2847682 .html