• Oracle基础概述


    本部分主要参考”风哥“的Oracle入门视频。

    一、体系结构概述

    1、物理结构(文件结构)

    Oracle有四种文件:控制文件、数据文件、日志文件、参数文件

    其中日志文件分为两类:联机日志文件、归档日志文件。

    ①数据文件

    DataFile是物理存储ORACLE数据库数据的文件

    a.每个数据库文件只与一个数据库相联系。

    b.一个表空间包含一个或多个数据文件。

    ②日志文件:

    记录所有对数据数据的修改,以备回复数据时使用。

    a.每个数据库至少包含两个日志文件组。

    b.日志文件组以循环方式进行写操作。

    c.每个日志文件成员对应一个物理文件。

    ③控制文件

    ControlFile是一个较小的二进制文件,描述数据库结构。如数据库建立的日期、数据库名、数据库中所有数据文件和日志文件的文件名及路径、恢复数据库时所需的同步信息、在打开和存取数据库时都要访问该文件。

    记录控制文件名及路径的参数为:CONTROL_FILES

    ④参数文件(Parameter File)

    作用:确定存储结构的大小、设置数据库的全部缺省值、设置数据库的范围、设置数据库的各种物理属性、优化数据库性能。

    存放位置:$ORACLE_HOME/dbs/init.ora

    注意:oracle9i之后,参数文件是spfile,也可能是pfile。

       Spfile是二进制文件,在数据库启动后能动态修改。(推荐使用)

       Pfile是静态文本文件,在数据库关闭时,修改参数。

       Spfile优先pfile,在启动数据库时,如果二者都存在,使用Spfile启动。

    2、内存结构

    SGA:系统全局区(System Global Area)是Oracle Instance的基本组成部分,在实例启动时分配。主要用于存储数据库信息的内存区,该信息为数据库进程所共享。

    PGA:程序全局区(Program Global Area)是一块包含一个服务进程的数据和控制信息的内存区域。Oracle在一个服务进程启动时创建,非共享。只能被用于他的那个服务进程所访问

    3、逻辑结构

    表空间(TableSpace)-- 段(Segment)-- 区(Extent)-- 数据块(Block)

    表空间:包含数据字典(描述数据库自身结构、所有对象、用户及角色的表)。SYSTRM表空间是书库中数据字典所处的位置,数据库运作的基础之一。创建数据库后,需要创建存储数据的其他表空间。

    段:表空间中被分配给若干个段,段是存储的对象,如一张表或一个索引。

    区:是为某个段分配的若干临近数据块的集合。

    数据块:数据库内I/O最小单位。

    4、Oracle物理结构与逻辑结构的关系

    逻辑:Database -- TableSpace -- Segment -- Extent -- Oracle block

                |                                                   |

    物理:                      Data File           -------                  OS block

    二、后台进程

    DBWR   数据库写进程

    LGWR  日志写进程

    CKPT  检查点写进程

    SMON  系统监控进程

    PMON  进程监控进程

    ARCH  归档进程

    RECO  恢复进程

    LCKN  锁进程

    三、Enterprise Manager --管理Instance

    作用:修改参数文件、数据启动和关闭、数据库日志log、通过SQLPLUS管理

    命令:

    echo 启动
    emctl start dbconsole
    
    echo 关闭
    emctl stop dbconsole

    四、启动和关闭

    1、启动Oracle Instance

      SHUTDOWN-->NOMOUT-->MOUNT-->OPEN

      NMOUNT:Instance started。

      MOUNT:Control file opened for this instance

      OPEN:All files opened as described by the control file for this instance.

      启动命令:

      

    $su - oracle
    $sqlplus "/as sysdba"
    SQL>starup
    $lsnrcrl start

    2、数据库关闭模式

      --A = ABORT

      --I = IMMEDIATE

      --T = TRANSACTIONAL

      --N = NORMAL  

      停止命令:

    $su - oracle
    $sqlplus "/ as sysdba"
    SQL>startup
    
    $lsnrctl start

    五、基本概念

    1、SQL语言

    2、数据库基本对象:表(Table)、视图(View)、索引(Index)、序列号(Sequence)、存储过程和函数(Procedures & Functions)、触发器(Trigger)、同义词(Sysnonym)、包(Package)、数据库连接(Database Link)、快照(Snapshot)

    3、数据用户权限

      超级用户:sys,system

      权限:sysdba,dba

    4、oracle net 配置

      配置文件:listner.ora    Tnsnames.ora

       配置图像命令:netca

      启动/关闭/查看命令:lsnrctl start/stop/status

      通过oracle client配置tnsname.ora连接数据库

    六、数据库备份

     1、备份很重要

     2、一般数据库出现故障种类:

      SQL语句失败、线程失败、实例失败(数据库自动纠错)

      用户操作失败、存储设备失败(通过备份文件来恢复)

     3、备份类型

      --逻辑备份:exp、expdp

        exp备份:对用户操作失败恢复数据比较方便

             优点:表级备份、操作简单

             缺点:当数据库文件损害时恢复比较慢

      --物理备份:冷备份、热备份

      RMAN(Recovery Manager)

      要求:Archive Log  Catalog db

      对于存储设备失败导致的数据库故障,恢复数据比较方便。

      在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。

     4、备份策略

      --全备(full backup)

      --归档日志备份(Archivelog BackUp)

      --增量备份(Increment BackUp)

      根据业务需要,制定合理的备份策略。

      

      例如:每晚一次归档备份

         隔天增量备份(数据量大)

         每周一次全备

      

      RMAN热备份常用方案

      -- Veritas NetBackUp + RMAN

      -- IBM TSM + RMAN

      -- EMC Legato + RMAN

      -- RMAN脚本

      -- 其它......

      备份软件用途:

      -- 管理带库

      -- 制定备份策略

      -- 自动备份

      常用RMAN脚本

      

    1 --全备
    2 run{
    3 allocate channel c1 type disk;
    4 backup full tag  ‘dbfull’ format
    5/oraarch/db_%d_t%t_s%s_p%p.dbf’
    6 database include current controlfile;
    7 release channel c1;
    8 }
    -- 归档日志
    run{
    allocate channel dev1 type disk;
    backup incremental level 1 filespeset 1
    format '/itpux/logfull_d%d_t%t_s%s_p%p.dbf'
    archivelog all delete input;
    release channel dev1;
    }

    七、数据库恢复

      1、恢复类型

      完全恢复、不完全恢复

      2、恢复方法

      IMP、IMPDP通过逻辑备份文件dmp,导入数据。

      RMAN恢复,通过备份在磁带库或者磁盘上的数据IMAGE来恢复。

       3、数据泵

      EXPDP 和IMPDP命令:

      ①检查ulimit参数

      ②

    mkdir expdir
    cd expdir/
    sqlplus "/as sysdba"
    sqlplus>create directory expdir as "/soft/bak/expdir";
    sqlplus>grant read,write on directory expdir to SYSTEM;
    
    --备份
    expdp system/oracle full=y directory= epdir dumpfile=20151023_%U.dmp LOGFILE=20151023_.log parallel=3 filesize=50g
    --如果加并行参数报错,则需要转呢家参数cluster=N
    
    --恢复:
    impdp system/system full=y directory=expdir dumpfile=orcl_%U.dmp logfile=1.log parallel=3

      

  • 相关阅读:
    博客园侧边栏添加QQ链接
    通俗易懂的理解 Redux(知乎)
    Redux生态系统
    ReactNative环境搭建
    cordova插件开发
    java类初始化
    Cordova指令
    安卓中如何调用jni
    JNI开发的常见错误
    JNI-java native interface(java本地接口)
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/4903266.html
Copyright © 2020-2023  润新知