PLSQL--表空间管理

查看表空间信息
  --查看表空间信息
  SELECT TABLESPACE_NAME,
         STATUS,
         CONTENTS,
         LOGGING
    FROM DBA_TABLESPACES;
  --查看数据文件信息
  SELECT TABLESPACE_NAME,
         'PERMANENT' TABLESPACE_KIND,
         FILE_NAME,
         STATUS,
         AUTOEXTENSIBLE,
         BYTES/1024/1024 CURR_BYTES_M,
         ONLINE_STATUS
    FROM DBA_DATA_FILES --永久表空间(含撤销表空间)
   UNION ALL
  SELECT TABLESPACE_NAME,
         'TEMPORARY' TABLESPACE_KIND,
         FILE_NAME,
         STATUS,
         AUTOEXTENSIBLE,
         BYTES/1024/1024 CURR_BYTES_M,
         'ONLINE' ONLINE_STATUS
    FROM DBA_TEMP_FILES; --临时表空间
  查看用户默认表空间信息
  SELECT USERNAME 用户名,
         DEFAULT_TABLESPACE 默认表空间,
         TEMPORARY_TABLESPACE 默认临时表空间
    FROM DBA_USERS;
  
创建表空间
CREATE TABLESPACE tbs_name --指定新表空间的名字
DATAFILE '/path/filename' SIZE num[K/M] --映射的数据文件路径及初始大小
[AUTOEXTEND [ON|OFF] NEXT num[K/M] MAXSIZE num[K/M]] --是否自动扩展及自动扩展时每次扩展的大小和最大值
[ONLINE|OFFLINE] --表空间在线或离线
[LOGGING|NOLOGGING]; --该空间下对象加载时是否记录日志


修改表空间
  增加数据文件
    --非自动扩展
  ALTER TABLESPACE tbs_name ADD DATAFILE '/path/filename' SIZE 10M AUTOEXTEND OFF ;
    --自动扩展
  ALTER TABLESPACE tbs_name ADD DATAFILE '/path/filename' SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
  修改数据文件
    扩展和缩小
    ALTER DATABASE DATAFILE '/path/filename' RESIZE num[K/M];
    修改自动扩展属性
    ALTER DATABASE DATAFILE '/path/filename' AUTOEXTEND ON NEXT num[K/M] MAXSIZE UNLIMITED;
    ALTER DATABASE DATAFILE '/path/filename' AUTOEXTEND OFF;
  删除数据文件
  ALTER TABLESPACE tbs_name DROP DATAFILE '/path/filename';
  重命名表空间
  ALTER TABLESPACE tbs_name_old RENAME TO tbs_name_new;
  SYSTEM、SYSAUX表空间及处于OFFLINE状态的表空间不能重命名。
删除表空间
DROP TABLESPACE tbs_name INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

修改表空间状态
  修改为只读状态--禁止DML操作,小部分数据库对象允许删除,基本该表空间只读禁写
  ALTER TABLESPACE tbs_name READ ONLY;
  修改为读写状态(默认)--即ONLINE状态,允许正常操作
  ALTER TABLESPACE tbs_name READ WRITE;
  
创建用户、表和索引时指定表空间
  用户
  CREATE USER user_name IDENTIFIED BY pwd 
  DEFAULT TABLESPACE tbs_name TEMPORARY TABLESPACE tmp_tbs_name;CREATE TABLE tb_name(
  col_name col_type
  ...)
  TABLESPACE tbs_name;
  ALTER TABLE tb_name MOVE TABLESPACE tbs_name;
  索引
  CREATE INDEX ind_name on tb_name(col_name) TABLESPACE tbs_name;
  ALTER INDEX ind_name REBUILD TABLESPACE tbs_name;
  --出于性能和安全考虑,表和索引建议分开放至不同的表空间内。
  
调整用户的默认表空间
  调整默认的永久表空间
  ALTER USER user_name DEFAULT TABLESPACE tbs_name;
  调整默认的临时表空间
  ALTER USER user_name TEMPORARY TABLESPACE tbs_name;
  
设置数据库的默认表空间
  设置默认永久表空间
  ALTER DATABASE DEFAULT TABLESPACE tbs_name;
  设置默认临时表空间
  ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tbs_anme;

临时表空间迁移
  1)创建新的临时表空间
  CREATE TEMPORARY TABLESPACE tmp_tbs_name_new
  TEMPFILE '/path/filename' SIZE num[K/M]
  [AUTOEXTEND ON|OFF NEXT num[K/M] MAXSIZE UNLIMITED];
  2)修改数据库的临时表空间为新的临时表空间
  ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tmp_tbs_name_new;
  3)删掉旧的临时表空间
  DROP TABLESPACE tmp_tbs_name_old INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

表空间预警方案
  eg:表空间使用率超过95%或剩余表空间少于30M时,存储过程不能开始进行。
SELECT A.TABLESPACE_NAME 表空间名称,
       ROUND(TOTAL/1024/1024,4) 表空间大小M,
       ROUND(FREE/1024/1024,4) 表空间剩余大小M,
       ROUND((TOTAL-FREE)/1024/1024,4) 表空间使用大小M,
       ROUND((TOTAL-FREE)/TOTAL,4)*100 使用率
  FROM (SELECT TABLESPACE_NAME,SUM(BYTES) FREE
          FROM DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) A,
       (SELECT TABLESPACE_NAME,SUM(BYTES) TOTAL
          FROM DBA_DATA_FILES
         GROUP BY TABLESPACE_NAME) B
    ON A.TABLESPACE_NAME=B.TABLESPACE_NAME
 WHERE /*A.TABLESPACE_NAME=UPPER('tbs_name')*/
 ORDER BY ROUND((TOTAL-FREE)/TOTAL,4)*100 DESC;
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PL/SQL Developer是Oracle数据库当前最流行的开发工具之一,它在ORACLE数据库开发设计方面功能强大,使用方便,但是数据库管理方面一直比较欠缺。 DBATools For PL/SQL Developer 是一款PL/SQL Developer的辅助插件,主要功能是提供许多DBA数据库管理的功能,使ORACLE工程师不仅可以使用PL/SQL Developer进行开发设计,同时也可以进行数据库管理及监控,大大提高工作效率。 功能列: 1.空间管理 2.初始化参数管理 3.重做日志管理 4.数据库监视 4.1.查看SGA统计信息 4.2.查看排序情况 4.3.查看日志切换情况 4.4.查看锁资源 4.11.查看库缓存命中率 4.6.查看数据缓存命中率 4.7.查看WorkArea情况 4.8.查看当前会话等待事件 4.9.查看数据库大小 4.10.查看等待事件统计信息 5.清空缓冲区 6.导出数据库结构文档 7.快速打开TNSNAME.ORA文件 8.快速打开listener.ORA文件 9.快速打开Oracle Net Manager 10.自定义配置 10.1.语言配置,支持中英两种语言 10.2.菜单自定义配置 10.3.数据库监视SQL自定义配置 11.快捷菜单 11.1. 11.1.1.分析 11.1.2.取记录数 11.1.3.创建物化视图日志 11.1.4.设置并行度 11.2.视图 11.2.1.取记录数 11.3.物化视图 11.3.1.分析 11.3.2.取记录数 11.3.3.刷新 11.3.4.设置并行度 11.4.数据库链接 11.4.1.测试 11.11.列 11.11.1.分析 11.6.索引 11.6.1.分析 11.6.2.重建 11.7.空间 11.7.1.管理 11.7.2.新增 11.7.3.编辑 12.导出菜单 12.1.导出属性方式的XML文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dmy20210205

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值