• PL/SQL之dba和库表的备份与恢复详解


    ------------------------
    --数据库管理员
    ------------------------
    --1、职责
    ①安装和升级Oracle数据库
    ②建库、表空间、表、视图、索引.....
    ③指定并实施备份与恢复计划
    ④数据库权限管理、调优、故障排除
    ⑤对于高级dba,要求能参与项目开发,会编写sql语句、存储过程、触发器、规则、约束、包


    --2、sys与system的区别
    1、最重要的却别,存储的数据的重要性不同
    sys:
      所有Oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于Oracle的运行是至关重要的
      由数据库自己维护,任何用户都不能手动更改
      sys用户拥有dba[角色]、sysdba[系统权限]、sysoper[系统权限]角色或权限是Oracle权限最高的用户
    system:
      用于存放次一级的内部数据,如Oracle的一些特性或工具的管理信息
      system拥有dba\sysdba角色或系统权限

    2、其次区别,权限的不同
    sys:
      用户必须以as sysdba或as sysoper形式登录
      不能以normal方式登录数据库
    system:
      system如果正常登录,它其实就是一个普通的dba用户
      但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的
     
     
    --3、管理初始化参数
    1、显示初始化参数 [system/sys 中显示]
        show parameter;
    2、如何修改参数
        可以到文件 Oracle\Oracle11g\admin\orcl\pfile\init.ora 中修改


    --------------------------------
    --数据库[表]的逻辑备份与恢复
    --------------------------------
    导出具体的分为:到处表、到处方案、到处数据库三种方式
    导出使用exp命令来完成,该命令常用的选项有:
    userid:    用于指定执行导出操作的用户名、口令、连接字符串
    tables:    用于指定执行导出操作的表
    owner:     用于指定执行导出操作的方案
    full=y:    用于指定执行导出操作的数据库
    inctype:   用于指定执行导出操作的增量类型
    rows:      用于指定执行导出操作是否导出表中的数据
    file:      用于指定导出文件名

    --1、导出表
    ①导出自己的表(+数据)
      exp userid=用户名/密码@数据库实例名 tables=(表名1,表名2...) file=备份路径
      如:exp userid=scott/tiger@orcl tables=(emp) file=d:/emp.dmp
     
    ②导出自己的表结构
      exp userid=用户名/密码@数据库实例名 tables=(表名1,表名2...) file=备份路径 rows=n
      rows=n: n表示not  不要数据

    ③导出其它方案的表(+数据)
      如果用户要导出其它方案的表,需要具有 dba权限 或是 exp_full_database 的权限,比如 system 就可以导出scott的表
      exp userid=用户名/密码@数据库实例名 tables=(方案名.表名1,方案名.表名2...) file=备份路径
      如:exp userid=system/manager@orcl tables=(scott.emp) file=d:/emp.dmp

    ④使用直接导出方式
      exp userid=用户名/密码@数据库实例名 tables=(表名1,表名2...) file=备份路径 direct=y
      这种方式比默认的常规方式速度快,当数据量大时,可以使用这种方式
      当数据库的字符集与客户端字符集 不一致 会报错

    --2、导入表
    ①导入自己的表(+数据)
        imp userid=scott/tiger@tangtao tables=(emp) file=d:\aa.dmp
        
    ②导入其他用户的表(+数据)
        要求该用户具有dba的权限或是exp_full_database的权限
        imp userid=system/manager@tangtao tables=(emp) file=d:\aa.dmp touser=scott
        
    ③导入表的结构
        只导入表的结构而不导入数据
        imp userid=scott/tiger@tangtao tables=(emp) file=d:\aa.dmp rows=n

    --3、导出方案
    ①导出自己的方案
       exp userid=用户名/密码@数据库实例名 owner=所有者 file=备份路径
       如:exp userid=scott/tiger@orcl owner=scott  file=d:/scott.dmp

    ②导出其它方案
       如果用户要导出其它方案的表,需要具有 dba权限 或是 exp_full_database 的权限,比如 system 就可以导出其它方案
       exp userid=用户名/密码@数据库实例名 owner=(所有者1,所有者2) file=备份路径
       
    注意:
        如果用户的权限够大,则可一次性导出多个用户的方案  比如:system


    --4、导入方案    
    ①导入数据
       如果对象(比如表)已经存在可以只导入表的数据
        imp userid=scott/tiger@tangtao tables=(emp) file=d:\aa.dmp ignore=y
        
    ②导入数据库
        在默认情况下,当导入数据库时,会导入所有对象结构和数据
        imp userid=system/manager full=y file=d:\xx.dmp

  • 相关阅读:
    Moss2010 部署命令
    socket形象描述
    Android UI 的更新
    android AIDL 进程间通信
    中文设置成粗体的方法
    android 主件之 Service
    android activity
    拦截Activity的后退键处理
    android 解析json数据格式
    防止事件导致的oncreate的多次调用
  • 原文地址:https://www.cnblogs.com/qintangtao/p/2752691.html
Copyright © 2020-2023  润新知