如何在oracle中导入dmp数据库文件
- 格式:docx
- 大小:15.26 KB
- 文档页数:4
Linux下向oracle数据库倒入dmp包的方式1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)2、以sysdba方式来打开sqlplus,命令如下:sqlplus "/as sysdba"3、查看常规将用户表空间放置位置:执行如下sql: select name from v$datafile; 上边的sql一般就将你的用户表空间文件位置查出来了。
4、创建用户表空间:CREATE TABLESPACE 表空间名DATAFILE '/oracle/oradata/test/notifydb.dbf(表空间位置)' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;5、创建用户,指定密码和上边创建的用户表空间 CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间名;6、赋予权限grant connect,resource to 用户名;grant unlimited tablespace to用户名;grant create database link to用户名;grant select any sequence,create materialized view to用户名; 经过以上操作,我们就可以使用用户名/密码登录指定的实例,创建我们自己的表了续:创建临时表空间:create temporary tablespace test_temp tempfile 'F:\app\think\oradata\orcl\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; 创建表空间: create tablespace test_data logging datafile 'F:\app\think\oradata\orcl\test_data01.dbf' size 32mautoextend on next 32m maxsize 2048m extent management local; 创建用户:create user jack identified by jack default tablespace test_data temporary tablespace test_temp;为用户赋予权限:GRANT create any table TO jack;GRANT resource,dba TO jack;GRANT select any table TO jack;第一个是授予所有table有create权限,第二个就是赋予DBA的权限,这才是最重要的,其实只要第二就可以了.第三是授予所有table有select权限.四:删除用户表空间的步骤:Alter tablespace 表空间名称 offline;Drop tablespace 表空间名称;(表空间无有数据时用) 或者 drop tablespace 表空间名称 including contents;(表空间下有数据时候用temporary tablespace是oracle里临时表空间,临时表空间主要用途是在数据库进行排序运算、管理索引、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。
连接sha用户connect sha/admin可以创建别的用户5、查看用户权限进入sha用户connect sha/adminSelect * from user_sys_privs;可以查看到一个列表,列代表用户名权限是否可以给别的用户附加权限(N 、Y)行代表权限都有那些6、撤销用户授予的权限必须连接connect system/admin撤销权限revoke是系统撤销权限的关键词Revoke execute any procedure from sha;7、更改用户密码进入sha用户connect sha/adminPassword 输入旧密码输入新密码俩边OK或者用alter user sha identified by xinmima8、删除用户Connect system/adminDrop user sha;9、为用户授予角色Grant dba to sha;Grant connect to sha;Linux下的plsql 创建用户create user sha identified by adminDefault tablespace userTemporary tablespace temp;Granr unlimited tablespace to sha;//权限Grant dba to sha;//角色Grant connect to sha;准备工作(导出dmp文件)1.使用PL/SQL 工具--》导出用户对象,导出用户所有表,视图,存储过程等的定义2.使用PL/SQL 工具--> 导出表,导出所有表的数据这就是那个dmp文件保存好导出的sql脚本和dmp文件准备导入好了,开始导入1.删除用户drop user test cascade;2.删除全部表空间drop tablespace testdb INCLUDING CONTENTS;drop tablespace testdb_index INCLUDING CONTENTS;drop tablespace testdb_temp INCLUDING CONTENTS;3.重新创建表空间和用户并给用户授权CREATE TABLESPACE "DB_QQTB"LOGGINGDATAFILE 'D:\oracle\OraData\DB_QQTB01.ora' SIZE 2000M,'D:\oracle\OraData\DB_QQTB02.ora' SIZE 2000M, 'D:\oracle\OraData\DB_QQTB03.ora' SIZE 2000M EXTENT MANAGEMENT LOCALSEGMENT SPACE MANAGEMENT AUTO/CREATE TABLESPACE "DB_QQTB_INDEX"LOGGINGDATAFILE 'D:\oracle\OraData\DB_QQTB_INDEX.ora' SIZE 500M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO/CREATETEMPORARY TABLESPACE "DB_QQTB_TEMP" TEMPFILE'D:\oracle\OraData\DB_QQTB_TEMP.ora' SIZE 200M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M/create user FZCXidentified by "FZCX"default tablespace DB_QQTBtemporary tablespace DB_QQTB_TEMPprofile DEFAULTquota unlimited on DB_QQTB。
DMP文件使用IMP导入ORACLE方法在审计中接到被审计单位的ORACLE数据库EXP导出的备份文件XXX.DMP文件,需要导入ORACLE数据库中进行查询。
一、准备工作1、将XXX.DMP拷贝到E:\下;2、使用超大文本查看器logvewer软件打开XXX.DMP,在文件开头中找到导出用户名,使用查找功能输入TABLESPACE查找此单词后的表空间名称。
例如:我们得到财政预算数据库ORACLE数据EXP备份文件IFMIS2012_CJ20121229.DMP文件,经查看用户名为IFMIS2012_CJ,表空间名称为L TSYSDA TA01、L TSYSDA TA02、L TSYSDA TA03、L TINXDA TA01、L TLOBDA TA01、USERS六个,USERS是系统用户表空间,在建立表空间时就不需要再建了。
二、安装ORACLE按照ORACLE 11G安装图解安装就可以了,建议安装企业版桌面模式,启动ORACLE服务,创建实例,使用统一口令。
我安装的是企业版服务器模式,创建实例ORCL,使用统一口令SQ。
三、建立表空间方法有2种,一种DOS下SQLPLUS方式,一种是ORACLE的EM方式。
建议使用EM方式建立表空间:1、启动服务:我的电脑—右键—管理—服务—ORACLE3个服务启动;2、启动EM:开始--程序-- ORACLE-oradb11g_home1-- Database Control - orcl;3、登陆:用户名:sys 口令:SQ(安装时统一口令)连接身份:SYSDBA;4、创建空间表:选‘服务器’—‘表空间’—‘创建’—‘表空间名称’—‘添加物理数据库名称’—‘可扩展,无限制’--‘确定’。
如有其他表空间可以继续—‘创建’~~~‘确定’的程序。
例如:将上述事例的5个表空间逐一创建。
注意:表空间大小的选择要合适,必须要选择可扩展。
四、建立用户并授权建议在DOS下SQLPLUS方式下进行:1、开始—附件—dos提示符;2、输入:CD\ 回车3、以DBA身份登陆超级用户:c:\>SQLPLUS SYS/SQ ASSYSDBA回车4、建立用户(以事例为内容建立):sql>CREA TE USERifmis2012_cj IDENTIFIED BY sq; (ifmis2012_cj用户名,sq 口令)。
Oracle各版本之间Dmp⽂件的导⼊导出问题
经常做整个数据迁移时遇到下列问题:
1、不是有效的导出⽂件,头部验证失败;
2、EXP-00056: 遇到 ORACLE 错误 6550
ORA-06550: line 1, column 41:
PLS-00302: component 'SET_NO_OUTLINES' must be declared
ORA-06550: line 1, column 15:
PL/SQL: Statement ignored
EXP-00000: 导出终⽌失败
关于导⼊导出问题:
1、在执⾏导出时客户端exp命令和服务器端Oracle版本要⼀致;
2、Oracle10G以上使⽤expdp、impdp
⾼版本导出dmp导⼊低版本Oralce时经常遇到“不是有效的导出⽂件,头部验证失败”这种类似错误,可以通过⼯具进⾏dmp⽂件的修改。
详细见:
导出错误:
在执⾏exp导出命令是经常遇到类似”EXP-00056: 遇到 ORACLE 错误 6550“这种错误,这⼀般是执⾏命令的客户端Oralce版本与服务器不符时,可以换个客户端解决。
oracle dmp sqlfile用法Oracle的.dmp文件和.sql文件是两种不同类型的文件,用于不同的目的。
1..dmp文件:o.dmp文件是Oracle数据库的数据泵(Data Pump)工具生成的文件。
数据泵是Oracle提供的一个用于高效移动数据和元数据的工具。
o你可以使用expdp命令导出数据到.dmp文件,使用impdp命令从.dmp文件导入数据。
o示例:▪导出:expdp username/password@db_name schemas=schema_name directory=dir_name dumpfile=dump_name.dmp logfile=log_name.log▪导入:impdp username/password@db_name schemas=schema_name directory=dir_name dumpfile=dump_name.dmp logfile=log_name.logo注意:在使用这些命令之前,你需要确保在数据库中已经设置了适当的目录对象,并且该对象指向了一个在操作系统中真实存在的目录。
2..sql文件:o.sql文件通常包含SQL语句,可以用于创建表、视图、索引、触发器等数据库对象,也可以用于插入、更新、删除数据。
o你可以使用SQL*Plus、SQL Developer、PL/SQL Developer等工具执行.sql文件中的SQL语句。
o示例:▪在SQL*Plus中执行:sqlplus username/password@db_name @path_to_sql_file.sql▪在SQL Developer或PL/SQL Developer中,你通常可以打开一个.sql 文件,然后点击执行按钮来运行文件中的SQL语句。
请注意,.dmp文件和.sql文件通常不用于同一目的。
.dmp文件主要用于备份和恢复整个数据库或数据库的一部分,而.sql文件主要用于执行特定的SQL语句。
1.2用imp 工具进行数据库备份及恢复导入模式可以分为full(全文件导入),owner(用户导入),table(表导入).full(全文件导入):指导入文件中的所有数据,并不是指全库导入,如果文件中只存在一个表的数据全文件,导入就只能导入一个表的数据.fromuser,touser( 用户导入):指导入文件中该用户的所有数据,如果文件中只存在一个表的数据,用户导入就只能导入一个表的数据.tables( 表导入):指导入文件中该表的数据.能够导入何数据很大程度上依赖于导出文件,譬如需要导入某用户的所有数据.导出文件中必须存在该用户的所有数据,即导出时必须为全库导出或用户导出.在CAMS 系统中,如果为了备份整个cams 用户的数据应该在导出时选择全库或者用户导出.说明:导入时需要注意需要事先创建需要导入的用户以及该用户的所有权限,所以在执行以下导入的用例之前,都需要先创建cams用户.创建CAMS用户的脚本见附录1.2.1 典型用法1. 交互式-用户导入[oracle@localhost script]$ impImport: Release 8.1.7.4.0 - Production on Mon Feb 9 13:59:02 2004(c) Copyright 2000 Oracle Corporation. All rights reserved.Username: cams --此处输入启动导入的用户Password: --此处输入相应的密码Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 -ProductionJServer Release 8.1.7.4.0 - ProductionImport file: expdat.dmp > /tmp/2004020601.dmp--此处输入需要导入的文件名,如果导出数据时导出到了多个文件,则imp 会提示用户需要输入下一个需要导入的文件名.交互式导入时大多数参数都有缺省值.如果选用缺省值,直接回车即可.Enter insert buffer size (minimum is 8192) 30720>--此处需要输入buffer值,此处通常选择缺省值,直接回车.Export file created by EXPORT:V08.01.07 via conventional pathimport done in ZHS16CGB231280 character set and ZHS16CGB231280 NCHARcharacter setIMP-00046: using FILESIZE value from export file of 1073741824List contents of import file only (yes/no): no >--如果选择yes则imp 会显示出导入文件的数据,并且这些数据这不会被导入数据库中.如果事先不知道导入文件中有哪些数据,可以利用此参数查看文件内容.此处直接回车.Ignore create error due to object existence (yes/no): no > --是否忽略对象已经存在的错误,如果选择yes 则出现对象已经存在的错误时,不显示错误信息.Import grants (yes/no): yes > --是否导入授权通常选择yesImport table data (yes/no): yes > --是否导入表中数据如果选择no,则只导入表的结构通常选择yesImport entire export file (yes/no): no > --是否导入整个文件如果选择yes,则imp 导入整个文件的数据.如果选择no,则下面会提示需要导入的用户名以及表名Username: camsii --需要导入的用户名Enter table(T) or partition(T:P) names. Null list means all tables foruserEnter table(T) or partition(T:P) name or . if done: . ?需要导入的表名或表的分区名如果输入表名则只导入该用户模式下的表的数据如果输入回车或.则表示要导出该用户的所有数据此处输入.. . importing table "TBL_BILLDETAIL_SWITCH" 0 rows imported. . importing table "TBL_BLACKLIST" 0 rows imported. . importing table "TBL_CHARGE_CARD" 0 rows imported. . importing table "TBL_DISCOUNT_BY_TIME" 0 rows imported. . importing table "TBL_ERROR_CODE" 377 rows imported……About to enable constraints...Import terminated successfully with warnings.该命令从文件中导入cams 用户的所有数据如果有多个文件imp 会提示用户输入文件名2. 交互式-表导入可以利用全库导出用户导出和表导出的文件进行表导入.此例可以使用exp典型用法的例1,例2,例3,例4,例5,例8导出的文件进行导入[oracle@localhost script]$ impImport: Release 8.1.7.4.0 - Production on Mon Feb 9 15:49:36 2004(c) Copyright 2000 Oracle Corporation. All rights reserved.Username: camsPassword:Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 -ProductionJServer Release 8.1.7.4.0 - ProductionImport file: expdat.dmp > /tmp/2004020601.dmpEnter insert buffer size (minimum is 8192) 30720>Export file created by EXPORT:V08.01.07 via conventional pathimport done in ZHS16CGB231280 character set and ZHS16CGB231280 NCHARcharacter setIMP-00046: using FILESIZE value from export file of 2147483648List contents of import file only (yes/no): no >Ignore create error due to object existence (yes/no): no >Import grants (yes/no): yes >Import table data (yes/no): yes >Import entire export file (yes/no): no >Username: camsEnter table(T) or partition(T:P) names. Null list means all tables foruserEnter table(T) or partition(T:P) name or . if done: tbl_logEnter table(T) or partition(T:P) name or . if done: tbl_user_logEnter table(T) or partition(T:P) name or . if done:--每输入一个表名后回车,imp 会提示用户输入下一个要导入的表名,如果想结束输入表名,需要输入回车或".". importing CAMS's objects into CAMS. . importing table "TBL_LOG" 10 rows imported. . importing table "T BL_USER_LOG" 0 rows importedImport terminated successfully with warnings.该命令从文件中导入cams 用户的两个表的数据如果有多个文件imp 会提示用户输入文件名3. 命令行-查看文件内容imp userid=cams/cams@cams full=y show=y file=(tmp/2004020601.dmp,/tmp/2004020602.dmp, /tmp/2004020603.dmp) log=/tmp/20040206.log该命令查看了文件中都有哪些数据,如果有多个文件imp,会提示用户输入文件名导入过程记录日志.4. 命令行-全文件导入imp userid=cams/cams@cams full=y file=(/tmp/2004020601.dmp,/tmp/2004020602.dmp, /tmp/2004020603.dmp) log=/tmp/20040206.log该命令从文件中导入全部数据,如果有多个文件imp,会提示用户输入文件名,导入过程记录日志.5. 命令行-用户导入imp userid=cams/cams@cams fromuser=cams touser=camsfile=(/tmp/2004020601.dmp, /tmp/2004020602.dmp, /tmp/2004020603.dmp)log=/tmp/20040206.log该命令从文件中导入cams用户的全部数据,导出的文件中必须要有cams,用户的数据表示将导出文件的cams 用户数据导入到数据库的cams 用户中,如果有多个文件imp,会提示用户输入文件名导入过程记录日志.6. 命令行-表导入imp userid=cams/cams@cams tables=(tbl_user, tbl_user_log)file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp, /tmp/2004020603.dmp)log=/tmp/20040206.log该命令从文件中导入cams 用户的两个表的全部数据,导出的文件中必须要有cams 用户的这两个表的数据.如果有多个文件imp会提示用户输入文件名,导入过程记录日志7. 命令行-用户导入-从增量导出文件中导入imp userid=cams/cams@cams fromuser=cams touser=camsfile=/tmp/2004020601.dmp log=/tmp/20040206.log该命令从增量导出文件中导入cams 用户新增的数据,导出的文件中必须要有cams 用户的数据,如果有多个文件imp 会提示用户输入文件名,导入过程记录日志.其实导入命令和是否增量导出文件没有关系,imp 会自动判断该文件是否为增量导出文件8. 参数文件-用户导入imp parfile=cams_imp.parcams_imp.par 文件的内容为:userid=cams/cams@camsfromuser=camstouser=camsfile=(/tmp/2004020601.dmp, /tmp/2004020602.dmp, /tmp/2004020603.dmp)log=/tmp/20040206.log该命令使用了参数文件,导入文件中cams 用户的所有数据,导入过程记录日志.说明:(1) cams 用户保存了CAMS 系统的重要数据,为了不暴露cams 用户的密码可以将上面的userid 的值写为cams@cams,此时imp 会提示用户输入密码,输入的密码不会显示出来.在windows下导入全部文件在dos下输入:imp system/manager@local full=y file=d:\iex.dmp本文来自CSDN博客,转载请标明出处:/maxDreame/archive/2008/12/17/3539261.aspx。
dmp文件导入方法DMP文件导入方法介绍DMP(Data Pump)文件是Oracle数据库备份的一种形式,它包含了数据库的元数据和数据。
在某些情况下,您可能需要将DMP文件导入到另一个Oracle数据库中。
本文将详细介绍几种常用的DMP文件导入方法。
方法一:使用命令行导入1.打开命令行终端。
2.使用impdp命令进行DMP文件导入。
示例命令如下:impdp username/password@database_name directory=dir ectory_name dumpfile=dumpfile_ logfile=logfile_其中,username和password是目标数据库的用户名和密码,database_name是目标数据库的名称,directory_name是DMP文件所在的目录,dumpfile_是要导入的DMP文件的文件名,logfile_是导入操作的日志文件名。
3. 执行以上命令后,系统会提示输入导入操作的参数,如是否导入表、索引等。
根据需求输入相关参数。
4. 等待导入完成。
方法二:使用Oracle Data Pump导入1.打开Oracle SQL Developer或其他数据库管理工具。
2.连接到目标数据库。
3.在工具界面中找到“Data Pump”或类似选项,点击进入。
4.在Data Pump界面中选择“Import”选项。
5.在导入设置中,填写相关参数,如导入的DMP文件路径、目标数据库信息等。
6.点击“导入”或类似按钮,开始导入操作。
7.等待导入完成。
方法三:使用Oracle SQL Developer导入1.打开Oracle SQL Developer。
2.连接到目标数据库。
3.在左侧导航栏找到“导入导出”选项,展开。
4.选择“数据泵导入”选项。
5.在导入设置中,填写相关参数,如导入的DMP文件路径、目标数据库信息等。
6.点击“下一步”。
7.根据需要选择要导入的对象,如表、视图、过程等。
一.首先在ORCL数据库中创建表空间和用户1..Oracle管理员的用户名和密码:用户名:system 密码:sys2..然后建在库中建表空间Create tablespace 表空间名datafile ''oralce安装路径下面的\product\10.1.0\oradata\orcl\表空间名.dbf' size 600M autoextend on next 30M maxsize unlimited;3..然后再创建用户Create user 用户名identified by 密码default tablespace 表空间名temporary tablespace TEMP profile DEFAULT4..给用户授权-- Grant/Revoke role privilegesgrant connect to 用户名with admin option;grant dba to 用户名with admin option;grant resource to 用户名with admin option;-- Grant/Revoke system privilegesgrant unlimited tablespace to 用户名with admin option;5..然后再sqlplus下面执行Exite二.Oracle数据导入和导出fromuser就是把当前的dmp文件中的某一个用户下的数据取出。
touser就是把现在dmp文件中的数据导入到目标库的指定user下。
具体命令这样:导出exp userid=system/manager owner=username1 file=expfile.dmp导入imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp再doc下面导入.dmp文件imp 用户名/密码@本地net服务名(10.144.210.184 // orcl 数据库名) file=e:\EMPLOYEE.dmp(文件位置/文件名)full=y(全部导入)fromuser=当前.dmp下的用户touser= 目标.dmp下的用户下面oracle imp命令参数详解USERID 用户名/口令FULL 导入整个文件(N) BUFFER 数据缓冲区大小FROMUSER 所有人用户名列表FILE 输入文件(EXPDAT.DMP) TOUSER 用户名列表SHOW 只列出文件内容(N) TABLES 表名列表IGNORE 忽略创建错误(N) RECORDLENGTH IO 记录的长度GRANTS 导入权限(Y) INCTYPE 增量导入类型INDEXES 导入索引(Y) COMMIT 提交数组插入(N) ROWS 导入数据行(Y) PARFILE 参数文件名LOG 屏幕输出的日志文件CONSTRAINTS 导入限制(Y) DESTROY 覆盖表空间数据文件(N) INDEXFILE 将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEXES跳过不可用索引的维护(N)ANALYZE 执行转储文件中的ANALYZE 语句FEEDBACK 显示每x行(0)的进度TOID_NOVALIDATE 跳过指定类型id的校验FILESIZE 各转储文件的最大尺寸RECALCULATE_STATISTICS重新计算统计值(N) 下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE导入可传输的表空间元数据(N) TABLESPACES 将要传输到数据库的表空间DATAFILES 将要传输到数据库的数据文件TTS_OWNERS 拥有可传输表空间集中数据的用户三.在weblogic中重新创建一个User projects步骤如下:开始—>程序—>BEA WebLogic Platform 8.1—>Configuration Wizard—>新建Weblogic配置—>下一步—>在“选择配置模板”页面上选择Basic WebLogic Server Domain—>下一步”—>在"选择快速或自定义配置"界面中选择—>快速—>下一步—>进入“配置管理用户名和密码”页面设置之后—>下一步到“配置服务器启动模式和java sdk”页面上在下一步修改配置名:—>创建在如下图片里面找到配置名的Start server中启动,出现如下界面:代表启动成功。
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用……
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp
文件从本地导入到远处的数据库服务器中。
利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到
D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp
tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面加上 compress=y 来实现。
数据的导入:
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。
不少情况要先是将表彻底删除,然后导入。
注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。
可以用tnsping TEST 来获得数据库TEST能否连上。
附录一:
给用户增加导入数据权限的操作
第一,启动sql*puls
第二,以system/manager登陆
第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字
第五, 运行-cmd-进入dmp文件所在的目录,
imp userid=system/manager full=y file=*.dmp
或者 imp userid=system/manager full=y file=filename.dmp
执行示例:
F:\Work\Oracle_Data\backup>imp userid=test/test full=y
file=inner_notify.dmp
屏幕显示
Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
经由常规路径导出由EXPORT:V08.01.07创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)
. 正在将AICHANNEL的对象导入到 AICHANNEL
. . 正在导入表 "INNER_NOTIFY" 4行被导入
准备启用约束条件...
成功终止导入,但出现警告。
附录二:
Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.
先建立import9.par,
然后,使用时命令如下:imp parfile=/filepath/import9.par
例 import9.par 内容如下:
FROMUSER=TGPMS
TOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/backup/ctgpc_20030623.dmp
log==/backup/import_20030623.log。