Oracle体系结构

按以下三个类别来描述

用户相关进程

总称为Oracle Instance 的逻辑逻辑内存结构

总称为Database的物理文件结构

用户进程

User Process:要么在用户自己的PC上,要么在中间层应用服务器上.然后这个User Process启动一个与实例的连接.Oracle把启动和管理User Precess与实例间通信的这个进程称作一个Connection.一旦这个Connection建立了起来,用户就在实例中建立了一个Session.当建立一个会话之后,每个用户就在主机服务器自身上启动了一个Server Process(共享服务器多个User Process共享Server Process).然后,由这个Server Process负责执行实际允许用户与数据库进行交互的各项任务.

PGA(Process Global Area):程序全局区,数据库给每个用户创建了一个PGA的辅助内存结构.PGA存储与用户具体相关的会话信息,比如Bind variable和Session variable.

Oracle实例

一个Oracle实例由Oracle的主内存结构和几个Oracle后台进程所组成;主内存结构又叫做SGA(System Global Area).当用户访问数据库中的数据时,Server Process就是和SGA进行通信.

SGA构件

Oracle把SGA内存划分成叫做Granule(区组)的组快来实现动态的空间分配.4MB,8MB OR 16MB

共享存储池:高速缓存由数据库用户已经发布的最常用的SQL语句(LRU)

数据库缓冲器告诉缓存:高速缓存由数据库用户最近访问过的数据(LRU)

重做日志缓冲器:存储事务信息以用于恢复目的

Java存储池:可选,在Oracle的JVM选件得到使用时,高速缓存最近使用的Java对象和应用软件代码

大存储池:为诸如RMAN备份与恢复之类的大型操作和Shared Server 构件高速缓存数据

流存储池:当Oracle的Advanced Queuing选件得到使用时,高速缓存跟排队的信息请求相关联的数据

参数:基本参数和高级参数

如:SGA_TARGET

SQL>select * from V$SGA

Fixed Size:用来存储由实例的后台进程所使用的信息的辅助空间

Variable Size:Shared Pool,Large Pool,Java Pool

Database Buffers Cache:

Redo Log Buffer

SQL>select component,current_size from v$sga_dynamic_components;

或用EM DatabaseControl来查看每个SGA构件的大小.

Oracle的后台进程

必需:SMON(System Monitor),PMON(Process Monitor),DBWn(Database Writer),CKPT(Checkpoint)

任选:ARCn(Archive),RECO(Recover),CJQn(Job Queue Monitor),Jnnn(Job Queue),Qnnn(Parallel Queue Slave),Dnnn(Dispatcher),Snnn(Shared Server),MMAN(Memory Manager),MMON(Memory Monitor),MMNL(Memory Monitor Light),RVWR(Recover Writer),CTWR(Change Tracking Writer)

Unix下查看后台进程 $ps -ef | grep PROD

在windows环境中,还有一个叫做OracleServiceInstanceName的Windows服务与每个实例相关联.必须启动这个服务,才能启动实例.

Oracle数据库

一个实例就是一个临时的内存结构,但是Oracle数据库是由驻留在主机服务器的磁盘驱动器上的一组物理文件所构成的.这些物理文件称做Control File,Data File,Redo File.跟Oracle数据库有关,但从技术上看不属于Oracle数据库的附加物理文件有Password File,PFILE,SPFILE,以及Archived redo log file.

Control File:

Data File:

Redo File:

了解Database Writer,Log Writer进程何时工作的.

DB control只要做:

? Performance monitoring

? Managing proactive alerts

? Controlling maintenance wizards and advisors

? User and database object administration

? Database backup and recovery

? Storage management

and much more.

在DBCA中可以修改shared server 还是独占server。

GRID Control 下面是management server和management repository

DBCA:

创建数据库

数据库配置(在选择了change database configured)

删除数据库

管理模板 :下面有三个选项

from an existing template

from an existing database(structure only)

from an existing database(structure as well as data)

第四章 database interface

要点:

1.利用SQL*PLUS和iSQL*PLUS进入数据库。

2.表的结构

3.利用SQL查询,管理和定义数据

4.认清一些常见的数据库界面

iSQL*PLUS必须启动进程才能使用

isqlplusctl start

网址是:

port一般是5560

SQL分为几下几类:

? Data definition language (DDL) statements:create,replace,alter.drop

? Data manipulation language (DML) statements,insert,update,delete

? Transaction control statements

? Session control statements

? System control statements

? Embedded SQL statements

Oracle Reports is generally used for standard, fixed

reports. Oracle Discoverer is a data mining tool that allows users to browse data without

knowing the underlying structure and relationship of that data.

order by 默认是升序, 要是降序要加上desc

A transaction ends when any of the following occurs:

? A user issues a COMMIT or ROLLBACK statement without a SAVEPOINT clause.

? A user runs a DDL statement such as CREATE, DROP, RENAME, or GRANT. If the current transaction contains any DML statements, Oracle first commits the transaction, and then runs and commits the DDL statement as a new, single statement transaction.

? A user disconnects from Oracle. The current transaction is committed.

? A user process terminates abnormally. The current transaction is rolled back.

第五章 控制数据库

启动iSQLPLUS

$isqlplusctl start

停止iSQLPLUS

$isqlplusctl stop

启动database control

emctl start dbcontrol

停止database control

emctl stop dbcontrol

查看database control 状态

emctl status dbcontrol

nomount:

1)读取初始化参数文件:

先是spfileSID.ora 然后是spfile.ora 最后是initSID.ora

2)指定SGA

3)开启后台进程

4)打开alert文件和trace文件

Mount 下可以:

1)rename datafile(当表空间是offline时,可以在数据库打开时候修改)

2)修归档模式

3)执行全数据库恢复

OPEN:

open the online data files

open the online redo log files

第六章 存储管理

要点:

1.认清表空间和数据文件的用途

2.建立表空间

3.管理表空间

4.获得表空间的信息

表空间的空间管理方式

本地管理:

1.free extent 在表空间管理

2.bitmap来记录空间的extent

3.每个bit correspods来一个块或者一组块

4.bit指示空间是used

extents在表空间内通过bitmap管理,每个在bitmap中的bit对应一个块和或者一组块。当extent指定或者回收时候,bitmap的值相应的改变。

字典管理

1.空闲extent在数据字典中管理

2.数据字典中的表当extent 指定或者回收时候更新

extent在数据字典中管理。当extent指定或者回收时候,在数据字典中的表更新。

本地管理的优点:本地治理表空间与字典治理表空间相比大大提高了治理效率和数据库性能,其优点如下:

1.减少了递归空间治理

本地治理表空间是自己治理分配,而不是象字典治理表空间需要系统来治理空间分配,本地表空间是通过在表空间的每个数据文件中维持一个位图来跟踪在此文件中块的剩余空间及使用情况。并及时做更新。这种更新只对表空间的额度情况做修改而不对其他数据字典表做任何update操作,所以不会产生任何回退信息,从而大大减少了空间治理,提高了治理效率。同时由于本地治理表空间可以采用统一大小分配方式(UNIFORM),因此也大大减小了空间治理,提高了数据库性能。

2.系统自动治理extents大小或采用统一extents大小

本地治理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配方式(AUTOALLOCATE)是由系统来自动决定extents大小,而统一大小分配(UNIFORM)则是由用户指定extents大小。这两种分配方式都提高了空间治理效率。

3.减少了数据字典之间的竞争

因为本地治理表空间通过维持每个数据文件的一个位图来跟踪在此文件中块的空间情况并做更新,这种更新只修改表空间的额度情况,而不涉及到其他数据字典表,从而大大减少了数据字典表之间的竞争,提高了数据库性能。

4.不产生回退信息

因为本地治理表空间的空间治理除对表空间的额度情况做更新之外不修改其它任何数据字典表,因此不产生回退信息,从而大大提高了数据库的运行速度。

5.不需合并相邻的剩余空间

因为本地治理表空间的extents空间治理会自动跟踪相邻的剩余空间并由系统自动治理,因而不需要去合并相邻的剩余空间。同时,本地治理表空间的所有extents还可以具有相同的大小,从而也减少了空间碎片。

6.减少了空间碎片

7.对临时表空间提供了更好的治理

select dbms_metadata.get_ddl('TABLE','fuck','YANWEI') from dual;

不能指定临时表空间为automatic extent allocate

不能指定UNDO表空间为uniform extent allocate

在本地管理的表空间:

antomatic

manual(必须指定PCTUSED,FREELISTS AND FREELIST GROUPS)

logging:就是表空间的变化记录在redo stream,然后写到redo log里。

可以在表空间上设置REDO LOG的写方式LOGGING、NOLOGGING和FORCE LOGGING。其中设置FORCE LOGGING则会覆盖对象级的设置,使建立在该表空间上的对象都具有LOGGING的属性。

如果你想把一个字典管理的表空间转换成本地管理的表空间,利用DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL包

利用TOAD或者select dbms_metadata.get_ddl('TABLESPACE','TABLESPACENAME','') FROM DUAL查询建立表空间的语句。(必须大写)

select dbms_metadata.get_ddl('TABLESPACE','USES','SYS') FROM DUAL;

数据库需要要有的是SYSTEM,UNDO。

不能read only是system sysaux。

将表空间设为read only的限制条件:

1)           表空间必须online

2)           在线备份该表空间时不能设为read only

3)           系统会等待当前事务完成

4)           不能包含活动回滚段

临时表空间:排序,存放临时段(临时表)。不能offline。

Temp表空间的限制:不能在没有新的临时表空间的情况下删除当前的临时表空间,不能被offline或改为永久表空间。

UNDO只能用本地管理。

移动数据文件:

1)将对应的表空间offline(系统会等待当前事务结束)

2)alter tablespace user rename datafile '*01.dbf' to '*02.dbf';

3)对应的表空间online

重命名系统表空间

1)    sql>shutdown immediate;

2)    sql>startup mount;

3)    sql>alter database rename file  '*1.dbf' to  '*2.dbf';

Obtaining tablespace and data file information can also be obtained by querying the following:

? Tablespace information:

- DBA_TABLESPACES

- V$TABLESPACE

? Data file information:

- DBA_DATA_FILES

- V$DATAFILE

? Temp file information:

- DBA_TEMP_FILES

- V$TEMPFILE

建立表空间

CREATE TABLESPACE data01

DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

UNIFORM SIZE 128k;             #指定区尺寸为128k,如不指定,区尺寸默认为64k

删除表空间

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

一、建立表空间

CREATE TABLESPACE data01

DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

UNIFORM SIZE 128k;             #指定区尺寸为128k,如不指定,区尺寸默认为64k

二、建立UNDO表空间

CREATE UNDO TABLESPACE UNDOTBS02

DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M

#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:

ALTER SYSTEM SET undo_tablespace=UNDOTBS02;

三、建立临时表空间

CREATE TEMPORARY TABLESPACE temp_data

TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M

四、改变表空间状态

1.使表空间脱机

ALTER TABLESPACE game OFFLINE;

如果是意外删除了数据文件,则必须带有RECOVER选项

ALTER TABLESPACE game OFFLINE FOR RECOVER;

2.使表空间联机

ALTER TABLESPACE game ONLINE;

3.使数据文件脱机

ALTER DATABASE DATAFILE 3 OFFLINE;

4.使数据文件联机

ALTER DATABASE DATAFILE 3 ONLINE;

5.使表空间只读

ALTER TABLESPACE game READ ONLY;

6.使表空间可读写

ALTER TABLESPACE game READ WRITE;

五、删除表空间

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

六、扩展表空间

首先查看表空间的名字和所属文件

select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name;

1.增加数据文件

ALTER TABLESPACE game

ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;

2.手动增加数据文件尺寸

ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'

RESIZE 4000M;

3.设定数据文件自动扩展

ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf

AUTOEXTEND ON NEXT 100M

MAXSIZE 10000M;

设定后查看表空间信息

SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,

(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

1 oracle数据库如何增加表空间大小:

两种方法,一种是为表空间增加数据文件

alter tablespace users add datafile 'c:oracleora81oradatasiduser002.dbf' size 100M;

alter tablespace users add DATAFILE '/dev/rr_ttbbxxA_4g' size 3960M;

另一种方法是增加表空间原有数据文件尺寸(裸设备如果最大了就无法扩展,不同于windows文件,需要采用

第一种方法,再次增加一个裸设备):

alter database datafile 'c:oracleora81oradatasidusers.dbf' resize 1000M;

alter database DATAFILE '/dev/rr_ttbbxxA_4g' resize 3960M;

修改某些参数得命令:alter database

alter database DATAFILE '/dev/rttbbxxA_4g' AUTOEXTEND ON NEXT 256K MAXSIZE UNLIMITED;

2 在 Oracle Database 10g 中,您可以类似地为用户指定一个默认表空间。

在数据库创建期间,CREATE DATABASE 命令可以包含子句 DEFAULT TABLESPACE 。

在创建之后,您可以通过发出以下命令来使一个表空间变成默认表空间。

ALTER DATABASE DEFAULT TABLESPACE ;

3 删除表空间

DROP TABLESPACE TableSpaceName [INCLUDING CONTENTS [AND DATAFILES]]

oracle8数据库help文件增长,Oracle 10g 读书笔记相关推荐

  1. Oracle 10g学习笔记(一)

    前言 很不好意思的坦白本人是刚刚学习oracle的菜鸟,以下内容是节取的书中一些值得注意的事项,因为只涉及oracle最初级的知识,并没有太深的内容,希望各位oralce高手们能够帮忙指点指点. Or ...

  2. mysql数据应用从入门_MYSQL数据库应用从入门到精通----读书笔记

    mysql 1.创建数据库 create database database_name; 2.查看数据库 show database_name; 3.选择数据库 use database_name; ...

  3. oracle10g数据库复制,windows 下oracle 10G 数据库移植到 linux平台 (通过文件直接复制方法)...

    windows 下oracle 10G  数据库移植到 linux平台 (通过文件直接复制方法) 最近学习了一下oracle数据库启动原理,于是,就把在windows创建起来做测试的数据库 移植到li ...

  4. 在oracle数据库中存储数据库的文件是,Oracle数据库,oracle

    数据库结构和空间管理 一个ORACLE数据库是数据的集合,被处理成一个单位.一个ORACLE数据库有一个物理结构和一个逻辑结构. 物理数据库结构(physical database structure ...

  5. oracle数据库中的回收站,Oracle 10G 中的"回收站"-数据库专栏,ORACLE

    oracle 10g 中的"回收站" by fenng http://www.dbanotes.net 在oracle 10g中,引入了一个回收站(recycle bin)的概念. ...

  6. oracle 记录镜像文件,记录oracle 10g RMAN的一些新特征-介绍了镜像与备份集的区别...

    1.单条命令"backup as copy"进行全数据库镜像拷贝备份: RMAN> run { 2> backup as copy tag "sjh09032 ...

  7. oracle10g无监听配置文件,Oracle 10g学习笔记(七) tnsnames.ora 监听配置文件详解

    监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 置 Oracle 网络服务器环境 配置 Oracle 网络服务器环境是通过配置 listener.ora ...

  8. 软考-架构师-第三章-数据库系统 第八节 数据库设计的基本步骤(读书笔记)

    版权声明 主要针对希赛出版的架构师考试教程<系统架构设计师教程(第4版)>,作者"希赛教育软考学院".完成相关的读书笔记以便后期自查,仅供个人学习使用,不得用于任何商业 ...

  9. mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...

    MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...

最新文章

  1. Android--应用开发3(Android layout XML属性)
  2. jQuery HTML 添加和删除元素
  3. SQLSERVER数据库经常置疑的原因
  4. RocketMQ的核心概念,一一梳理清楚
  5. java全局变量怎么定义_Java开发知识点:如何理解Java函数式编程?
  6. AUTOSAR从入门到精通100讲(131)-AURIX中DMA模块对TIM的FIFO数据搬运
  7. CodeBlocks使用第三方库(以使用pcre库为例)
  8. Win10最详细tensorflow-GPU环境的安装(安装anaconda、CUDA、CUDANN)
  9. 环形队列的输出_Java数据结构:使用数组实现环形队列详解
  10. 大三学生独自破解逆天AI模型:我只是把撩妹的时间,都用来研究机器学习了...
  11. 安装Hyper-v Server 2016
  12. cacti中个别流量图超过80M不显示解决办法
  13. LeetCode 3Sum (Two pointers)
  14. android锁屏自动清理,安卓手机如何把锁屏自动清理关掉急
  15. 掌控你的信息流:在自己的VPS上部署RSSHub
  16. HTML设置背景颜色及背景图片
  17. PB调用C#动态库轻松实现微信、支付宝支付
  18. shell 脚本实战 五
  19. (单击)双击直接修改内容的代码
  20. [数据结构] UVa1471 Defense Lines 防线

热门文章

  1. H5响应式网站制作那些事
  2. CPU使用率过高如何排查问题
  3. 利用Windows 计划任务定时将本地文件复制到共享文件夹
  4. 程序人生—谈安全测试的重要性
  5. 《解剖PetShop》系列之五
  6. RabbitMq集成SpirngBoot
  7. 12月编程语言排行榜公布啦~
  8. python足球分析系统_NAO足球/高尔夫比赛视觉系统设计(python初级版)
  9. Win10命令大全通用
  10. liteos源码中的哨兵函数思想