网站首页 > 技术文章 正文
主题一: 体系结构
数据库很复杂---》体系结构很复杂---》为什么体系结构很复杂?
因为稀有资源不足,所以oracle引入复杂的内存、外存有效的管理稀有资源。
什么是稀有资源?(引入人类历史)
1.Oracle的数据保存在什么地方?
硬盘(机械速度 读取磁盘的速度)
2.Oracle的数据在什么地方更新?
内存(90%)(电子速度 计算机的配置)
所以Oracle的稀有资源是什么?(硬盘、内存)
举一个场景
数据库断电(事务执行一半断电,再次启动时要恢复已经写入得数据)
oracle体系结构设计的初衷是什么?
不是为了处理SQL,而是为了以后可以方便改进系统的效率和数据的恢复
数据库由两分组成
实例(instance):内存和后台进程的集合
SGA:系统全局区
{
共享池(shared pool):
{
库缓存(library cache):
{
作用:共享sql、plsql代码
}
数据字典缓存(data dict cache):
{
作用:保存数据字典和用户的权限信息
}
}
数据库高速区:产生脏数据的场所。
重做日志缓冲区:操作ddl和dml时必须先写入重做日志缓冲区
}
PGA:程序全局区
排序信息、游标信息、会话信息
后台进程:smon、dbwr、pmon、lgwr、ckpt
数据库(database):由一系列数据库文件组成
控制文件:
数据文件:
日志文件:
参数文件:
口令文件:
归档日志文件:
一条sql语句是如何执行的?
编译
1.库缓存检查是否存在
2.检查语法是否正确
3.查询数据字段检查表和列的定义
4.加编译锁(sql语句在编译过程中涉及的对象不能被改变)
5.查询引用对象的用户权限
6.生成执行计划、装入sql共享区
执行
7.服务器进程执行Sql语句
提取数据
8.服务器进程返回数据集合,必要的时候要进行排序
主题二: 存储结构
1.Oracle为什么要引入那么复杂的逻辑结构?
可移植性强、不依赖操作系统文件
2.引入表空间(Tablespace)、段(Segment)、区(Extent)、块(Oracle block)的概念(看图说话)
3.如何查询当前数据库的现有表空间?
select * from dba_tablespaces
4.表空间分类
数据表空间 固定段
还原表空间 回滚段
临时表空间 临时段
固定段:表、索引
回滚段:需要回滚数据
临时段:临时的排序信息、临时表
5.创建用户时要选择默认表空间和临时表空间
默认表空间:创建表的时候如果不指定表存放的表空间则保存在当前用户的默认表空间
临时表空间:为当前用户指定临时表空间,如果不指定会使用数据库的默认临时表空间
(打开user.sql进行讲解)
如何查看数据库的默认临时表空间?
select * from DataBase_properties where property_name like 'DEFAULT%';
6.表空间段管理的两种方式
数据字典方式(9i中已经被废弃)
Create TableSpace lession_db_data
DataFile 'E:\tablespace\lession_db_data.dbf' Size 5M
MINIMUM EXTENT 50k EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE
(INITIAL 50K NEXT 50K MAXEXTENTS 100 PCTINCREASE 0);
n-2
next*(1+PCTINCREASE/100) 从第三次开始
本地创建方式
Create TableSpace lession_data
DataFile 'E:\tablespace\lession_data.dbf'
Size 5M
Extent Management Local
uniform size 1M;
7.如果创建表空间?从语法进行介绍
Create TableSpace lession_index
DataFile 'E:\tablespace\lession_index.dbf'
Size 5M
Extent Management Local
uniform size 1M;
如何查看数据文件?
select file_id,file_name,tablespace_name,bytes/(1024*1024)MB from dba_data_files;
如何创建临时表空间?
Create TEMPORARY TableSpace lession_temp
Tempfile 'E:\tablespace\lession_temp.dbf'
Size 5M
Extent Management Local
uniform size 1M;
查看临时表空间文件的方式?
select * from v$tempfile
8.删除表空间的问题
删除表空间的语法
drop tablespace LESSION_DATA including contents and datafiles;
注 默认临时表空间不允许删除
更新一个临时表空间为默认临时表空间
alter database default temporary tablespace lession_temp;
9.表空间不足了怎么办?
1.增加文件
alter tablespace LESSION_INDEX add datafile 'E:\TABLESPACE\LESSION_INDEX02.DBF' size 5M;
2.扩充文件
alter database datafile 'E:\TABLESPACE\LESSION_INDEX.DBF' resize 10M;
准备工作 还原数据库最初的结构
模拟我们现实开发中的跑库流程
猜你喜欢
- 2024-10-15 详解Oracle 性能优化之内核的shmall、shmmax和信号灯参数
- 2024-10-15 ORACLE不常用冷知识之Package oracle中package怎么执行的
- 2024-10-15 使用zabbix监控Oracle内存占用高 oracle占用内存过高
- 2024-10-15 Oracle HugePage在生产环境中的使用
- 2024-10-15 记一次Oracle异常关闭资源没有被释放,导致无法正常重启的故障
- 2024-10-15 oracle性能调优-impdp导入加速 oracle19c impdp
- 2024-10-15 oracle实例是什么 oracle实例是什么 lisener
- 2024-10-15 十个最流行的Oracle性能指标,DBA必知
- 2024-10-15 只需3分钟,学会Oracle数据库自动SGA管理
- 2024-10-15 优化体系--oracle索引篇 oracle索引优化原则
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)