데이터 베이스 MySQL 튜토리얼 Oracle imp exp命令详解

Oracle imp exp命令详解

Jun 07, 2016 pm 03:38 PM
exp oracle 주문하다 상해

如何在oracle中导入dmp数据库文件? oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,

如何在oracle中导入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 将数据库orcl(实例)完全导出(只有DBA才可以,普通用户不可以),用户名system 密码manager 导出到d:\daochu.dmp中  
       exp system/manager@orcl file=d:\daochu.dmp full=y 
   2 将数据库中system用户与sys用户的表导出  
       exp system/manager@orcl file=d:\daochu.dmp owner=(system,sys) 
   3 将数据库中的表inner_notify、notify_staff_relat导出   
      exp scott/tiger@orcl file= d:\test.dmp tables=(inner_notify,notify_staff_relat)  
   4 将数据库中的表table1中的字段filed1以"00"打头的数据导出  
      exp system/manager@orcl 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 system/manager@test full=y  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*plus 
第二,以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

 

 附录二: 
   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

 

附录三

EXP、IMP 命令详解
命令详解:

E:\>exp help=y

通过输入 EXP 命令和用户名/口令,您可以
在用户 / 口令之后的命令:

实例: EXP SCOTT/TIGER

或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”的运行方式。
要指定参数,您可以使用关键字:

格式: EXP KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)
实例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字      说明(默认)
---------------------------------------------------
USERID      用户名/口令
FULL      导出整个文件 (N)
BUFFER      数据缓冲区的大小
OWNER      所有者用户名列表
FILE      输出文件 (EXPDAT.DMP)
TABLES      表名列表
COMPRESS      导入一个范围 (Y)
RECORDLENGTH    IO 记录的长度
GRANTS      导出权限 (Y)
INCTYPE      增量导出类型
INDEXES      导出索引 (Y)
RECORD      跟踪增量导出 (Y)
ROWS      导出数据行 (Y)
PARFILE      参数文件名
CONSTRAINTS    导出限制 (Y)
CONSISTENT      交叉表一致性
LOG      屏幕输出的日志文件
STATISTICS      分析对象 (ESTIMATE)
DIRECT      直接路径 (N)
TRIGGERS      导出触发器 (Y)
FEEDBACK      显示每 x 行 (0) 的进度
FILESIZE      各转储文件的最大尺寸
QUERY      选定导出表子集的子句

下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE    导出可传输的表空间元数据 (N)
TABLESPACES    将传输的表空间列表

E:\>imp help=y

可以通过输入 IMP 命令和您的用户名/口令
跟有您的用户名 / 口令的命令:

实例: IMP SCOTT/TIGER

或者, 可以通过输入 IMP 命令和各种自变量来控制“导入”按照不同参数。
要指定参数,您可以使用关键字:

格式: IMP KEYWORD=value 或KEYWORD=(value1,value2,...,vlaueN)
实例: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字      说明(默认)
----------------------------------------------
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 语句 (Y)
FEEDBACK      显示每 x 行 (0) 的进度
TOID_NOVALIDATE    跳过指定类型 id 的校验
FILESIZE      各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)

下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE    导入可传输的表空间元数据 (N)
TABLESPACES    将要传输到数据库的表空间
DATAFILES      将要传输到数据库的数据文件
TTS_OWNERS      拥有可传输表空间集中数据的用户

---------------------------------------------------------------------------------------

如果只导出表的结构(建表语句),不导出表的数据,可用Tools--Export User Objects

选中要导出的表,设置好导出的路径和各个参数后,点击Export就OK

PS:这种方式只能导出属于这个用户的表,其他用户的表不能导出,建议用命令行导出(exp, imp)

如果想将表结构,表的数据,触发器,函数之类的全部导出,可用Tools--Export Tables

选中要导出的表(可选多个),导出方式有三种:

Oracle Export,Sql Insert,pl/sql developer

第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用的最广。

第二种是导出为.sql文件的,选中create tables选项,where clause 里写入 where rownum

第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出;不能用编辑器查看,效率不知道怎么样

PS:只有“Oracle Export”方式导出再导入后,表结构和索引结构没有发生变化,另两种方式都改变了索引类型。

导入的情况和导出一样

在表的所有者不能改变的情况下,可以使用导入导出表结构和表数据的方法,将表移动到你想要的所有者下(注:特别是建立表的时候如果以sysdba的身份登录的话,所有表的所有者都为sys,此时会对你用c#访问数据库产生麻烦,我在我的另一篇文章中也提到《.NET连接Oracle数据库的错误,pl/sql中的myobjects过滤器 》),此时你只能用这种方法改变所有者。

导入表结构:

执行刚刚导出的sql文件,记住要删掉table前的用户名,比如以前这表名为sys.tablename,必须删除sys

导入表数据:

执行刚刚导出的sql文件

 

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Oracle의 테이블 스페이스 크기를 확인하는 방법 Oracle의 테이블 스페이스 크기를 확인하는 방법 Apr 11, 2025 pm 08:15 PM

Oracle 테이블 스페이스 크기를 쿼리하려면 다음 단계를 따르십시오. 쿼리를 실행하여 테이블 스페이스 이름을 결정하십시오. 쿼리를 실행하여 테이블 스페이스 크기를 쿼리하십시오. sum (bytes)을 total_size, sum (bytes_free)으로 sum (bytes_free), sum (bytes) - sum (bytes_free)으로 dba_data_fices where tablespace_.

Oracle View를 암호화하는 방법 Oracle View를 암호화하는 방법 Apr 11, 2025 pm 08:30 PM

Oracle View 암호화를 사용하면보기에서 데이터를 암호화 할 수 있으므로 민감한 정보의 보안을 향상시킬 수 있습니다. 단계에는 다음이 포함됩니다. 1) 마스터 암호화 키 생성 (MEK); 2) 암호화 된 뷰 생성, 암호화 할보기 및 MEK를 지정하는 것; 3) 사용자가 암호화 된보기에 액세스하도록 승인합니다. 암호화 된 뷰 작동 방식 : 사용자가 암호화 된보기를 쿼리 할 때 Oracle은 MEK를 사용하여 데이터를 해독하여 공인 사용자 만 읽기 쉬운 데이터에 액세스 할 수 있도록합니다.

Oracle의 인스턴스 이름을 보는 방법 Oracle의 인스턴스 이름을 보는 방법 Apr 11, 2025 pm 08:18 PM

Oracle에서 인스턴스 이름을 보는 세 가지 방법이 있습니다. 명령 줄에 명령. "show instance_name"을 사용하십시오. sql*plus의 명령. 운영 체제의 작업 관리자, Oracle Enterprise Manager 또는 운영 체제를 통해 환경 변수 (Linux의 Oracle_Sid)를 확인하십시오.

Oracle 데이터베이스를 가져 오는 방법 Oracle 데이터베이스를 가져 오는 방법 Apr 11, 2025 pm 08:06 PM

데이터 가져 오기 방법 : 1. SQLLOADER 유틸리티 사용 : 데이터 파일 준비, 제어 파일 작성 및 SQLLOADER 실행; 2. IMP/EXP 도구를 사용하십시오 : 데이터 내보내기, 데이터 가져 오기. 팁 : 1. 빅 데이터 세트에 권장되는 SQL*로더; 2. 대상 테이블이 존재해야하고 열 정의가 일치해야합니다. 3. 가져 오기 후에는 데이터 무결성을 확인해야합니다.

Oracle 설치를 제거하는 방법에 실패했습니다 Oracle 설치를 제거하는 방법에 실패했습니다 Apr 11, 2025 pm 08:24 PM

Oracle 설치 실패에 대한 방법 제거 : Oracle Service를 닫고 Oracle Program 파일 및 레지스트리 키 삭제, Oracle 환경 변수를 제거하고 컴퓨터를 다시 시작하십시오. 제거되지 않으면 Oracle 범용 제거 도구를 사용하여 수동으로 제거 할 수 있습니다.

오라클에서 시간을 얻는 방법 오라클에서 시간을 얻는 방법 Apr 11, 2025 pm 08:09 PM

Oracle에는 시간을 얻는 방법이 있습니다. current_timestamp : 현재 시스템 시간을 반환합니다. Systimestamp : current_timestamp보다 나노 초보다 더 정확합니다. sysdate : 시간 부분을 제외하고 현재 시스템 날짜를 반환합니다. to_char (sysdate, 'yyy-mm-dd hh24 : mi : ss') : 현재 시스템 날짜와 시간을 특정 형식으로 변환합니다. 추출 : 1 년, 월 또는 시간과 같은 시간 값에서 특정 부분을 추출합니다.

Oracle Dynamic SQL을 만드는 방법 Oracle Dynamic SQL을 만드는 방법 Apr 12, 2025 am 06:06 AM

SQL 문은 Oracle의 동적 SQL을 사용하여 런타임 입력을 기반으로 작성 및 실행할 수 있습니다. 단계에는 다음이 포함됩니다 : 동적으로 생성 된 SQL 문을 저장할 빈 문자열 변수 준비. 즉시 실행 또는 준비 명령문을 사용하여 동적 SQL 문을 컴파일하고 실행하십시오. 바인드 변수를 사용하여 사용자 입력 또는 기타 동적 값을 동적 SQL로 전달하십시오. 동적 SQL 문을 실행하려면 즉시 실행 또는 실행을 사용하십시오.

Oracle AWR 보고서를 읽는 방법 Oracle AWR 보고서를 읽는 방법 Apr 11, 2025 pm 09:45 PM

AWR 보고서는 데이터베이스 성능 및 활동 스냅 샷을 표시하는 보고서입니다. 해석 단계에는 다음이 포함됩니다 : 활동 스냅 샷의 날짜 및 시간 식별. 활동 및 자원 소비에 대한 개요를 봅니다. 세션 활동을 분석하여 세션 유형, 자원 소비 및 대기 이벤트를 찾으십시오. 느린 SQL 문, 자원 경합 및 I/O 문제와 같은 잠재적 성능 병목 현상을 찾으십시오. 대기 이벤트를보고, 성능을 위해 식별하고 해결하십시오. 래치 및 메모리 사용 패턴을 분석하여 성능 문제를 일으키는 메모리 문제를 식별하십시오.

See all articles