0

0

【顶点实习】oracle的学习 一

php中文网

php中文网

发布时间:2016-06-07 15:39:27

|

1241人浏览过

|

来源于php中文网

原创

2012/12/17 20:31 by 灵月 (ps:高手请路过,新手可一笑而过 ) 授课老师:林嵩 教授内容: 1.window下的oracle安装与删除 2.window下oracle实例的新增与删除 3.Plsqldev开发工具使用说明 4.oracle工作原理、体系结构、存储结构 5.SQL基础:简单的sql语句编写

2012/12/17 20:31   by 灵月
(ps:高手请路过,新手可一笑而过【顶点实习】oracle的学习 一)

授课老师:林嵩

教授内容:

1.window下的oracle安装与删除

2.window下oracle实例的新增与删除

3.Plsqldev开发工具使用说明

4.oracle工作原理、体系结构、存储结构

5.SQL基础:简单的sql语句编写

个人学习情况:


1.个人笔记本没有安装,现场安装oracle 10g,装完 又遇到了原先遇到的那个问题,scott用户默认被锁住,无法登陆,百度,解决方法如下:
通过系统用户登进sql*plus,
alter user scott account unlock;
再conn scott/tiger;
连接上。

--------------------------------------------------------------------------
2.什么叫oracle的实例(oracle instance)?一直不理解,果断自己百度搞清楚概念!

Oracle中Instance实例和数据库的区别 (来源于CSDN)

在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类的话。 其实问他们什么是数据库,什么是Instance,很可能他们给的

答案就是数据库就是Instance,Instance就是数据库啊,没有什么区别。在这里,只能说虽然他们Oracle用了可能有了一定的经验,不过基础的概念还是不太清楚。

什么是数据库,其实很简单,数据库就是存储数据的一种媒介。比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种。第一种是文件形式,也就是在你的磁盘中创建一批文件,然

后在这些文件中存储信息。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘

就是存放Oracle数据库的,不能作为别的用途。这样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格式。当然还可能有别的形式,比

如网络什么的。不过我们最常用的还是文件格式的,在文件格式中,数据库指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。

而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块。在Oracle中,我们可以新建一个Oracle的Instance,这个时候虽然有了进程还有SGA等

一系列的内存快,但是这个时候并没有把数据库文件读取进来。所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中,这个时候的数据

AI Note
AI Note

AI Note 助手,像贴心女仆一样助力你的笔记!智能总结内容,精确划重点,提供专业建议,让学习与工作更高效。让你的笔记更清晰、有条理,知识尽在眼前!

下载

库才可以让我们真正的开始访问操作。

所以说,数据库的应用如果想实现,数据库和数据库Instance是缺一不可的,如果只有数据库的那些文件,那么,只能代表数据在这个文件中,但是我们无法直接进行操作。而如果只有数据

库Instance,那么我们虽然可以急性操作,但是也不知道操作哪些数据,操作生成的数据也无法保存等等。所以,当一个Oracle Instance真正Load了一个Oracle Database了以后,数据库才

可以被我们使用。

在这里要注意一点的是,Oracle的实例在启动以后,只能load一次数据库,如果想把数据库与Instance断开,然后再重新挂在一个数据库Instance,那么就需要你首先把数据库Instance进程

结束,然后重新建立这个instance的一个进程,再load另外一个数据库。否则肯定要抛除ORA-16169错误,说数据库已经被打开。因为一个数据库Instance在其生存期中最多只能load和打开一

个instance。

-----------------------------------------------------------------------
3.主要着重介绍几个工具的使用,分别是:PL/SQL美化器、SQL跟踪、窗口列表、查找数据库对象、编译无效对象、导出表、导入表、报告中的所有子菜单以及帮助中的支持信息,特别提到了用UE收藏2个重要的配置文件 tnsnames.ora 以便自己以后工作能方便修改。

----------------------------------------------------------------------------------
4.oracle的工作原理、体系结构、存储结构;这几个内容,原先学习sqlserver和oracle时老师没提到,自己也不关心,今天林嵩老师着重讲解了这一部分内容,第一次接触,勉强接受了。

下面是一些主要内容:
PGA(program global area):即进程全局区,每位客户端用户连接到Oracle服务器,均会由服务器分配一定内存来保持连接,并将在该内存中实现用户私有操作。所有用户连接的内存集合便

形成了Oracle数据库的PGA。(查看 PGA的的大小:select * from v$pgastat;)
1.固定PGA:它的大小时固定的,包含了大量原子变量、小的数据结构和指向可变PGA的指针
2.可变PGA:包括私有SQL区,游标和SQL区,会话内存 SGA(System Global Area):由一组内存结构组成,它是由所有用户进程共享的一块内存区域。启动例程时,Oracle自动分配SGA,关闭

例程时,oracle自动释放SGA所占用的内存空间。(查看 是SGA的的大小:select name,value ,ISSYS_MODIFIABLE from v$parameter where name like 'sga%';)
1.数据缓冲(Buffer Cache):存放从数据文件中读取的数据块拷贝区域.包括链表与最近最少使用链表(LRU).脏数据写入文件调用DBW0进程。
2.重做日志缓冲(Redo Log Buffer):保存数据库修改信息的缓存。LGWR负责将redo log buffer中数据写入到redo log file中。
(select * from v$sgastat where name = 'log_buffer';)
3.共享池(Shared Pool):libaray cache(SQL共享区与pl/sql存储过程区),字典缓存(行缓存,用于存储数据库结构信息,用户对象信息)。
4.Java池(Java Pool):Java池也是SGA中的一块可选内存区,它也属于SGA中的可变区。
5.大池(Large Pool):大池是SGA中的一块可选内存池,根据需要时配置。
6.流池(Streams Pool --- 10g以后才有):流池也是可选内存区,属于SGA中的可变区。 
后台进程:为所有数据库用户异步完成各种任务。主要的后台进程有:
1.DBWR(DBWR The Database Writer)数据库写进程 :负责将脏数据块从数据缓存(database block buffer)写回磁盘。
2.LGWR(the log writer process)日志写进程:负责将日志缓冲区中的数据写入重做日志。commit时写入。
3.CKPT(the Checkpoint Process)检查点写进程(可选):进程负责向DBWR进程发送信号,要求执行一次检查点,并更新数据库的所有数据和控制文件。
4.SMON(the System Monitor Process)系统监控进程:进程负责在实例启动时恢复实例,包括清除临时段以及恢复因系统崩溃而中断的事物。
5.PMON(the Process Monitor Process)进程监控进程:进程负责监视数据库的处理情况,并负责清除死掉的进程。
6.ARCH(the Archiver Process )归档进程:负责将再现重做日志复制到归档存储器。
7.RECO (the Recovery Process)恢复进程:进程用于清除分布式数据库中的未决(pending)事务,它负责分布式事务中本地部分的提交与回滚。
ORACLE文件系统:主要由数据文件,日志文件,控制文件,其它文件.
1.数据文件:真正存储数据库中的数据,包括表,索引,试图等.通常情况下数据文件的后缀名都是.DBF.(select  *  from v$datafile)
2.日志文件:警报日志,跟踪日志,重做日志.
重做日志(用于数据的增量备份和恢复):在数据更新操作commit前,将更改的SQL脚本写入重做日志.
 a.在线重做日志:指Oracle以SQL脚本的形式实时记录数据库的数据更新,换句话说,实时保存已执行的SQL脚本到在线日志文件中(按特定的格式)。
 [重做日志满时,当数据库处理归档模式时,写入归档日志,后续覆盖写入重做日志。对于非归档模式,则先写入日志缓冲区,待归档后覆盖写入]
 b.归档重做日志:简称归档日志,指当条件满足时,Oracle将在线重做日志以文件形式保存到硬盘(持久化)。
 //查看控制文件:select * from v$logfile;
3.控制文件:控制文件是定义当前数据库物理状态的二进制文件,每个oracle数据库至少有一个控制文件。控制文件由DBA管理维护.
 a.数据库名及数据库唯一标识
  b.数据文件和日志文件标识
  c.数据库恢复所需的同步信息,即检查点号
  d.数据库创建时间
  e.表空间名
  f.当前重做日志文件SCN
  g.回滚段的开始和结束
  h.重做日志归档信息
  i.备份信息
  //查看控制文件位置:select * from v$controlfile;
4.参数文件:用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库。
  如内存池的分配,允许打开的进程数和会话数等。
 spfle:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora
 pfile:$ORACLE_HOME/dbs/init.ora //默认 
 //查看参数文件位置:show parameter spfile;

5.密码文件:主要进行DBA权限的身份认证:
  存放PATH:Linux:$ORACLE_HOME/dbs/orapw; Windows::$ORACLE_HOME/database/PW.ora
Oracle体系结构由内存结构、进程结构、存储结构组成。其中,内存结构由SGA、PGA组成;进程结构由用户进程和Oracle进程组成;存储结构由逻辑存储、物理存储组成。

参数文件,密码文件路径:D:\oracle\product\10.2.0\db_1\database\
逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念上描述在Oracle数据库种如何组织、管理数据。因此,逻辑存储结构是和操作系统平台无关的,是由Oracle数据库创建和

管理的。
物理存储结构主要描述Oracle数据库的外部存储结构,即在操作系统种如何组织、管理数据。因此,物理存储结构是和操作系统平台有关的

从物理上看,数据库由控制文件、数据文件、重做日志文件等操作系统文件组成;
从逻辑上来看,数据库是由系统表空间、用户表空间等组成。
表空间是最大的逻辑单位,块是最小的逻辑单位。
逻辑存储结构中的块最后对应到操作系统中的块

----------------------------------------------------------------------------

5.简单的SQL语句。我就记得 我遇到2个不会的 a.NVL(s1,s2)这个函数不知道,如果s1为NULL,则return s2否则return s1 。b.另一个是关于时间的格式 to_date('20121217','YYYYMMDD')

,其他就是几个关键字的使用 NOT IN /IN  GROUP BY ORDER BY NULL NOT NULL ...

暂时就复习到这里了【顶点实习】oracle的学习 一一天一记。

 

 


 

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

38

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

83

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

97

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

223

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

458

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

169

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

246

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

34

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.4万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.9万人学习

PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号