2.oracle--表空间管理

创建表空间:

sql 复制代码
create tablespace OGG_SOURCE datafile '/u01/app/oracle/oradata/orcl/oggsource1.dbf' size 20g autoextend on next 5m;

修改表空间增加数据文件(看情况使用)

sql 复制代码
alter tablespace OGG_SOURCE add datafile '/u01/app/oracle/oradata/orcl/oggsource2.dbf' size 20g autoextend on next 5m;

删除表空间

sql 复制代码
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
drop tablespace HMABPREPORT including contents and datafiles cascade constraint;

查看当前存在的表空间

sql 复制代码
select * from v$tablespace;

查看表空间使用情况

sql 复制代码
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name; -- 单位是M

查看用户默认表空间

sql 复制代码
select username,default_tablespace from dba_users;

查询数据库中表空间对应的数据文件路径

sql 复制代码
select file_name,tablespace_name from dba_data_files;

修改用户表空间

sql 复制代码
alter user user1 default tablespace test_tbsp;

查看表空间是否自动扩展

sql 复制代码
select file_name,autoextensible,increment_by from dba_data_files where tablespace_name='TEST_TBSP';

查看临时表空间是否自动扩展

sql 复制代码
select file_name,autoextensible,increment_by from dba_temp_files;

查看表空间块大小

sql 复制代码
show parameter db_block;

表空间开启自动扩展

sql 复制代码
alter database datafile '/home/oracle/oradata/test_tbsp.dbf' autoextend on;

表空间关闭自动扩展

sql 复制代码
alter database datafile '/home/oracle/oradata/test_tbsp.dbf' autoextend off;

查看当前表空间

sql 复制代码
select username,default_tablespace from user_users;

查看表空间下所有表

sql 复制代码
select TABLE_NAME,TABLESPACE_NAME from all_tables where tablespace_name='A_DATA_BW_CZGL';

删除表

sql 复制代码
drop table tablename;

切换undotbs

sql 复制代码
-- 0. 查看正在使用的undo
SQL> show parameter undo_tablespace;
-- 1. 查询数据库中表空间对应的数据文件路径
SQL> select file_name,tablespace_name from dba_data_files;
-- 2. 创建新的UNDO表空间
SQL> CREATE UNDO TABLESPACE UNDOTBS3 DATAFILE '/u01/oradata/rac/undotbs3.dbf' SIZE 30G AUTOEXTEND ON;
-- 3. 切换到新的UNDO表空间
SQL> ALTER SYSTEM SET undo_tablespace = 'UNDOTBS3';
-- 4. 等待切换完成,可以通过查询V$UNDOSTAT来检查进度。
SQL> select dr.tablespace_name, dr.segment_name, vr.status from dba_rollback_segs dr, v$rollstat vr where dr.segment_id=vr.usn;
-- 5. 删除旧的UNDO表空间(在确认新表空间正常运行后执行)
SQL> DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;

查询每个用户所占的表空间和每个表所占空间大小

sql 复制代码
select owner,tablespace_name ,sum(bytes)/1024/1024 from dba_segments group by owner,tablespace_name;

扩展表空间:

sql 复制代码
sqlplus / as sysdba --登录sys用户
connect sys/password as sysdba --切换到sys(dba)用户
connect user/password  --切换到普通用户

--查看表空间的名字及文件所在位置

sql 复制代码
select tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_space from sys.dba_data_files order by FILE_NAME;

--查询表空间信息

sql 复制代码
select username,default_tablespace,t.* from dba_users t

--查询某个用户下的全部数据表的表名和大小

sql 复制代码
select a.segment_name,a.segment_type,a.bytes,a.bytes / 1024 / 1024 byte_m,b.created
from dba_segments a
inner join all_objects b on b.object_type = 'TABLE' and a.owner = b.owner and a.segment_name = b.object_name
where a.owner = 'USER' and a.segment_type = 'TABLE' /* and a.bytes>50000000*/
order by a.bytes desc;
a.owner后面跟想查询的用户名,查询没数据,可以试下a.owner = upper('USER')

-- 查询数据库中所有的表空间以及表空间所占空间的大小:

sql 复制代码
select tablespace_name, sum(bytes)/1024/1024/1024 from dba_data_files group by tablespace_name;

-- 查看表空间物理文件的名称及大小

sql 复制代码
select tablespace_name, file_id, file_name,   
round(bytes/(1024*1024),0) total_space   
from dba_data_files   
order by tablespace_name; 

扩展表空间:

sql 复制代码
select name from v$datafile;
1,增加数据文件
alter tablespace POTEVIO add datafile '/u01/app/oracle/oradata/orcl/POTEVIO8.dbf' size 31g autoextend on next 100m;
2,或者增大空间(默认的一个数据文件最大扩展到32G,达到32G后只能增加数据文件)
alter database datafile '/u01/app/oracle/oradata/orcl/POTEVIO.dbf' resize 100g;
RAC 只需要指定 asm磁盘的名称即可,单节点实例的oracle 才需要指定到具体的路径
alter tablespace system add datafile '+YYDB_DATA' size 30g autoextend on next 5m;
创建表空间时,创建大文件表空间(默认数据文件最大为32T,但只能拥有一个数据文件)
create bigfile tablespace POTEVIO datafile '/u01/app/oracle/oradata/orcl/POTEVIO.dbf' size 2g autoextend on next 100m;
相关推荐
名字还没想好☜1 小时前
Go 的 database/sql 连接池实战:SetMaxOpenConns 怎么配、连接泄漏怎么查
数据库·sql·golang·go·数据库连接池
字节跳动数据库1 小时前
火山 PostgreSQL Serverless × 飞书妙搭:把 AI 装进数据库,一句话唤醒数据智能
数据库·人工智能·后端
玛丽莲茼蒿1 小时前
Redis(六)—— Redis高级
数据库·redis·缓存
Wang's Blog2 小时前
PostgreSQL笔记22: WAL日志与崩溃恢复原理
数据库·笔记·postgresql
陈聪.2 小时前
企业级 NoSQL 数据库 Redis 核心知识整理
数据库·redis·nosql
翼龙云_cloud3 小时前
腾讯云国际代理商:CDB数据库自动备份和异地灾备配置 从快照到跨区域恢复
运维·数据库·云计算·腾讯云
小屁孩你滑稽掉了3 小时前
prisma操作数据库的方法使用教程(简洁版)
数据库·node.js·prisma·fastify
l1t3 小时前
利用DuckDB luajit插件和openblas库对表中数据做矩阵运算
数据库·线性代数·矩阵·duckdb
Elastic 中国社区官方博客3 小时前
Elasticsearch:什么是向量数据库?
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·ai