使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户、表的备份恢复。

Oracle数据库用户数据完整备份与恢复

1. 备份

1.1   PL/SQL->工具->导出用户对象,选项如图

常用的用户对象包括:

TABLE,SEQUENCE,VIEW,PACKAGE,TYPE,FUNCTION,PROCEDURE,PACKAGE BODY,TREGGER

选择需要导入的用户对象,导出.sql文件,此步骤导出的是建表语句,包括存储过程、触发器、视图等 。

1.2  PL/SQL->工具->导出表,选项如图

按ctrl键选择需要导出的所有对象

上一步中导出的表中没有数据,所以这一步是要导出表中的所有数据(选择PL/SQL Developer方式。另外两种方式Oracle导出、SQL插入后边再介绍)

至此,备份完成,通常SQL文件大也只有几兆,PDE文件有上百兆。

2.恢复

2.1   由于上面我们导出的是一个用户下完整的数据,所以如果要恢复的数据库里面有这个用户,我们首先执行删除用户及用户下所有数据的操作,并结束相关进程,脚本如下:

drop user username cascade;

select sid,serial# from v$session where username='username';

alter system kill session sessionID;

说明:如果要把备份还原到其它数据库上,则不需要做上面的操作。

2.2   创建用户并赋予权限,脚本如下:

说明:要创建用户自己的数据表空间及临时表空间

CREATE USER username IDENTIFIED BY 12345678 DEFAULT TABLESPACE test_data TEMPORARY TABLESPACE test_temp;

Grant create session to username;
grant connect to username with admin option; 
grant resource to username with admin option;
-- Grant/Revoke system privileges
grant alter any role to username; 
grant alter any sequence to username; 
grant alter any table to username; 
grant alter any trigger to username; 
grant alter tablespace to username; 
grant comment any table to username; 
grant create any sequence to username; 
grant create any table to username; 
grant create any trigger to username; 
grant create any view to username; 
grant create materialized view to username with admin option; 
grant create public synonym to username with admin option; 
grant create role to username; 
grant create session to username with admin option; 
grant create synonym to username with admin option; 
grant create tablespace to username; 
grant create user to username; 
grant create view to username with admin option; 
grant drop any role to username; 
grant drop any sequence to username; 
grant drop any table to username; 
grant drop any trigger to username; 
grant drop tablespace to username; 
grant drop user to username; 
grant grant any role to username; 
grant insert any table to username; 
grant select any table to username; 
grant unlimited tablespace to username with admin option; 
grant update any table to username;

2.3   打开一个命令窗口,将备份好的SQL文本内容复制到命令窗口执行,这一步是创建所有的用户对象,包括表,存储过程,函数,序列…… 但是此时表中是没有数据的

2.4   导入表

在PL/SQL->工具->导入表(按ctrl键选择需要导入的表)

将会依次执行 禁止所有触发器,禁止所有外键约束,删除所有表数据,插入所有表数据,启用外键约束,启用触发器的操作。导入用户对象通常几分钟就能解决,导入表中的数据通常要几十分钟甚至几个小时。

=======================

PLSQL工具导出表时三种导出方式说明:

PL/SQL工具导出表时包含三种方式导出Oracle表结构及数据,三种方式分别为:Oracle Export (客户端exp工具)、SQL Inserts、PL/SQL Developer,下面分别简单介绍下区别:

第一种方式是导出.dmp格式的文件,.dmp是二进制文件,可跨平台,还能包含权限,效率不错,用的最为广泛。跟exp/imp工具进行导入导出方式一致。http://www.cnblogs.com/rusking/p/4006166.html

第二种方式导出.sql格式的insert into 脚本,可用文本编辑器查看,通用性比较好,效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。

第三种方式导出.pde格式的文件,.pde为PL/SQL Developer自有的文件格式,只能用PL/SQL Developer工具导入导出,不能用文本编辑器查看。

导入数据时,也有以上三种导出方式对应的导入方式:

原文链接:http://www.cnblogs.com/Acamy/p/5893724.html

Oracle数据库用户数据完整备份与恢复的更多相关文章

  1. Oracle数据库---用户与角色

    Oracle数据库---用户与角色 2019年02月26日 10:56:10 俊杰梓 阅读数:21 标签: 数据库 更多 个人分类: 数据库   版权声明:版权所有,转载请注明出处.谢谢 https: ...

  2. 简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS

    简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS:1.Toad工具用oracle最大权限用户登录system2.查看正在使用UPAY3LINGXI_YS的进程select * fr ...

  3. Oracle 数据库用户管理

    Oracle 数据库用户管理 Oracle 权限设置      一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限 ...

  4. oracle数据库删除数据Delete语句和Truncate语句的对比

    oracle数据库删除数据Delete语句和Truncate语句的对比 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分 ...

  5. 删除oracle数据库用户

    手工删除ORACLE数据库用户时常会出现会话进程仍在使用导致删除失败的情况.需要查询会话并将会话删除才能成功将数据库用户删除,比较不方便. 适用场景 自动删除oracle数据库用户 基本知识 orac ...

  6. Linux删除ORACLE数据库用户失败提示ORA-01940解决方法

    操作环境 SuSE11+Oracle11gR2 问题现象 删除ORACLE数据库用户失败,提示ORA-01940: cannot drop a user that is currently conne ...

  7. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

  8. C#连接Oracle数据库查询数据

    C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; u ...

  9. sql developer Oracle 数据库 用户对象下表及表结构的导入导出

    Oracle数据库表数据及结构的导入导出   导出的主机与即将导入到的目标主机的tablespace 及用户名需一直!!!!!

随机推荐

  1. PHPCMS V9调用时间标签 |日期时间格式化

    PHPCMS V9 如何调用时间标签,下面分享常见的调用时间标签 |日期时间格式化  1.日期时间格式化显示: a标准型:{date('Y-m-d H:i:s', $rs['inputtime'])} ...

  2. Java多线程:常用的实现多线程的两种方式

    之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解.本章内 ...

  3. DataTable举例

    // clrTest1.cpp: 主项目文件. #include "stdafx.h" using namespace System; using namespace System ...

  4. ios中关于delegate(委托)的使用心得

    ios中关于delegate(委托)的使用心得 分类: iOS开发2012-05-15 10:54 34793人阅读 评论(9) 收藏 举报 iosuiviewtimerinterfaceprinti ...

  5. python学习的一些感悟

    首先声明,这里用到的库是在coursera上学习时,老师建立的一个库 #timer import simplegui import random # global state message = &q ...

  6. 【Linux】基础配置-修改命令提示符的风格

    1,效果图: [groot]$ 2,设置步骤: 编辑~/.bashrc文件,在最后增加设置行: #显示当面目录的最后一层目录#PS1='\[\e[32m\][\u@\h \W]$\[\e[m\]'#只 ...

  7. .NET EntityFramework

    http://www.cnblogs.com/lsxqw2004/archive/2009/05/31/1495240.html http://www.cnblogs.com/flowwind/p/3 ...

  8. codeforces D.Mashmokh and ACM

    题意:给你n和k,然后找出b1, b2, ..., bl(1 ≤ b1 ≤ b2 ≤ ... ≤ bl ≤ n),并且对所有的bi+1%bi==0,问有多少这样的序列? 思路:dp[i][j] 表示长 ...

  9. 南桥先生谈《OUTLIERS》

    借来一套语音版的 Outliers 听完了.这本书里有很多故事,可是希望借此找到成功的奥秘恐怕很难,作者做的是一描述而不是预见.听了半天,只听出了六个字: “天时地利人和”. 比如比尔·盖茨,他之所以 ...

  10. 【有源汇上下界最大流】ZOJ 3229 Shoot the Bullet

    题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3229 题目大意: n天给m个女孩拍照(1<=n<= ...