本部分主要参考”风哥“的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脚本

  

 --全备
run{
allocate channel c1 type disk;
backup full tag ‘dbfull’ format
‘/oraarch/db_%d_t%t_s%s_p%p.dbf’
database include current controlfile;
release channel c1;
}
-- 归档日志
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

  

Oracle基础概述的更多相关文章

  1. Oracle基础维护01-常用管理命令总结

    概览: 1.Oracle 内存管理 2.Oracle 数据库启动关闭 3.Oracle 参数文件 4.Oracle 控制文件 5.Oracle redo日志文件 6.Oracle undo表空间管理 ...

  2. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...

  3. SQL Tuning 基础概述10 - 体会索引的常见执行计划

    在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描 ...

  4. 图说Oracle基础知识(一)

    本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...

  5. SQL Tuning 基础概述10

    在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描 ...

  6. Oracle基础知识汇总一

    Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接   https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...

  7. oracle基础教程(8)oracle修改字符集

    oracle基础教程(8)oracle修改字符集 1.用dba连接数据库 -->sqlplus / as sysdba 2.查看字符集 -->SELECT parameter, value ...

  8. 1.Oracle数据库概述

    Oracle数据库概述 1.1Oracle结构图 1.1如何访问数据库 a.本机直接通过sock(套接字)方式访问  IPC UDP协议 ,不需要网络 b.通过tcp建立连接到oracle服务器 1. ...

  9. Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考

    第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...

随机推荐

  1. 04 . Jenkins定制主题和设置项目构建信息输出颜色

    Jenkins thems自动生成定制主题css Jenkins默认界面比较丑,视觉容易疲劳,这时候就需要我们更换一个主题,让我们的Jenkins美观一些. 以下是css主题的地址 http://af ...

  2. MongoDB文档(二)--查询

    (一)查询文档 查询文档可以使用以下方法 # 以非结构化的方式显示所有的文档 db.<collectionName>.find(document) # 以结构化的方式显示所有文档 db.& ...

  3. WeChair项目Beta冲刺(1/10)

    团队项目进行情况 1.昨日进展    Beta冲刺第一天 前期进展: 对代码进行优化,完成上阶段冲刺未完成的实名认证上传图片的功能,解决解密存在部分失败的bug问题 2.今日安排 前端:设计扫码占座功 ...

  4. SSM-框架搭建-tank后台学习系统

    一.前言 最近收到很多网友给我私信,学习软件开发有点吃力,不知道从何处开始学习,会点基础但是做不出来什么项目, 都想放弃了.我就回复道:当下互联网飞速发展,软件开发行业非常吃香而且前景相当不错.希望能 ...

  5. 爬取B站弹幕并且制作词云

    目录 爬取弹幕 1. 从手机端口进入网页爬取找到接口 2.代码 制作词云 1.文件读取 2.代码 爬取弹幕 1. 从手机端口进入网页爬取找到接口 2.代码 import requests from l ...

  6. CF #640 (div4)

    CF640 div4 草 迟到半个月的补题 真正的懒狗 再懒就无了 D. Alice, Bob and Candies 题意:n个数字,奇数时间从左侧删数字,偶数时间从右侧删数字,每次删的数字之和必须 ...

  7. Maven的pom文件依赖提示 ojdbc6 Missing artifact,需要手动下载并导入maven参考

    eg: 需要 ojdbc6.jar 的下载地址 https://www.oracle.com/database/technologies/jdbcdriver-ucp-downloads.html c ...

  8. Python3-cx_Oracle模块-数据库操作之Oracle

    模块安装 1.安装cx_Oracle模块之前必须要安装Oracle客户端,否则无法使用 2.系统上需要装有对应版本的c++编译套件(Linux下:g++ Windows下:VC++) 参考文档 htt ...

  9. mysql错误详解(1819):ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    O(∩_∩)O哈哈~ 在学习 Mysql 的时候又遇到了新问题了 o(╥﹏╥)o 当我在准备为用户授权的时候: grant all privileges on *.* to 'root'@'%' id ...

  10. 并发02--JAVA内存模型

    在并发编程中,需要解决两个问题:线程间如何通信&线程间如何同步 线程同步:控制不同线程操作顺序的机制 解决这两个问题的方案有两种:共享内存&消息传递 共享内存:通过使用共享内存,隐式通 ...