百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Oracle基础知识杂谈(oracle的)

mhr18 2024-09-27 12:23 28 浏览 0 评论

主题一: 体系结构

数据库很复杂---》体系结构很复杂---》为什么体系结构很复杂?

因为稀有资源不足,所以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;

准备工作 还原数据库最初的结构

模拟我们现实开发中的跑库流程

相关推荐

甲骨文签署多项大型云协议,其一未来可贡献超300亿美元年收入

IT之家7月1日消息,根据甲骨文Oracle当地时间6月30日向美国证券交易委员会(SEC)递交的FORM8-K文件,该企业在始于2025年6月1日的202...

甲骨文获TEMU巨额合同,后者大部分基础设施将迁移至Oracle云

IT之家6月23日消息,Oracle甲骨文创始人、董事长兼首席技术官LarryEllison(拉里埃里森)在本月早些时候的2025财年第四财季和全财年财报电话会议上表示,Oracle...

Spring Boot 自定义数据源设置,这些坑你踩过吗?

你在使用SpringBoot进行后端开发的过程中,是不是也遇到过这样的问题:项目上线后,数据库连接总是不稳定,偶尔还会出现数据读取缓慢的情况,严重影响了用户体验。经过排查,发现很大一部分原因竟然...

一个开箱即用的代码生成器(一个开箱即用的代码生成器是什么)

今天给大家推荐一个好用的代码生成器,名为renren-generator,该项目附带前端页面,可以很方便的选择我们所需要生成代码的表。首先我们通过git工具克隆下来代码(地址见文末),导入idea。...

低代码建模平台-数据挖掘平台(低代码平台的实现方式)

现在来看一下数据连接。·这里是管理数据连接的空间,点击这里可以新增一个数据连接。·输入连接名称,然后输入url,是通过gdbc的方式去连接的数据库,目前是支持mysql、oracle以及国产数据库达梦...

navicat 17.2.7连接oracle数据库提示加载oracle库失败

系统:macOS15.5navicat版本:navicatpremiumlite17.2.7连接oracle测试报错:加载oracle库失败【解决办法】:放达里面找到程序,显示简介里面勾选“使...

开源“Windows”ReactOS更新:支持全屏应用

IT之家6月17日消息,ReactOS团队昨日(6月16日)在X平台发布系列推文,公布了该系统的最新进展,包括升级Explorer组件,支持全屏应用,从Wine项目引入了...

SSL 推出采用全模拟内置混音技术的模拟调音台Oracle

英国调音台传奇品牌SolidStateLogic宣布推出Oracle——一款采用全模拟内置混音技术的调音台,在紧凑的AWS尺寸机箱内集成了大型调音台的功能。该调音台提供24输入和...

47道网络工程师常见面试题,看看有没有你不会的!

你们好,我的网工朋友。网络工程师面试的时候,都会被问到什么?这个问题其实很泛,一般来说,你肯定要先看明白岗位需求写的是什么。基本上都是围绕公司需要的业务去问的。但不可否认的是,那些最基础的概念,多少也...

汉得信息:发布EBS系统安装启用JWS的高效解决方案

e公司讯,从汉得信息获悉,近日,微软官方宣布InternetExplorer桌面应用程序将于2022年6月15日正式停用。目前大部分客户都是使用IE浏览器打开EBS的Form界面,IE停用后,只能使...

36.9K star ! 推荐一个酷炫低代码开发平台!功能太强!

前言最近在逛github,看看能不能搜罗到一些对自己有帮助的开源软件。不经意间看到一个高star的java开源项目:jeecg-boot。进入在线演示版一看,感叹实在是太牛了!此开源项目不管是给来学习...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

手把手教你在嵌入式设备中使用SQLite3

摘要:数据库是用来存储和管理数据的专用软件,使得管理数据更加安全,方便和高效。数据库对数据的管理的基本单位是表(table),在嵌入式linux中有时候它也需要用到数据库,听起来好难,其实就是几个函数...

JAVA语言基础(java语言基础知识)

一、计算机的基本概念什么是计算机?计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行、自动高速处理海量数据的现代化智能电子设备。由硬件和软件组成、没有安装过任何软件的计算机称...

再见 Navicat!一款开源的 Web 数据库管理工具!

大家好,我是Java陈序员。在日常的开发工作中,常常需要与各种数据库打交道。而为了提高工作效率,常常会使用一些可视化工具进行操作数据库。今天,给大家介绍一款开源的数据库管理工具,无需下载安装软件,基...

取消回复欢迎 发表评论: