ORACLE表空间说明及操作,2024年最新Linux运维彻底组件化方案实践方法

文章介绍了如何通过一份全面的Linux运维学习资料包,帮助程序员高效学习和提升技能,涵盖基础知识到高级进阶课程,以及Oracle数据库管理的关键操作,如DROPTABLESPACE的不同选项和EXTENTMANAGEMENT/AUTOSEGMENTSPACEMANAGEMENT。作者还强调了系统学习的重要性以及加入技术交流社群的价值。
摘要由CSDN通过智能技术生成

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

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是哪个,一般是default:

SELECT 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日志文件的设定



SQL: SELECT * FROM v l o g J O I N v log JOIN v logJOINvlogfile USING (group#) ORDER BY group#;


##### 添加REDO日志文件



SQL: exec 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_tablespace
EXTENT 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,

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
伸缩性。
要指定段空间管理模式,可以在创建表或索引时使用以下语法:
CREATE TABLE table_name (
column1 datatype,

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-cTJ2Z1ym-1713389551584)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值