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


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

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

    1. 备份

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

    常用的用户对象包括:

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

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

    image

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

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

    image

    上一步中导出的表中没有数据,所以这一步是要导出表中的所有数据(选择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键选择需要导入的表)

    image

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

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

    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工具导入导出,不能用文本编辑器查看。

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

    image

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

  • 相关阅读:
    Next Permutation
    SpringMVC配置信息
    Servlet详解(转载)
    Length of Last Word
    Maximum Subarray**
    Divide Two Integers
    Generate Parentheses***
    http解码-2
    编码-1
    扫描工具对比
  • 原文地址:https://www.cnblogs.com/rusking/p/5934069.html
Copyright © 2020-2023  润新知