Oracle服务器主要由实例、数据库、程序全局区和前台进程组成,其中
实例就是用来提供管理数据库的功能;
数据库由数据库文件组成,用来存储系统数据;
实例可以进一步划分为系统全局区(SGA)和后台进程(PMON、SMON等)两部分,其中
SGA是所有用户进程共享的一块内存区域,使用操作系统的内存资源,而后台进程需要使用CPU与内存资源。数据库中包含数据文件、控制文件和重做控制文件,数据库存放在硬盘中。
程序全局区(PGA)是一个非共享的内存区域,用于管理用户进程的私有资源。前台进程可以再划分为用户进程和服务器进程,他们需要使用CPU与内存资源。

Oracle数据库的逻辑结构由多个表空间(tablespace)组成,而表空间又由多个段(segment)组成,段由多个数据区(Extent)组成,数据区又由多个数据块(Blocks)组成,如图:

Oracle的数据在逻辑上存储在表空间中,而在物理上存储在表空间所包含的物理文件(即数据文件)中,如图:

Oracle数据库的物理存储结构由多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件和警告日志文件,如图:

每个数据文件只对应一个表空间,一个表空间可以存放多个数据文件。
/*查看表空间*/
select * from dba_tablespaces;

/*查看表空间数据文件的路径*/
select tablespace_name,file_name from dba_tablespaces;

/*表空间使用情况查询*/
select dbf.tablespace_name,dbf.totalspace "总量(M)", dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例"from (select t.tablespace_name,sum(t.bytes) / 1024 / 1024 totalspace,sum(t.blocks) totalblocks from dba_data_files t  group by t.tablespace_name) dbf,  (select tt.tablespace_name,  sum(tt.bytes) / 1024 / 1024 freespace,  sum(tt.blocks) freeblocks from dba_free_space tt  group by tt.tablespace_name) dfs  where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);

/*创建表空间后创建用户和授权分为四步:创建临时表空间/表空间/创建用户/授权*/
/*第1步:创建临时表空间*/
/*临时表空间一般是指在数据库中存储数据,当内存不够的情况下写入的空间,主要用作查询时带有排序(Group by,Order by等)算法时所用,这个空间并不像一般的表空间,当执行完对数据库的操作后,该空间的数据会自动清空*/
create temporary tablespace test_temp
tempfile 'D:\oracledata\test_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

/*第2步:创建数据表空间*/
create tablespace test_data
logging
datafile 'D:\oracledata\test_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

/*第3步:创建用户并指定表空间*/
create user test identified by test
default tablespace test_data
temporary tablespace test_temp;

/*第4步:给用户授予权限*/
grant connect,resource,dba to test;

/*重命名表空间*/
alter tablespace test_data rename to testOne_data;/*将表空间test_data命名为testOne_data*/

/*修改表空间数据文件大小*/
alter database datafile '/ora/oradata/radius/undo.dbf' resize 10240M;

Oracle数据库体系结构及创建表结构的更多相关文章

  1. 利用powerDesigner15.1连接oracle数据库并自动生成表结构

    利用powerDesigner15.1连接oracle数据库并自动生成表结构 参考:http://blog.csdn.net/qq_24531461/article/details/76713802 ...

  2. Oracle数据库体系结构(7) 表空间管理1

    表空间是Oracle数据库最大的逻辑存储结构,有一系列段构成.Oracle数据库对象存储结构的管理主要是通过表空间的管理实现的. 1.表空间的分类 表空间根据存储类型不同分为系统表空间和非系统表空间 ...

  3. <正则吃饺子>:关于使用powerDesign连接oracle数据库,导出数据表结构(ER图吧)

    最近做的项目中,没有完整的数据库表结构图(ER图),自己就根据服务器上oracle数据库和powerdesign整理一份,但是存在两个问题:1.没有把数据库表的相关备注弄下来:2.数据库表中的主外键关 ...

  4. Oracle数据库之创建表结构

    Oracle数据库之创建表结构 主键与外键 主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(可以是一个属性,也可以是多个)能唯一标识一条记录,那么该属性组就是主键. 外键:关系型数 ...

  5. MySQL数据库干货分享!mysql每月自动创建表结构

    如果你刚好在学MySQL,博主推荐一套很详细的MySQL教程 主要详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如 ...

  6. DjangoORM创建表结构以及生成数据库结构

    1. ORM的两种 DB first: 创建表结构--根据表结构生成类-----根据类来操作数据库 Code first: 先写代码------再写类----执行命令(一个类生成一个表)当前主流的用法 ...

  7. Oracle学习笔记--第2章 oracle 数据库体系结构

    第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...

  8. Oracle数据库体系结构(2)数据库实例

    Oracle实例的概念: 实例(Instance):就是数据库管理系统,处于用户与物理数据库之间的一个中间层软件,由一系列内存结构和后台进程组成. 用户操作数据库的过程实质上与数据库实例建立连接,然后 ...

  9. oracle数据库体系结构

    一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...

随机推荐

  1. DotNetBar 第1课,设置整体窗口样式

    1. 先引用 DevComponents.DotNetBar2.dll 2. 窗口继承 Office2007Form public partial class Form1 : Office2007Fo ...

  2. ASP.NET收发邮件

    在.NET中常见到在线发邮件的实例,网站加上这个功能可以方便站长与用户的交流. NET 中发邮件有时候会用到IIS组件中的邮件服务器,不过复杂.对虚拟主机的配置也较麻烦, 也可用第三方组件比如Jmai ...

  3. C#基础——静态成员,static关键字

    当声明一个类成员为静态时,意味着无论创建多少个类的对象,只会有一个该静态成员的副本. 关键字static意味着只有一个该成员的实例.静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的 ...

  4. webStorm 多个项目并存

    点击file ->settings ->Directories 然后右侧有个Add Content Root 添加某个Root即可看见该root下的所有项目

  5. Codeforces Round #325 (Div. 2) D bfs

    D. Phillip and Trains time limit per test 1 second memory limit per test 256 megabytes input standar ...

  6. 开发基于C#.NET的mongodb桌面版的应用程序(1)

    1.之前没有使用过C#开发过相应的桌面应用程序,现在既然要从零到有进行开发,自然要掌握好C#桌面开发相关的原理与技术,以及站在多类型用户的角度开发具有实际生产意义的mongodb数据库管理软件. 2. ...

  7. c#大数加法

    在C#中,我们经常需要表示整数.但是,c#的基本数据类型中,最大的long也只能表示-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807之间的数 ...

  8. CentOS上yum安装JDK

    转: http://blog.csdn.net/onepiecehuiyu/article/details/17189571

  9. Android开发中的输入合法性检验

    Why ? 合法性检查对于程序的健壮性具有重要作用.在Android开发中,良好的合法性检查设计机制可以使程序更加清晰,产生bug更少,交互更加友好. What ? 合法性检查的目的在于确定边界.对于 ...

  10. Extnet Direct 提交后台事件文件下载设置

    App.direct.MasterData.Export(App.tfSearch.getValue(), {                    isUpload: true            ...