ORACLE表空间说明及操作

ORACLE 表空间作用

  • 数据存储:表空间是数据库中存储数据的逻辑结构。它提供了用于存储表、索引、视图、存储过程等数据库对象的空间。通过划分数据和索引等对象的存储,可以更好地管理和组织数据库的物理存储结构。
  • 性能管理和优化:通过将不同类型的数据存储在不同的表空间中,可以实现对数据库的性能管理和优化。例如,可以将热点数据存储在高性能的存储设备上,将历史数据存储在低性能的存储设备上,以提高数据库的读写性能。
  • 空间管理:表空间提供了数据库中数据文件的逻辑分离。它允许数据库管理员更好地管理和分配存储空间,以满足数据库的需求。对于大型数据库,可以创建多个表空间并分别指定不同的数据文件,用于灵活管理和扩展数据库的存储容量。
  • 简化维护和备份:通过将相关的数据库对象分组到不同的表空间中,可以简化数据库的维护和备份过程。例如,可以对特定表空间执行在线备份或恢复,而不必停止整个数据库服务。
  • 安全性和权限管理:表空间还可以用于实现安全性和权限管理。通过分配特定表空间的访问权限,可以限制用户对特定数据的访问和操作。这在多用户环境中非常重要,以确保数据的安全和保密性。

表空间创建

CREATE [TEMPORARY] TABLESPACE hogehoge
DATAFILE ‘<datafile_path>’
SIZE
[AUTOEXTEND ON [NEXT <next_size>] [MAXSIZE <max_size>]]
[LOGGING | NOLOGGING]
[EXTENT MANAGEMENT LOCAL | DICTIONARY]
[SEGMENT SPACE MANAGEMENT AUTO];

以下是各参数说明:TEMPORARY:       带有TEMPORARY就是临时表空间,不带TEMPORARY就是表空间datafile_path: 			【表空间的数据文件路径,用于存储表空间中的数据。】size : 				【设置表空间的初始大小。例如,10M表示10兆字节。】AUTOEXTEND ON:				【表示表空间在用尽时自动扩展。】next_size: 				【如果启用了自动扩展,指定每次扩展的大小。】MAXSIZE:				【表空间允许的最大大小。】LOGGING | NOLOGGING:			【指定表空间是否启用日志记录。】EXTENT MANAGEMENT LOCAL | DICTIONARY:	【指定表空间的Extent管理方式。】SEGMENT SPACE MANAGEMENT AUTO: 		【开启自动段管理。】
创建表空间

语句如下:

例:CREATE TABLESPACE TABLESPACE_NAME DATAFILE SIZE 327.6G;
创建临时表空间

语句如下:

例:CREATE TEMPORARY  TABLESPACE TABLESPACE_NAME DATAFILE SIZE 327.6G;

查看相关表空间属性。

利用以下SQL查询。

select TABLESPACE_NAME,LOGGING,EXTENT_MANAGEMENT,SEGMENT_SPACE_MANAGEMENT,BIGFILE 
from dba_tablespaces where tablespace_name ='XXXX';

表空间删除:

移动表空间

首先,表空间要删除表空间中对象(表、索引等)移动到其他表空间中,然后删除

ALTER TABLE table_name MOVE TABLESPACE new_tablespace;					
ALTER INDEX index_name REBUILD TABLESPACE new_tablespace;	
删除表空间:
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;					
DROP TABLESPACE tablespace_name INCLUDING CONTENTS;		
DROP TABLESPACE语句选项解说						●INCLUDING CONTENTS			指定在删除表空间之前同时删除其中包含的所有对象,如表、索引、约束等。这是 DROP TABLESPACE 的默认行为,确保表空间及其内容都被完全删除。●INCLUDING CONTENTS AND DATAFILES	这是 INCLUDING CONTENTS 的进一步扩展,除了删除表空间中的对象,还会删除与表空间关联的数据文件。删除数据文件后,数据库会释放相应的磁盘空间。●KEEP DATAFILES				用于指定在删除表空间时保留表空间中的数据文件,不删除与表空间相关联的数据文件。这在迁移或重新组织数据库时可能会有用,因为数据文件可以在其他表空间中重新使用。●INCLUDING ROLLBACK SEGMENTS		同时删除表空间中的回滚段。回滚段是用于支持事务回滚和数据一致性的重要组件。DROP TABLESPACE 默认会忽略回滚段并仅删除表空间本身。 ●FORCE					强制删除表空间,即使表空间处于活动状态或某些对象无法正常删除。此选项可能会导致数据丢失或破坏,请谨慎使用。●CASCADE CONSTRAINTS			在删除表空间及其内容时,连带删除所有依赖于这些对象的约束。这包括外键约束、引用约束等。选择此选项将确保数据的完整性。

表空间大小变更:

alter tablespace hogehoge2 resize 200M;				

查看当前原定临时表空间

SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE';
创建新的临时表空间:
CREATE TEMPORARY TABLESPACE_NAME example-tablespace TEMPFILE SIZE 100M;
将新的临时表空间设置为原定设置临时表空间:
EXEC RDSADMIN.RDSADMIN_UTIL.ALTER_DEFAULT_TEMP_TABLESPACE(TABLESPACE_NAME => 'example-tablespace');

创建用户

创建用户
create user USER_NAME identified by 1234567;
修改用户:
alter user USER_NAME identified by NEW_PASSWORD;
删除用户:
drop user NEW_USER_NAME ;
修改密码:
alter user USER_NAME identified by NEW_PASSWORD;
查看一下所有用户所在的表空间;
select username,default_tablespace from dba_users;

密码过期设定

oracle每隔180天后就登录不了,进行密码不过期的设置。

①、查看用户的proifle是哪个,一般是defaultSELECT username,PROFILE FROM dba_users;②、查看指定概要文件(如default)的密码有效期设置:SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';③、将密码有效期由默认的180天修改成“无限制”:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;修改之后不需要重启动 数据库,会立即生效。④、用户登录时,如果报“ORA-28000:用户已被锁”,则需要解锁alter user xxx account unlock;commit;

将表空间分配给用户

保存数据的默认表区域:default_tablespace
alter user USER_NAME default tablespace default_tablespace
默认设置的临时表区域:temporary_tablespace
ALTER USER USER_NAME TEMPORARY TABLESPACE temporary_tablespace ;

注意: Oracle 默认表空间存储数据库中的各种对象,如表、索引、视图、存储过程等。
如果在创建索引的时候需要存储到其他表空间,在创建过程中需要指定表空间,这样就不会存储到默认表空间中,语句如下:

CREATE INDEX index_name ON table_name(column_name) TABLESPACE tablespace_name;

给用户授权:

--赋予create session的权限,注意这句一定要有grant create session to USER_NAME;		--分配创建表,视图,触发器,序列,过程 权限						grant create table,create view,create trigger, create sequence,create procedure to USER_NAME;	--授权使用表空间grant unlimited tablespace to USER_NAME ; 							或者grant connect,resource,dba to USER_NAME ;

创建REDO日志文件

概述

REDO日志件是Oracle数据库中的一种重要文件类型,用于记录数据库的事务操作。它是用于实现事务持久性和恢复性的关键组成部分。

在Oracle数据库中,当进行数据修改操作(例如插入、更新或删除数据)时,相应的REDO记录会被写入REDO日志缓冲区,然后以顺序的方式写入REDO记录文件中。这种顺序写入的方式可以提高性能,同时也确保了事务的持久性。

REDO记录文件记录了数据库发生的所有事务操作,包括对表的变更、索引的更新等。它们被用于在数据库恢复期间重做丢失的事务操作,以确保数据库的一致性和完整性。

在Oracle数据库中,REDO日志文件有固定的大小,并以循环方式使用。当最后一个REDO记录文件被写满后,下一个记录将从第一个文件开始继续写入,形成一个循环。

查询REDO日志文件的设定
SQLSELECT * FROM v$log JOIN v$logfile USING (group#) ORDER BY group#;
添加REDO日志文件
SQLexec rdsadmin.rdsadmin_util.add_logfile('1024M');
删除REDO日志文件

●1.删除REDO日志文件,文件的状态必须是INACTIVE。
如果要删除的文件的状态是“CURRENT”,请用下面的命令将其他文件设置为“CURRENT”。

SQL : exec rdsadmin.rdsadmin_util.switch_logfile;

●2.待删除文件的STATUS变成了“ACTIVE”。待删除文件的状态 “ACTIVE”→“INACTIVE”,
如果待删除文件状态是INACTIVE,请跳过下面的执行
请执行以下命令。

SQL : exec rdsadmin.rdsadmin_util.checkpoint;

●3.用下面的命令删除日志文件。

SQL : exec rdsadmin.rdsadmin_util.drop_logfile(XX);

完成


其他sql查询

1、查看当前用户拥有的角色权限信息:select * from role_sys_privs;2、查看当前用户的详细信息:select * from user_users;3、修改用户密码:alter user 用户名 identified by 新密码;4、查询所有表空间物理位置
select name from v$datafile;5、查询当前用户的表空间
select username,default_tablespace from user_users;6、修改用户的默认表空间
alter user 用户名 default tablespace 新表空间; 7、查询所有的表空间
select * from user_tablespaces; 8、查询用户权限信息
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = USER_NAME; 9、撤销用户权限
REVOKE create session  FROM USER_NAME;
REVOKE CREATE TABLE  FROM USER_NAME;
REVOKE CREATE VIEW  FROM USER_NAME;
REVOKE CREATE PROCEDURE  FROM USER_NAME;
REVOKE UNLIMITED TABLESPACE  FROM USER_NAME;
REVOKE CREATE SEQUENCE  FROM USER_NAME;
REVOKE CREATE TRIGGER  FROM USER_NAME;10、删除用户
DROP USER USER_NAME CASCADE;

概念补充说明:

1、EXTENT MANAGEMENT:
	在 Oracle 表领域,EXTENT MANAGEMENT 是用于管理表空间(tablespace)中的数据块(data block)分配的特性之一。EXTENT 是一组连续的数据块,用于存储表中的行数据。EXTENT MANAGEMENT 指定了数据块在表空间中如何分配和管理。Oracle 数据库提供了两种类型的 EXTENT MANAGEMENT:DICTIONARY(字典管理)和 LOCAL(本地管理)。DICTIONARY EXTENT MANAGEMENT:使用数据库字典记录来管理数据块分配。在 DICTIONARY EXTENT MANAGEMENT 模式下,所有的表空间共享一个全局的字典。LOCAL EXTENT MANAGEMENT:使用每个表空间自己的位图(bitmap)来管理数据块分配。在 LOCAL EXTENT MANAGEMENT 模式下,每个表空间都维护自己的独立位图。要指定表空间的 EXTENT MANAGEMENT 类型,在创建表空间时,可以使用以下语法进行设置:CREATE TABLESPACE tablespace_name[EXTENT MANAGEMENT {LOCAL | DICTIONARY}];上述语法中,“tablespace_name” 是要创建的表空间的名称。通过指定 “EXTENT MANAGEMENT” 参数的值为 “LOCAL” 或 “DICTIONARY”,可以选择相应的 EXTENT MANAGEMENT 类型。例如,创建一个名为 “my_tablespace” 的表空间,并指定使用 LOCAL EXTENT MANAGEMENT:CREATE TABLESPACE my_tablespaceEXTENT MANAGEMENT LOCAL;
2、SEGMENT SPACE MANAGEMENT:
	在 Oracle 数据库中,SEGMENT SPACE MANAGEMENT 是用于管理数据段(segment)分配和空间回收的特性之一。在 Oracle 9i 之前的版本中,使用 FREELIST(逐行管理)进行段空间管理。这种方法要求维护每个数据块内部的空闲列表,以跟踪可用空间和空闲块。然而,这种管理方式在大型表或高并发情况下效率较低。从 Oracle 9i 开始,引入了 SEGMENT SPACE MANAGEMENT,提供了两种管理模式:MANUAL(手动管理)和 AUTO(自动管理)。MANUAL SEGMENT SPACE MANAGEMENT:在 MANUAL 模式下,数据库管理员(DBA)需要手动管理段的空间分配和释放。这意味着需要手动执行分配和释放空间的操作。AUTO SEGMENT SPACE MANAGEMENT:在 AUTO 模式下,数据库会自动管理段的空间分配和释放。数据库会根据需要自动分配和释放块,并维护一个位图(bitmap)来跟踪空闲空间。这种自动管理方式提高了性能和可伸缩性。要指定段空间管理模式,可以在创建表或索引时使用以下语法:CREATE TABLE table_name (column1 datatype,column2 datatype,...) SEGMENT SPACE MANAGEMENT {MANUAL | AUTO};在上述语法中,“table_name” 是要创建的表的名称,“column1”、“column2” 等是表的列名和对应的数据类型。通过使用 “SEGMENT SPACE MANAGEMENT” 参数,可以选择 MANUAL 或 AUTO 模式。例如,在创建一个名为 “employees” 的表时,使用 AUTO SEGMENT SPACE MANAGEMENT:CREATE TABLE employees (employee_id NUMBER,first_name VARCHAR2(50),last_name VARCHAR2(50)) SEGMENT SPACE MANAGEMENT AUTO;
3、系统表空间有哪些:
	Oracle数据库中,表空间(Tablespace)用于管理数据文件,它们存储了表、索引以及其他数据库对象的数据。Oracle数据库支持多种类型的表空间,每种表空间类型有其特定的用途和属性。以下是一些常见的Oracle表空间类型及其具体区别:●SYSTEM 表空间:这是数据库的核心表空间,包含了数据库的系统数据和元数据,如数据字典、系统表等。通常情况下,这个表空间应该只包含系统级别的数据,而不应该用于存储用户数据。在一个数据库中,只能有一个SYSTEM表空间。●SYSAUX 表空间:SYSAUX表空间用于存储一些附加的系统级数据,例如Oracle Enterprise Manager(OEM)的性能统计数据、日志等。这个表空间的引入有助于减轻SYSTEM表空间的负担,提高性能和可维护性。●TEMP 表空间:TEMP表空间用于存储临时数据,例如在查询执行期间创建的临时表或排序中使用的临时空间。多个用户可以共享一个TEMP表空间。●UNDO 表空间:UNDO表空间用于存储回滚段(Undo Segment),以支持事务的回滚和并发控制。每个数据库实例可以有一个或多个UNDO表空间,这取决于数据库配置。●User表空间:用户表空间用于存储用户数据,包括表、索引和其他用户创建的数据库对象。用户可以创建自己的表空间,用于组织和管理他们的数据。●RDSADMIN 表空间:Amazon RDS(Relational Database Service)的特殊表空间,它是用于存储Amazon RDS数据库管理所需的对象和数据的表空间。 Amazon RDS是Amazon Web Services(AWS)提供的托管关系型数据库服务,它简化了数据库管理任务,包括备份、恢复、升级和性能调整等。●临时用户表空间:临时用户表空间类似于TEMP表空间,但是每个用户可以有自己的临时表空间,用于存储用户级别的临时数据。●索引表空间:这是一种特殊的用户表空间,用于存储索引数据,以分离索引数据和用户数据。●LOB 表空间:用于存储大对象(LOB)数据类型,如CLOB和BLOB。

大鹏一日同风起,扶摇直上九万里。
加油诸位

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/118016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

餐饮外卖小程序商城的作用是什么

随着互联网及线上餐饮的发展趋势&#xff0c;行业洗牌正在加速&#xff0c;并且对餐饮连锁门店提出更高要求&#xff0c;餐饮数字化转型加快&#xff0c;积极发展线上经营是不少餐饮商家的首选。这其中&#xff0c;餐饮外卖商城成为很多餐饮品牌的线上经营品牌&#xff0c;也是…

内核进程初始化和创建

task_struct 1.进程的状态 分时技术进行多进程调度 重点&#xff1a;进程的创建是如何的&#xff1f; linux在初始化的过程中那个会进行0号进程的创建&#xff0c;fork sched_init(); 做了什么 内核态 不可抢占 用户态 可以抢占 move_to_user_mode(); 把内核状态切换到…

JackSon工具类

JackSon工具类 一、简介 Jackson 是当前用的比较广泛的&#xff0c;用来序列化和反序列化 json 的 Java 的开源框架。 Jackson 的核心模块由三部分组成&#xff1a; jackson-core&#xff0c;核心包&#xff0c;提供基于"流模式"解析的相关 API&#xff0c;它包括…

VR全景应用广泛体现在哪里?有何优势?

VR全景作为一种新型营销方式&#xff0c;正在逐渐走进人们的视线&#xff0c;它区别于以往单一角度的照片和视频&#xff0c;VR全景制作显得更加直观、更加真实、更加生动。VR全景通过VR技术将所拍摄的图片变成720度可观看的场景模式&#xff0c;把产品的特色以及魅力整体呈现展…

封装axios的两种方式

作为前端工程师&#xff0c;经常需要对axios进行封装以满足复用的目的。在不同的前端项目中使用相同的axios封装有利于保持一致性&#xff0c;有利于数据之间的传递和处理。本文提供两种对axios进行封装的思路。 1. 将请求方式作为调用参数传递进来 首先导入了axios, AxiosIn…

对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中的所有值为x的数据元素

对长度为n的顺序表L&#xff0c;编写一个时间复杂度为O(n)&#xff0c;空间复杂度为O(1)的算法&#xff0c;该算法删除线性表中的所有值为x的数据元素 算法思路&#xff1a; 用count标记遇到x的次数&#xff0c;每次遇到x&#xff0c;count 遇到非x的元素&#xff0c;把它前移…

vue3后台管理系统之顶部tabbar组件搭建

1.1静态页面搭建 <template><div class"tabbar"><div class"tabbar_left"><!-- 面包屑 --><Breadcrumb /></div><div class"tabbar_right"><!-- 设置 --><Setting /></div></di…

自动驾驶的未来展望和挑战

自动驾驶技术是一项引人瞩目的创新&#xff0c;将在未来交通领域产生深远影响。然而&#xff0c;随着技术的不断演进&#xff0c;自动驾驶也面临着一系列挑战和障碍。本文将探讨自动驾驶的未来发展方向、技术面临的挑战&#xff0c;以及自动驾驶对社会和环境的潜在影响。 自动驾…

封装一个vue3 Toast组件,支持组件和api调用

先来看一段代码 components/toast/index.vue <template><div v-if"isShow" class"toast">{{msg}}</div> </template><script setup> import { ref, watch } from vue const props defineProps({show: {type: Boolean,def…

docker搭建个人镜像仓库

docker搭建个人镜像仓库 安装registry mkdir docker-registry cd docker-registry mkdir registry mkdr auth vim docker-compose.ymldocker-compose.yml的内容如下&#xff1a; version: 3 services:registry:image: registrycontainer_name: registryvolumes:- ./registry…

GPT带我学-设计模式-10观察者模式

1 请你介绍一下观察者模式 观察者模式&#xff08;Observer Pattern&#xff09;是一种设计模式&#xff0c;它定义了对象之间的一对多依赖关系&#xff0c;当一个对象&#xff08;被观察者&#xff09;的状态发生改变时&#xff0c;所有依赖于它的对象&#xff08;观察者&…

Canvas的缓冲区

Canvas的缓冲区 canvas的绘制缓冲区和显示缓冲区理解为两个容器&#xff0c;它们用于存储绘制结果。绘制缓冲区是用于存储渲染管线生成的像素数据&#xff0c;而显示缓冲区是绘制缓冲区最终的存储位置。 绘制缓冲区&#xff08;Drawing Buffer&#xff09;: 它是在 canvas 元…

JVM 类的加载子系统

文章目录 类的加载过程加载阶段链接阶段初始化 类的加载器测试代码中获取对应的加载器获取加载器加载的路径不同类对应的加载器自定义加载器自定义加载器的方式 获取类的加载器的方式双亲委派机制双亲委派机制的好处 Java 的 SPI 机制1. 接口定义2. 具体实现3. 配置 META-INF/s…

Redis中设置Hash数据类型的过期时间

1 方案 可以先对key进行赋值&#xff0c;然后对key设置一个过期时间。 &#xff08;1&#xff09;依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.3</version></dependency>…

Kubernetes (K8S)概述

目录 1、K8S 是什么&#xff1f; 1.1 作用 1.2 由来 1.3 含义 1.4 官网 2、为什么要用 K8S? 2.1 K8S 解决了裸跑Docker 的若干痛点 2.2 K8S主要功能如下 2.3 K8S 的特性 3、Kubernetes 集群架构与组件 3.1 核心组件 3.1.1 Master 组件 3.1.2 控制器主要包括 3.1…

Spring Cloud Gateway 路由构建器的源码分析

Spring Cloud Gateway 路由构建器的源码分析 文章目录 1. 路由构建器的入口2. 创建路由规则3. 设置路由规则和属性4. 路由过滤器的设置5. 构建和获取路由规则&#xff1a;6. 实例化路由构建器&#xff1a;8. 路由构建器的源码分析8.1 RouteLocator接口8.2 RouteLocatorBuilder…

判断日期区间或季节等

使用JavaScript的Date对象来获取当前日期&#xff0c;并通过比较判断是否在指定的日期范围内&#xff08;如3月16日-9月15日&#xff09;。以下是一个示例代码&#xff1a; var currentDate new Date(); // 获取当前日期 var startRange new Date(currentDate.getFullYear()…

springBoot与Vue共同搭建webSocket环境

欢迎使用Markdown编辑器 你好&#xff01; 这片文章将教会你从后端springCloud到前端VueEleementAdmin如何搭建Websocket 前端 1. 创建websocket的配置文件在utils文件夹下websocket.js // 暴露自定义websocket对象 export const socket {// 后台请求路径url: ,websocketCo…

Android前台服务和通知

前台服务 Android 13及以上系统需要动态获取通知权限。 //android 13及以上系统动态获取通知权限 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {checkPostNotificationPermission(); } private void checkPostNotificationPermission() {if (ActivityCompat.chec…

信息检索与数据挖掘 | 【实验】排名检索模型

文章目录 &#x1f4da;实验内容&#x1f4da;相关概念&#x1f4da;实验步骤&#x1f407;分词预处理&#x1f407;构建倒排索引表&#x1f407;计算query和各个文档的相似度&#x1f407;queries预处理及检索函数&#x1f525;对输入的文本进行词法分析和标准化处理&#x1f…