oracle单用户数据导入导出

  • 格式:doc
  • 大小:23.00 KB
  • 文档页数:1

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前提:如果整个Oracle库坏了,恢复起来就比较复杂,也需要专业一点的人士实际指导来做。

本文档阐述一下如何进行oracle表空间的备份与恢复,主要是为了防止数据的丢失。本文讨论的也是比较简单的情况,一个用户对应一个表空间。具体步骤如下:

1.备份数据

备份oracle中一个用户的所有数据。(我的测试环境是在数据库服务器【136】上进行的),打开命令行,输入备份语句

语句为:exp userid=Ajita/1@ORCL owner=(Ajita) file=d:\d.dmp其中:

用户名:Ajita

密码:1

数据库名称:ORCL

要备份数据的用户:Ajita

备份文件:d:\d.dmp

2.创建新的用户及表空间

由于只有当用户表空间损坏了才需要备份数据,所以我们可以新建一个用户和表空间,并给该用户指定默认表空间。具体SQL如下

CREATE TABLESPACE Ajita_test DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\Ajita_test_data'SIZE1024M AUTOEXTEND ON NEXT 256M MAXSIZE unlimited;

create user ttest identified by aaa;

alter user ttest default tablespace Ajita_test quota unlimited on Ajita_test;

--如果需要DBA权限

grant dba to ttest;

3.数据还原

数据还原也是使用imp语句。我们把原来Ajita用户的数据导给ttest用户。相应的也要修改外围应用的连接字符串。

因为我是进行测试的,没有删除原来的Ajita用户和ECSS表空间,所以数据都导到别的地方了。如果真实的数据损坏,我们就可以删除Ajita和ECSS了。然后在步骤2中重新新建就OK了。

具体的导入代码如下:

imp ttest/aaa fromuser=ajita file=d:/d.dmp。其中:

用户名:ttest

密码:aaa

原来的用户:Ajita

备份文件:d:\d.dmp

导入的过程中可能会出现一些小的错误,如部分主键不能建立(我测试的时候只有一个表的主键建立失败),作业创建失败(这个是需要手动创建的)