当前位置: 首页 > news >正文

Oracle - 数据库的实例、表空间、用户、表之间关系

Oracle是一种广泛使用的关系型数据库管理系统,它具有高性能、高可靠性、高安全性等特点。1Oracle数据库的结构和组成是一个复杂而又有趣的话题,本文将介绍Oracle数据库的四个基本概念:数据库、实例、表空间和用户,以及它们之间的关系和作用。

数据库

数据库是指存储在磁盘上的一系列物理文件,这些文件包括数据文件、控制文件、联机日志文件、参数文件等,它们记录了数据库的数据和元数据。2数据库是Oracle数据库的核心,它是数据的持久化存储和管理的基础。

数据库的名称是由全局数据库名(Global Database Name)决定的,它是数据库的唯一标识,一般不会修改。全局数据库名由数据库名(DB_NAME)和域名(DB_DOMAIN)组成,例如:orcl.example.com。全局数据库名在安装Oracle数据库时就要指定,它会写入控制文件和数据字典中,也会影响到数据库的连接和访问。

实例

实例是指在内存中分配的一块共享内存区域(SGA)和一组后台进程(或线程),它们用于访问和控制数据库。3实例是Oracle数据库的运行时环境,它是数据库的动态部分,它可以启动和关闭,也可以有多个实例同时运行。

实例的名称是由实例名(Instance Name)决定的,它也叫做系统标识符(SID),它是实例的唯一标识,一般与数据库名相同。4实例名是由参数instance_name决定的,它会写入参数文件中,也会影响到数据库的连接和访问。

数据库和实例的关系

数据库和实例是Oracle数据库的两个重要组成部分,它们之间有着密切的关系。5一般来说,一个数据库只能被一个实例访问,这种模式叫做单实例数据库(Single Instance Database)。但是,在某些情况下,一个数据库可以被多个实例访问,这种模式叫做多实例数据库(Multi Instance Database),也叫做Oracle Real Application Clusters(RAC)。RAC是Oracle数据库的一种高可用性和高性能的解决方案,它可以实现数据库的负载均衡和故障转移。

表空间

表空间是数据库的逻辑划分,它是一组数据文件的集合,用于存储数据库对象,如表、索引、视图等。6表空间是数据库的组织和管理的单位,它可以根据不同的用途和需求进行划分,例如:系统表空间(SYSTEM)用于存储系统对象,用户表空间(USERS)用于存储用户对象,临时表空间(TEMP)用于存储临时数据等。

表空间的名称是由表空间名(Tablespace Name)决定的,它是表空间的唯一标识,可以由用户自定义。表空间的创建和管理是由SQL语句实现的,例如:

–创建表空间 CREATE TABLESPACE db_test DATAFILE ‘D:\oracle\product\10.2.0\userdata\db_test.dbf’ SIZE 50M7 AUTOEXTEND ON;

–查看表空间 SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM DBA_TABLESPACES;

–删除表空间 DROP TABLESPACE db_test INCLUDING CONTENTS AND DATAFILES;

用户

用户是数据库的访问者和使用者,它是一种数据库对象,用于标识数据库的登录者和拥有者。用户可以拥有自己的数据库对象,也可以访问其他用户的数据库对象,这取决于用户的权限和角色。用户是数据库的安全和控制的基础,它可以实现数据库的身份认证和访问控制。

用户的名称是由用户名(User Name)决定的,它是用户的唯一标识,可以由用户自定义。用户的创建和管理是由SQL语句实现的,例如:

–创建用户 CREATE USER utest IDENTIFIED BY utestpwd DEFAULT TABLESPACE db_test TEMPORARY TABLESPACE temp;

–查看用户 SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS;

–删除用户 DROP USER utest CASCADE;

表是数据库的基本对象,它是一种二维的数据结构,用于存储数据。表由行和列组成,每一行代表一条记录,每一列代表一个属性。表是数据库的数据源和目标,它是数据库操作的对象和结果。

表的名称是由表名(Table Name)决定的,它是表的唯一标识,可以由用户自定义。表的创建和管理是由SQL语句实现的,例如:

–创建表 CREATE TABLE emp ( empno NUMBER(4) PRIMARY KEY, ename VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4), hiredate DATE, sal NUMBER(7,2), comm NUMBER(7,2), deptno NUMBER(2) REFERENCES dept(deptno) );

–查看表 SELECT TABLE_NAME, TABLESPACE_NAME FROM USER_TABLES;

–删除表 DROP TABLE emp;

表空间、用户和表的关系

表空间、用户和表是数据库的三个重要对象,它们之间有着密切的关系。一般来说,一个用户可以拥有多个表空间,一个表空间可以包含多个表,一个表只能属于一个表空间和一个用户。8这种关系可以用下图表示:

表空间、用户和表的关系决定了数据库的存储和访问的方式。例如:

–用户utest在表空间db_test中创建了表emp CREATE TABLE utest.emp ( empno NUMBER(4) PRIMARY KEY, ename VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4), hiredate DATE, sal NUMBER(7,2), comm NUMBER(7,2), deptno NUMBER(2) REFERENCES dept(deptno) ) TABLESPACE db_test;

–用户utest可以直接访问自己的表emp SELECT * FROM emp;

–用户scott可以访问utest的表emp,如果有权限的话 SELECT * FROM utest.emp;

举例

我们通过一个生动的例子来理解Oracle数据库中实例、表空间、用户和表的关系。

假设我们正在建设一个城市(Oracle数据库)。这个城市有许多建筑物(数据文件),包括住宅、商店、办公楼等。这些建筑物都分布在不同的街区(表空间)中。

现在,我们需要一位市长(实例)来管理这个城市。市长负责协调城市的运作,包括维护公共设施、规划城市发展等。

在这个城市中,我们有许多居民(用户)。每个居民都在城市中拥有自己的房产(表)。他们可以在自己的房产中存储自己的物品(数据),也可以访问其他居民的房产(如果被授权的话)。

例如,我们有一个名叫Alice的居民,她在ResidentialArea街区中拥有一栋房子,这栋房子就是一个表,名叫Alice_House。在这个表中,Alice存储了她的一些个人物品,比如家具、电器等。

同时,我们还有一个名叫Bob的居民,他在CommercialArea街区中拥有一家商店,这家商店也是一个表,名叫Bob_Shop。在这个表中,Bob存储了他出售的一些商品信息。

在这个例子中,我们可以看到,实例(市长)是用来管理整个数据库(城市)的,表空间(街区)是用来组织数据文件(建筑物)的,用户(居民)是数据库的使用者,他们在表空间中创建和管理自己的表(房产)。希望这个例子能帮助你更好地理解Oracle数据库中实例、表空间、用户和表的关系。如果你还有其他问题,欢迎随时向我提问。我会尽我最大的努力来帮助你。谢谢你的理解和耐心。。

总结

本文介绍了Oracle数据库的四个基本概念:数据库、实例、表空间和用户,以及它们之间的关系和作用。通过理解这些概念,可以更好地理解和使用Oracle数据库,也可以更好地进行数据库的设计和优化。希望本文对你有所启发和帮助。

相关文章:

Oracle - 数据库的实例、表空间、用户、表之间关系

Oracle是一种广泛使用的关系型数据库管理系统,它具有高性能、高可靠性、高安全性等特点。1Oracle数据库的结构和组成是一个复杂而又有趣的话题,本文将介绍Oracle数据库的四个基本概念:数据库、实例、表空间和用户,以及它们之间的关…...

Java面试项目推荐,异构数据源数据流转服务DatalinkX

前言 作为一个年迈的夹娃练习生,每次到了春招秋招面试实习生时都能看到一批简历,十个简历里得有七八个是写商城或者外卖项目。 不由得想到了我大四那会,由于没有啥项目经验,又想借一个质量高点的项目通过简历初筛,就…...

一、Vue3组合式基础[ref、reactive]

一、ref 解释:ref是Vue3通过ES6的Proxy实现的响应式数据,其与基本的js类型不同,其为响应式数据,值得注意的是,reactive可以算是ref的子集,ref一般用来处理js的基本数据类型如整型、字符型等等(也可以用来处…...

unity网页远程手机游戏Inspector面板proxima

https://www.unityproxima.com/docs...

聊聊spring事务12种场景,太坑了

前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数…...

mysql 数据查重与查重分页

起因是公司的crm录入不规范,有重复数据。 之后考虑到需要手动处理,首先需要自动找出重复的数据 查重要求: 存在多个不允许重复的字段,任一字段重复,则判断为同一个客户。划分到同一重复组中。 查重sql如下 SELECT C…...

微服务(12)

目录 56.k8s是怎么进行服务注册的? 57.k8s集群外流量怎么访问Pod? 58.k8s数据持久化的方式有哪些? 59.Relica Set和Replication Controller之间有什么区别? 60.什么是Service Mesh(服务网格)&#x…...

​iOS实时查看App运行日志

目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 📝 摘要: 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具,我们可以连接手机并方便地筛选我们自己App的日志。 &#x1f4…...

【计算机毕业设计】SSM健身房管理系统

项目介绍 本项目为后台管理系统,主要分为管理员与用户两种角色; 登录页面,管理员首页,会员增删改查,教练增删改查,运动器材管理等功能。 用户角色包含以下功能: 用户登录页面,用户首页,选择课程,选择教练等功能。 环境需要 1.运行环境&a…...

嵌入式Linux之MX6ULL裸机开发学习笔记(IMX启动方式-启动设备的选择)

一,硬件启动方式选择 1.启动方式的选择 6ull支持多种启动方式。 比如可以从 SD/EMMC、 NAND Flash、 QSPI Flash等启动。 6ull是怎么支持多种外置flash启动程序的。 1.启动方式选择: BOOT_MODE0 and BOOT_MODE1,这两个是两个IO来控制的,…...

K8S Ingress-Nginx导出TCP端口

ingress-nginx导出TCP端口 Exposing TCP and UDP services - Ingress-Nginx Controllerhttps://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md helm upgrade ingress-nginx导出redis 6379端口(这种方式最简单&…...

索引类型-哈希索引

一. 前言 前面我们简单介绍了数据库的B-Tree索引,下面我们介绍另一种索引类型-哈希索引。 二. 哈希索引的简介 哈希索引(hash index) 基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有索引列计算一个…...

uniapp中组件库的Textarea 文本域的丰富使用方法

目录 #平台差异说明 #基本使用 #字数统计 #自动增高 #禁用状态 #下划线模式 #格式化处理 API #List Props #Methods #List Events 文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等 注意: 由于…...

LLM、AGI、多模态AI 篇三:微调模型

文章目录 系列LLM的几个应用层次Lora技术其他微调技术FreezeP-TuningQLoRA指令设计构建高质量的数据微调步骤系列 LLM、AGI、多模态AI 篇一:开源大语言模型简记 LLM、AGI、多模态AI 篇二:Prompt编写技巧 LLM、AGI、多模态AI 篇三...

IPC之十二:使用libdbus在D-Bus上异步发送/接收信号的实例

IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,本 IPC 系列文章的前十篇介绍了几乎所有的常用的 IPC 方法,每种方法都给出了具体实例,前面的文章里介绍了 D-Bus 的基本概念以及调用远程方法的实例,本文介绍 D-Bus…...

ES6之生成器(Generator)

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…...

Matlab技巧[绘画逻辑分析仪产生的数据]

绘画逻辑分析仪产生的数据 逻分上抓到了ADC数字信号,一共是10Bit,12MHZ的波形: 这里用并口协议已经解析出数据: 导出csv表格数据(这个数据为补码,所以要做数据转换): 现在要把这个数据绘制成波形,用Python和表格直接绘制速度太慢了,转了一圈发现MATLAB很好用,操作方法如下:…...

Go面试题学习

1.并发安全性 Go语言中的并发安全性是什么?如何确保并发安全性? 并发安全性是指在并发编程中,多个goroutine对共享资源的访问不会导致数据竞争和不确定的结果。 使用互斥锁(Mutex):通过使用互斥锁来保护…...

SQL效率-查询条件需避免使用函数处理索引字段

一个sql效率的问题 问题 假设created_at 是date类型、是索引,那么以下2种方式有没效率差异: WHERE TO_CHAR(created_at, ‘YYYY-MM-DD’) ‘2020-02-01’WHERE created_at TO_DATE(‘2020-02-01’ , ‘YYYY-MM-DD’) DBA回复 有的,第一…...

【Spring 篇】Spring:轻松驾驭 Java 世界的利器

在 Java 开发领域,Spring 框架无疑是一颗璀璨的明星,它不仅提供了全面的企业级特性,还为开发者提供了简便而强大的开发方式。本文将深入探讨 Spring 框架的简介、配置和快速入门,带你轻松驾驭 Java 世界的利器。 Spring 简介 Sp…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

dify打造数据可视化图表

一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...