Oracle 9i&10g学习笔记【一】

本文深入探讨了Oracle网格计算的原理与应用,包括Oracle服务器的组成部分、网格技术的背景与标准、创建网格的主要工具及Oracle对网格数据访问的支持特性。同时详细介绍了Oracle数据库的物理结构、内存结构以及与实例的关系,提供了关于SGA的作用、Oracle处理客户端连接的方式、TNS的作用和文件类型的相关知识。

Oracle Summary

Oracle10g服务器是对象关系数据库管理系统,提供对信息管理的集成方法,灭一个Oracle服务器包括一个Oracle数据库和一个Oracle服务器实例。

 

每当数据库启动的时候,系统全局区域SGA被分配,并启动了Oracle后台进程。系统全局区是用于数据库用户共享数据信息的内存区域。后台进程和内存缓冲区称为Oracle实例。

 

Oracle实例包含两种类型的进程:用户进程和Oracle进程,用户进程执行应用操作的代码,Oracle进程是执行用户进程和后台进程,对Oracle进行维护的服务器进程。

 

网格技术的背景:单个系统必须有足够规模来适应高峰容量,资源也很难从一个系统转移到另外一个系统,造成了现在的企业常有未充分利用的存储器和CPU资源,最终不仅成本更高,基础架构的复杂度也日益提高。企业网格计算焦点是要创建大型的行业标准的、模块化的存储器和服务器池。目前3种类型:

1、  计算网格,具有部分预留资源的计算机,可以处理关键数据

2、  拾遗网格,从空闲的服务器和桌面计算机中回收CPU周期

3、  数据网格,为同一机构的所有数据存储库提供统一界面

 

网格计算主要包括以下组件:安全性、数据管理、资源管理、信息服务

国际上提供的网格计算相关标准如下:

1、  架构(OGSA开放网格服务架构)

2、  规范,开放网格服务基础设施是OGSA用于描述概念的正式规范

 

创建网格主要使用的工具包括:

1、  基础设施

2、  目录服务

3、  调度程序和负载均衡器

4、  开发工具

5、  安全性(验证和授权)

 

Oracle网格计算保证计算资源能够动态的分配给应用程序,资源是按照业务优先级和需求进行分配的,Oracle提供了多种特性支持分配:

1.     RAC(集成的集群件和自动工作负载管理)

2.     自动存数管理(ASM),自动向所有磁盘散播,以最小的管理成本提供最高的I/O吞吐率

3.     Oracle资源管理器

4.     Oracle调度器

 

Oracle对网格数据访问的全方位支持特性:

1、  Oracle可传输表空间

2、  Oracle

3、  自驱动数据库

4、  分布式SQL和分布式事务

5、  支持超大型数据库

 

Oracle物理数据库结构包括:数据文件、控制文件、ReDo日志、归档日志、参数文件、报警和跟踪日志文件、备份文件。

 

体系结构

Oracle被设计为一个高可移植性的数据库,在不同的操作系统上,Oracle的物理体系结构也不同。例如在UNIXOracle实现为多个不同的操作系统进程,实际上每个主要功能分别由一个进程来负责,这种实现是基于UNIX是以多进程为基础的。在Windows平台上,Oracle实现为一个多线程的进程,如果是一个运行OS/390z/OSIBM大型机系统,针对这种操作系统的Oracle体系结构则充分利用OS/390的地址空间来协同工作。

 

Database:物理操作系统文件或者磁盘的集合,使用Oracle 10g的自动存储管理或RAW分区时,可能不作为单独的文件,但定义仍然不变。

Instance:一组Oracle后台进程/线程以及一个共享内存区,可维护易失、非持久性内容。

 

数据库与实例之间的关系是:数据库可以由多个实例装载和打开,而一个实例也可以在任何时间点装载和打开数据库,实例在整个生命周期中最多只能装载或者打开一个数据库。除非RAC,否则一个数据库在同一时间只能有一个实例在之上操作。

 

SGA作用:维护所有进程需要访问的多种内部数据结构,缓存磁盘上的数据,重做数据写至磁盘之前先在这缓存,保存已解析的SQL计划等等

 

Oracle处理客户端连接有两种方式:专用服务器和共享服务器(也叫多线程服务器),使用共享服务器可以使Oracle的并发用户数目得到明显提高,但客户进程不会与共享服务器直接通信,Oracle使用了一个或一组称为调度器的进程来实现与共享服务器的通信。客户进程与一个调度进程通信,调度进程将客户的请求放入SGA的请求队列中,第一个空闲的共享服务器会得到这个请求并进行处理,完成处理之后会把请求放入原调度器的响应队列中,调度器进程一直监听这个响应队列,发现有了结构就会传给客户端。

 

TNS代表透明网络底层(Transparent Network Substrate),TNS连接串告诉Oracle软件如何与远程数据库连接,这是Oracle客户端处理远程连接的基础软件,有了它才可能建立对等通信。在UNIX上,TNS监听进程通过forkexec来创建一个专用服务器进程。而在共享服务器模式下,监听器会把连接转发给调度器或者返回客户端一个调度器的位置,根据不同操作系统实现不同,但效果都是重定向连接到调度器。

 

文件

Oracle实例相关的文件类型:

1.      parameter file

2.      trace file

3.      alert file

4.      data file

5.      temp file

6.      control file

7.      redo log file

8.      password file

9.      change tracking file (after 10g) 利于建立真正的增量备份

10.    flashback log file (after 10g)   文件存储数据块的“前映像”

 

我们之所有可以使用这些跟踪文件,是因为Oracle是一个允许充分测试的软件,编写数据库内核的程序员在内核中放入了调式代码,而且相当多,如果设置了SQL_TRACE=TRUE,服务器就会生成一个包含性能相关信息的跟踪文件。

 

如果使用专用服务器连接,会在USER_DUMP_DEST参数指定的目录中生成跟踪文件

如果使用共享服务器连接,会在BACKGROUND_DUMP_DEST参数指定的目录中生成跟踪文件

 

数据库由一个或多个表空间构成,表空间是Oracle中的一个逻辑存储容器,位于存储层次体系的顶层,包括一个或者多个数据文件。段,是表空间主要的组织结构,占用存储空间的数据库对象,一个段绝对不会跨越表空间边界。段由一个或者多个区段构成,区段是磁盘上一组逻辑连续的块,区段只在一个表空间中,而且总是在该表空间内的一个文件中。块,是数据库最小的分配单位,也是数据库使用的最小I/O单位。

 

内存结构

数据库处理SQL时,首先必须解析SQL语句,有两种类型的解析:第一种是硬解析,第一次解析查询完成的就是硬解析,其中包括查询计划的生成和优化;第二种是软解析,会跳过硬解析的许多步骤

 

UGA就是用户的会话状态,它的位置完全取决于你如何连接Oracle,如果通过共享服务器连接,UGA肯定存在于SGA中,反之专用服务器连接的话UGA就和PGA没有什么区别了。

 

UNIX上,SGA是一个物理实体,实现为一个共享内存段,进程可以attach到这段独立的内存上。而在Windows上,Oracle会作为有一个地址空间的单个进程来执行,所以SGA将作为专用私有内存分配给oracle.exe进程。内部可以通过V$SGASTAT视图来查看SGASGA划分为不同的池:

1.      Java池:为内部JVM分配的

2.      大池:被共享服务器用来做会话缓存

3.      共享池:包含游标、存储过程、状态对象、字典缓冲等

4.      流池

5.      空池:块缓冲区,重做日志缓冲区和固定SGA区专用的内存

 

基于 NSFW Model 色情图片识别鉴黄 后面更新视频检测 项目背景: 随着互联网的快速发展,网络上的信息量呈现出爆炸式的增长。然而,互联网上的内容良莠不齐,其中不乏一些不良信息,如色情、暴力等。这些信息对青少年的健康成长和社会风气产生了不良影响。为了净化网络环境,保护青少年免受不良信息的侵害,我国政府加大了对网络内容的监管力度。在此背景下,本项目应运而生,旨在实现对网络图片和视频的自动识别与过滤,助力构建清朗的网络空间。 项目简介: 本项目基于 NSFW(Not Safe For Work)Model,利用深度学习技术对色情图片进行识别与鉴黄。NSFW Model 是一种基于卷积神经网络(CNN)的图像识别模型,通过学习大量的色情图片和非色情图片,能够准确地判断一张图片是否含有色情内容。本项目在 NSFW Model 的基础上,进一步优化了模型结构,提高了识别的准确率和效率。 项目功能: 色情图片识别:用户上传图片后,系统会自动调用 NSFW Model 对图片进行识别,判断图片是否含有色情内容。如果含有色情内容,系统会给出相应的提示,并阻止图片的传播。 视频检测:针对网络视频,本项目采用帧提取技术,将视频分解为一帧帧图片,然后使用 NSFW Model 对这些图片进行识别。如果检测到含有色情内容的图片,系统会给出相应的提示,并阻止视频的传播。 实时监控:本项目可应用于网络直播、短视频平台等场景,实时监控画面内容,一旦检测到含有色情内容的画面,立即进行屏蔽处理,确保网络环境的纯洁。
### 如何在本地部署 NSFW 模型或服务 要在本地环境中成功部署 NSFW(不适宜工作场合内容)检测模型或服务,以下是详细的说明: #### 准备环境 为了确保能够顺利运行模型和服务,需要安装必要的依赖项。这些工具和库包括但不限于以下几类: - **Python 环境**: 推荐使用 Python 3.7 或更高版本。 - **Transformers 库**: 提供加载预训练模型的功能[^1]。 - **PyTorch/TensorFlow**: 支持深度学习框架的计算需求。 - **Pillow (PIL)**: 处理图像文件并将其转换为适合输入模型的形式。 具体命令如下所示: ```bash pip install transformers torch Pillow ``` #### 加载模型与测试 通过 Hugging Face 的 `transformers` 工具包可以直接访问已有的 NSFW 图片分类模型。例如,可以采用名为 `"Falconsai/nsfw_image_detection"` 的公开模型来完成此任务[^1]。 下面是一个简单的代码片段展示如何加载该模型并对单张图片执行预测操作: ```python from PIL import Image from transformers import pipeline def classify_nsfw(image_path): # 打开指定路径下的图片文件 img = Image.open(image_path) # 初始化 image-classification 流水线对象,并指明使用的特定模型名称 classifier = pipeline("image-classification", model="Falconsai/nsfw_image_detection") # 对传入的图片调用流水线方法得到其类别标签及其置信度分数列表形式的结果 result = classifier(img) return result if __name__ == "__main__": test_img_path = "<your_test_image>" output_results = classify_nsfw(test_img_path) print(output_results) ``` 注意替换 `<your_test_image>` 成实际存在的图片绝对或者相对地址字符串值之前再尝试运行以上脚本。 #### 构建 RESTful API 服务 如果希望进一步扩展功能至 Web 应用程序层面,则可考虑利用 Flask/Django 这样的轻量级 web 开发框架构建起支持 HTTP 请求交互的服务端接口。这里给出基于 FastAPI 实现的一个简单例子作为示范用途: ```python import uvicorn from fastapi import FastAPI, File, UploadFile from PIL import Image from io import BytesIO from typing import List from pydantic import BaseModel app = FastAPI() class Prediction(BaseModel): label: str score: float @app.post("/predict/", response_model=List[Prediction]) async def predict(file: UploadFile = File(...)): try: contents = await file.read() pil_image = Image.open(BytesIO(contents)) clf_pipeline = pipeline('image-classification', model='Falconsai/nsfw_image_detection') predictions = clf_pipeline(pil_image) formatted_preds = [{"label": pred['label'], "score": round(pred['score'], 4)} for pred in predictions] return formatted_preds except Exception as e: raise ValueError(f"Error processing uploaded file {e}") if __name__ == '__main__': uvicorn.run(app, host='0.0.0.0', port=8000) ``` 启动服务器之后即可向 `/predict/` 路径发送 POST 请求附带上传待分析的目标图片获取返回结果了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值