`
z95001188
  • 浏览: 41583 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle数据库还原,如何将dmp文件还原到oralce库

 
阅读更多

1.Oracle中exp命令

在cmd.exe下执行:

        导出指定用户 指定表

        exp  userid=用户名/密码@服务名 file=c:\dataBackUp.dmp   owner=test  tables=table1

         导出整个数据库:

         exp  用户名/密码@服务名 file=c:\dataBackUp.dmp full=y

 

2.Oracle 数据库imp命令导入dmp

 

如要导入的test.dmp存储路径为d:\test.dmp,导入到的用户是ToUser_imp 密码是123

1.       cmd下命令行导入

cd   d:\test\  回车

d:  回车

通过以上命令进入dmp文件所在的路径

imp  userid=ToUser_imp/123  full=y  file=test.dmp  回车

通过以上命令将dmp中所有数据导入到ToUser_imp中

2.       通过plsqldevelop工具导入

1)  以管理员身份创建用户ToUser_imp(导入),并赋予连接、导入数据权限,一般赋予dba权限即可,sql语句如下:

Create  user ToUser_imp identified by 123

Grant  dba  to ToUser_imp

   2) 以用户ToUser_imp登录plsql ,切换到myproject下

   3)工具-导入表-oracle导入,左侧默认选择,选择dmp文件路径,其它不用管,直接点导入,弹出运行框显示导入进度,导入完成后运行框自动关闭

 

注:如果是通过plsql工具导出的dmp,这种情况下oracle10g只导入了表数据,函数、存储过程和触发器.sql文件不能被导入,如需导入,继续步骤4

4)工具-导入-导入表--选择sql插入,选择导出的存储过程和触发器.sql对象文件,点击导入,弹出运行框显示导入进度,导入完成后运行框自动关闭

如果通过exp命令导出的dmp操作,则第三步时可将所有对象导入,无需进行第四步


Enterprise Manager Database Control URL - (orcl) :
http://localhost:1158/em


数据库配置文件已经安装到 
E:/oracle/product/10.2.0,


同时其他选定的安装组件也已经安装到 
E:/oracle/product/10.2.0/db_1。


iSQL*Plus URL 为:
http://localhost:5560/isqlplus


iSQL*Plus DBA URL 为:
http://localhost:5560/isqlplus/dba

下面我们来看一看如何来完成这一任务

第一,启动服务,(如果数据库处于启动状态,那么略过这一步)

打开命令行执行以下语句
net start OracleServiceORCL
net start  OracleOraDb10g_home2TNSListener
net start OracleOraDb10g_home2iSQL*Plus

 

 
  以上方式是在windows服务中启动服务,当windows服务不能启动数据库实例的时候,应用以下的语句
  set oracle_sid=orcl
  oradim -startup -sid orcl

  sqlplus internal/oracle
  startup 
 

 

第二清理以前还原过的痕迹,如果我们在数据库曾经还原过,我们先来清理一下,痕迹,
    //删除用户
    drop user xxxx cascade; 
    //删除表空间
    drop tablespace xxxx;
    //删除数据库文件
    e:/xxxxxx.dbf


第三,接下来,准备工作做好后,我们就可以开始还原了
//创建用户
CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE  USERS TEMPORARY TABLESPACE TEMP
 
//给予用户权限
grant connect,resource,dba to xxxx
 

//创建表空间,并指定文件名,和大小
CREATE SMALLFILE TABLESPACE "xxxx" DATAFILE 'E:/ORADATA/ORCL/xxxx.DBF' 
 SIZE 100M 
 AUTOEXTEND ON NEXT 100M 
 MAXSIZE UNLIMITED 
 LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

 

//执行给予权限的脚本grant.txt,将权限给予刚才创建的用户
//给予权限
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 xxxx


//开始导入(完全导入),file:dmp文件所在的位置, ignore:因为有的表已经存在,对该表就不进行导入。
   在后面加上 ignore=y 。指定log文件 log=e:/log.txt
imp user/pass@orcl full=y file=e:/xxx.dmp ignore=y log=e:/log.txt

//当我们不需要完整的还原数据库的时候,我们可以单独地还原某个特定的表
//---------------------------------------------------------------------------
imp user/pass@datbase file=e:/xxx.dmp ignore=y log=e:/log.txt tables=(xxxx)
imp user/pass@database file=e:/xxx.dmp ignore=y log=e:/log2.txt tables=(xxxx) 
//---------------------------------------------------------------------------

 

//做到这里我们就已经完成了,数据库的还原工作,下面我们就可以打开isqlplus查看表中的数据了
 
select * from ***
 

第四我们来看一下,对oracle常用的操作命令
1)查看表空间的属性
 select tablespace_name,extent_management,allocation_type from dba_tablespaces


2)查找一个表的列,及这一列的列名,数据类型
 select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where TABLE_NAME='xxxx'

 
3)查找表空间中的用户表
 select * from all_tables where owner='xxx' order by table_name desc

4)在指定用户下,的表的数量
 select count(*) from user_tab_columns 
 

5)查看数据库中的表名,表列,所有列
 select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns order by table_name desc

6)查看用户ZBFC的所有的表名及表存放的表空间
 select table_name,tablespace_name from all_tables where owner='xxxx' order by table_name desc
7)生成删除表的文本
select 'Drop   table '||table_name||';' from all_tables where owner="ZBFC";

8)删除表级联删除
drop table table_name [cascade constraints];

9)查找表中的列
select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where column_name like '%'||'地'||'%' order by table_name

desc 
 

10)查看数据库的临时空间
select tablespace_name,EXTENT_SIZE,current_users,total_extents,used_extents,MAX_SIZE,free_extents from v$sort_segment;

 http://download1.csdn.net/down3/20070615/15202338310.txt


作者在导入的过程中,还遇到了一个错误,就是数据违反了唯一性约束,数据库拒绝了数据
IMP-00019: 由于 ORACLE 的 1 错误而拒绝行
在网上看到有人说,这是字符集的原因,所以我就新建了一个数据库,将字符集改成了ZHS16GBK这样,从新导了一次,结果就成功了

 下面是grant.txt脚本

分享到:
评论

相关推荐

    如何将dmp文件还原到oralce库——实践修订

    在Oracle数据库管理中,有时我们需要将数据从一个数据库迁移到另一个数据库,或者恢复备份的数据,这时就用到了dmp文件的还原。dmp文件是Oracle数据库的一种导出格式,包含了数据库对象的完整或部分信息。本文将详细...

    如何备份还原oracle数据库

    本文将根据给定的信息“如何备份还原oracle数据库”,详细介绍备份与恢复Oracle数据库的方法与步骤。 ### 一、Oracle数据库备份的重要性 在日常维护工作中,由于硬件故障、人为操作失误或系统崩溃等原因,可能会...

    Oracle数据库还原操作

    ### Oracle数据库还原操作详解 #### 一、Oracle数据库还原概述 在Oracle数据库管理中,数据库还原操作是一项重要的维护任务,它涉及到数据丢失后的恢复过程。本文将详细介绍如何进行Oracle数据库的还原操作,包括...

    oracle备份与还原数据库

    此命令将执行完整导出并将结果保存到名为`040731.dmp`的文件中。 ##### 导入命令(IMP) 导入命令同样包含多种选项: - `EXPSYSTEM/MANAGER`:登录数据库使用的用户名/密码。 - `INCTYPE`:指定导入类型,如: -...

    oracle_dmp.rar_DMP_oracle

    假设DMP文件在名为'DATA_PUMP_DIR'的目录下,文件名为'oracle数据库还原,如何将dmp文件还原到oralce库.dmp',并且我们用RESTORE_USER作为导入用户,那么命令可能是: ```bash impdp RESTORE_USER/RESTORE_...

    Oracle dmp文件导出导入(还原)到不同的表空间和不同的用户操作

    DMP文件是Oracle数据库中的一种特殊格式文件,主要用于数据备份和恢复。这种文件包含了表定义、索引、约束条件等元数据以及表中的数据,通常通过Oracle的`EXPDP`和`IMPDP`命令来创建或导入。 #### 二、Oracle DMP ...

    oracle数据库备份与还原实例

    exp 命令是 Oracle 的一种备份工具,可以将数据库中的数据导出到一个文件中。使用 exp 命令可以指定备份的文件名、备份的表空间、备份的模式等。 在备份之前,需要先切换到 oracle 用户下,并 cd 到指定的备份目录...

    使用plsqldev对oracle数据库做备份还原操作

    选择正确文件后,点击"Import"按钮,PL/SQL Developer会开始执行还原操作,将.dmp文件中的数据导入到数据库中,从而恢复到备份时的状态。 在备份和还原过程中,需要注意以下几点: 1. 确保在进行备份和还原操作时,...

    java备份还原oracle数据库知识.pdf

    Java还原Oracle数据库是指使用Java语言编写的程序来还原Oracle数据库,恢复的过程中需要使用Oracle的IMP工具来将备份文件导入到数据库中。下面是Java还原Oracle数据库的主要知识点: 1. 使用IMP工具还原数据库:IMP...

    Oracle数据库备份和恢复的命令

    将之前备份的`dmp`文件上传到目标服务器的指定目录中。例如,如果备份文件名为`bms_bak.dmp`,则需要将其上传到`/home/oracle/orabackup`目录。 ##### 3. 创建目录对象并授予访问权限 类似于备份过程,在恢复前也...

    oracle9i数据库备份和还原.doc

    例如,如果数据库用户名为`med`,密码也为`med`,实例名为`med`,希望将数据导出到`C:\med.dmp`,则命令应为: ``` exp med/medmed med file=C:\med.dmp owner=med ``` 执行该命令后,即可开始导出数据库。 ##...

    oracle数据库备份还原BAT脚本

    "Oracle数据库备份还原BAT脚本"就是这样一个工具,它允许用户通过简单的脚本配置进行数据库的备份操作,并且可以设定为Windows计划任务以实现定时备份。 首先,我们需要理解BAT脚本的基本结构。在批处理文件中,...

    oracle数据库备份与还原

    ### Oracle数据库备份与还原知识点详解 #### 一、Oracle数据库备份概述 Oracle数据库备份是确保数据安全的关键步骤之一。在日常运维中,合理的备份策略能够有效地保护数据免受硬件故障、软件错误或灾难性事件的...

    Oracle 数据库的备份与恢复

    ### Oracle数据库的备份与恢复详解 #### 一、Oracle数据库备份方法概述 Oracle数据库作为业界广泛使用的数据库管理系统之一,提供了多种备份与恢复机制来确保数据的安全性和可用性。根据备份时数据库是否处于运行...

    Oracle中导出、导入.dmp数据库文件.doc

    Oracle数据导入导出imp/...Oracle数据导入导出imp/exp操作是oracle数据库管理中的重要操作,通过使用imp和exp命令可以将数据从一个数据库服务器导出到本地的dmp文件,然后再从本地dmp文件导入到另一个数据库服务器中。

    Oracle数据库的创建与恢复的步骤

    本文将详细解析Oracle数据库的创建与恢复步骤,以帮助读者更好地理解和实践这些关键操作。 首先,我们来看数据库的备份。备份是防止数据丢失的重要手段,Oracle提供了一种名为Export(EXP)的数据导出工具来实现这...

    oracle数据库还原

    ### Oracle数据库还原与管理命令详解 #### 一、Oracle服务启动与停止命令 在进行数据库操作之前,我们首先需要确保Oracle服务已经启动。如果需要关闭服务进行维护,则也需要掌握相应的命令。 - **启动Oracle服务*...

    oracle数据库备份还原(本地及远程操作)

    本文将深入解析Oracle数据库的备份与还原技术,特别是本地与远程操作的具体实施方法,帮助DBA及技术人员全面掌握这一重要技能。 #### 一、Oracle数据库备份原理 Oracle数据库备份主要分为物理备份与逻辑备份两种...

    通过JAVA还原、备份Oracle数据库简单例子

    二、Oracle数据库还原 1. 同样,我们可以使用JAVA执行`IMPDP`命令进行数据库的导入。`IMPDP`工具负责导入之前导出的数据。代码示例如下: ```java String importCmd = "impdp user/pwd dumpfile=data.dmp ...

    linux下的ORACLE 数据库迁移

    三、数据库还原 在 C2 上,使用 Oracle 系统管理员登录,创建表空间 MOF_TEMP,例如 create tablespace MOF_TEMP datafile 'D:\oracle\product\10.2.0\oradata\orcl\MOF_TEMP.dbf' size 2000M autoextend on next ...

Global site tag (gtag.js) - Google Analytics