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脚本
--全备
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基础概述的更多相关文章
- Oracle基础维护01-常用管理命令总结
概览: 1.Oracle 内存管理 2.Oracle 数据库启动关闭 3.Oracle 参数文件 4.Oracle 控制文件 5.Oracle redo日志文件 6.Oracle undo表空间管理 ...
- 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建
数据库基础概述 大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...
- SQL Tuning 基础概述10 - 体会索引的常见执行计划
在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描 ...
- 图说Oracle基础知识(一)
本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...
- SQL Tuning 基础概述10
在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描 ...
- Oracle基础知识汇总一
Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接 https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...
- oracle基础教程(8)oracle修改字符集
oracle基础教程(8)oracle修改字符集 1.用dba连接数据库 -->sqlplus / as sysdba 2.查看字符集 -->SELECT parameter, value ...
- 1.Oracle数据库概述
Oracle数据库概述 1.1Oracle结构图 1.1如何访问数据库 a.本机直接通过sock(套接字)方式访问 IPC UDP协议 ,不需要网络 b.通过tcp建立连接到oracle服务器 1. ...
- Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考
第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...
随机推荐
- CVE-2018-12613 phpmyadmin文件包含getshell连载(三)
这是phpmyadmin系列渗透思路的第三篇文章,前面一篇文章阐述了通过慢查询日志getshell,本文将通过文件包含漏洞展开讨论 #001 影响版本 Phpmyadmin 4.8.0/4.8.0.1 ...
- git常用代码合集
git常用代码合集 1. Git init:初始化一个仓库 2. Git add 文件名称:添加文件到Git暂存区 3. Git commit -m “message”:将Git暂存区的代码提交到Gi ...
- 专家解读:利用Angular项目与数据库融合实例
摘要:面对如何在现有的低版本的框架服务上,运行新版本的前端服务问题,华为云前端推出了一种融合方案,该方案能让独立的Angular项目整体运行在低版本的框架服务上,通过各种适配手段,让Angular项目 ...
- ImageLoader在ViewPage中的使用
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 使用java类的方式配置spring 需要什么注解?
1.@Configuration 修饰类,声明当前类是一个配置类,相当于applicationContext.xml文件 2.@ComponentScan 用于指定spring在初始化容器时要扫描的包 ...
- 【Model Log】模型评估指标可视化,自动画Loss、Accuracy曲线图工具,无需人工参与!
1. Model Log 介绍 Model Log 是一款基于 Python3 的轻量级机器学习(Machine Learning).深度学习(Deep Learning)模型训练评估指标可视化工具, ...
- 【asp.net core 系列】14 .net core 中的IOC
0.前言 通过前面几篇,我们了解到了如何实现项目的基本架构:数据源.路由设置.加密以及身份验证.那么在实现的时候,我们还会遇到这样的一个问题:当我们业务类和数据源越来越多的时候,我们无法通过普通的构造 ...
- 【Spring注解驱动开发】如何使用@Value注解为bean的属性赋值,我们一起吊打面试官!
写在前面 在之前的文章中,我们探讨了如何向Spring的IOC容器中注册bean组件,讲解了有关bean组件的生命周期的知识.今天,我们就来一起聊聊@Value注解的用法. 项目工程源码已经提交到Gi ...
- sql:主键(primary key)和唯一索引(unique index)区别
主键一定是唯一性索引,唯一性索引并不一定就是主键. 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引. 因为主键可以唯一标识某一行记录,所以可以确保执行数据 ...
- NOIp ( on line ) 提高组 2020 总结
T1 : 序列 题意: 一共有T组数据,每组数据有两个长度为n的序列a,b,m个操作,问a序列是否可以转换成b,是输出YES,否的话输出NO. m个操作分别为ti,xi,yi,若t为1,则x和y上的数 ...