oracle表空间的管理
1、创建表空间
CREATE TABLESPACE TBS_TR_DATA
DATAFILE '/oradata/rTBS_TR_DATA_001.dbf'
SIZE 64G
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO ONLINE;
ALTER TABLESPACE TBS_TR_DATA
ADD DATAFILE '/oradata/rTBS_TR_DATA_002.dbf'
SIZE 64G
AUTOEXTEND OFF;
2、查询表空间的基本信息
--包含数据库中所有表空间的描述信息
SELECT * FROM DBA_TABLESPACES
--包含当前用户的表空间的描叙信息
SELECT * FROM USER_TABLESPACES
--包含从控制文件中获取的表空间名称和编号信息
SELECT * FROM V$TABLESPACE;
3、查看数据文件
--包含数据文件以及所属的表空间的描述信息
SELECT * FROM DBA_DATA_FILES
--包含临时数据文件以及所属的表空间的描述信息
SELECT * FROM DBA_TEMP_FILES
--包含从控制文件中获取的数据文件的基本信息,包括它所属的表空间名称、编号等
SELECT * FROM V$DATAFILE
--包含所有临时数据文件的基本信息
SELECT * FROM V$TEMPFILE
4、查看表空间的使用情况
SELECT A.TABLESPACE_NAME AS TABLESPACE_NAME,
ROUND(A.BYTES/(1024*1024*1024),2) AS "TOTAL(G)" ,
ROUND(B.BYTES/(1024*1024*1024),2) AS "USED(G)" ,
ROUND(C.BYTES/(1024*1024*1024),2) AS "FREE(G)" ,
ROUND((B.BYTES * 100) / A.BYTES,2) AS "% USED" ,
ROUND((C.BYTES * 100) / A.BYTES,2) AS "% FREE"
FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;
5、计算表空间使用情况(考虑了数据文件自动增长情况)
SELECT UPPER(F.TABLESPACE_NAME) AS "表空间名称",
ROUND(D.AVAILB_BYTES ,2) AS "表空间大小(G)",
ROUND(D.MAX_BYTES,2) AS "最终表空间大小(G)",
ROUND((D.AVAILB_BYTES - F.USED_BYTES),2) AS "已使用空间(G)",
TO_CHAR(ROUND((D.AVAILB_BYTES - F.USED_BYTES) / D.AVAILB_BYTES * 100,
2), '999.99') AS "使用比",
ROUND(F.USED_BYTES, 6) AS "空闲空间(G)",
F.MAX_BYTES AS "最大块(M)"
FROM (
SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024 * 1024), 6) USED_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024 * 1024), 6) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024), 6) AVAILB_BYTES,
ROUND(SUM(DECODE(DD.MAXBYTES, 0, DD.BYTES, DD.MAXBYTES))/(1024*1024*1024),6) MAX_BYTES
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC
6、删除表空间
DROP TABLESPACE 表空间名 [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]
SQL> DROP TABLESPACE URER01 INCLUDING CONTENTS;
如果在表空间中包含数据库对象,则必须在DROP TABLESPACE语句中显示的指定INCLUDING CONTENTS. 如果要再删除表空间USER的同时删除它所对应的数据文件,则可以使用下面的语句
SQL>DROP TABLESPACE USER01 INCLUDING CONTENTS AND DATAFILES;
注意:删除表空间时,CONTENTS与DATAFILES选项错位,会报如下错误:
SQL>DROP TABLESPACE TBS_STAGE_DAT INCLUDING DATAFILES AND CONTENTS
ORA-01911:contents keyword expected
7、给表空间增加数据文件
SQL> ALTER TABLESPACE TBS_TR_IND
ADD DATAFILE '/oradata/rTBS_TR_IND_002.dbf'
SIZE 32G
AUTOEXTEND OFF;
SQL> ALTER TABLESPACE TBS_EDS_DAT
ADD DATAFILE 'G:\datafile\TBS_EDS_DAT01.DBF'
SIZE 100M
AUTOEXTEND ON
NEXT 10M
MAXSIZE 20480M;
SQL> ALTER TABLESPACE temp01
ADD TMPFILE 'D:\ORACLEDATA\temp01_02.dbf' SIZE 10M REUSE;
8、调整数据文件大小
ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf'
RESIZE 500M;
9、删除数据文件
ALTER TABLESPACE TEST
DROP DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf'
10、移动数据文件
1.1:连接数据库
SQL> conn sysdba/manage as sysdba
已连接。
1.2:把要移动数据文件的表空间脱机
SQL> ALTER TABLESPACE TBS_EDS_DAT OFFLINE NORMAL ;
表空间已更改。
1.3:移动物理数据文件。
1.4:重命名文件
SQL> ALTER DATABASE
RENAME FILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\WGODS\TBS_EDS_DAT.DBF'
TO
'G:\datafile\TBS_EDS_DAT.DBF';
数据库已更改。
1.5:表空间联机
SQL> ALTER TABLESPACE TBS_DM_DAT ONLINE;
表空间已更改。
1.6:如果要删除以前的数据文件,则必须先关闭数据库,手动删除文件,否则会报错。
SQL> shutdow immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
11、移动表在表空间的物理位置
alter table t1 move;
12、清除表空间
purge tablespace 用户名;
oracle表空间的管理的更多相关文章
- Oracle表空间的管理方式
解释说明:表空间是一个逻辑概念:=> oracle 逻辑概念段区块管理方式: number one => tablespace number two=> segments Oracl ...
- Oracle架构设计01:表空间的管理维护规范
Oracle数据库的表空间管理可以说是非常简单和基础的一项维护工作,但是越简单的事情就越要制定统一的规范,这样数据库的各项管理工作才会愈加的简单高效. 那么接下来,问题来了.. Q1:当我们接手一个新 ...
- ORACLE表空间管理维护
1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示, ...
- Oracle表空间管理
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; //修改表空间数据文件类型 2.ALT ...
- oracle 表空间管理
1.创建表空间 03:01:55 sys@ORADB11G> create tablespace TSPITR datafile '/u01/app/oracle/oradata/TSPITR0 ...
- ArcSDE for Oracle表空间管理——暂时(TEMP)表空间
Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运 ...
- oracle表空间创建及管理
一.数据文件和数据库逻辑存储结构: 一个表空间包含一个或多个数据文件,一个表空间包含一个或多个段,一个段包含一个或多个区,一个区包含一个或多个连续的数据库块,一个数据库块包含一个或多个操作系统块.段是 ...
- Oracle 表空间的日常维护与管理
目录 Oracle 表空间的日常维护与管理 1.创建数据表空间 2.创建临时表空间 3.创建 UNDO 表空间 4.表空间的扩展与修改大小 5.表空间重命名 6.表空间的删除 7.更改表空间的读写模式 ...
- Oracle表空间概述及其基本管理
最近在工作中遇到有同事对Oracle表空间的理解有问题,所以写了这篇文章.我会从概念,管理及特别需要关注的点等几个维度对表空间进行一些介绍.本文以介绍表空间为主,涉及到的其他概念不展开描述.有问题的地 ...
随机推荐
- ICMP timestamp 请求响应漏洞
ICMP timestamp请求响应漏洞 解决方案: * 在您的防火墙上过滤外来的ICMP timestamp(类型13)报文以及外出的ICMP timestamp回复报文. google之, ...
- Kubernetes集群部署之二CA证书制作
创建TLS证书和秘钥 kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Auth ...
- QT 窗口拖拽移动实现
我们知道,要实现窗口移动可以直接鼠标点住窗口的标题栏实现拖拽移动,这是窗口默认的行为,在QT中的事件响应函数为moveEvent. 但是现实中经常需要鼠标点住窗口客户区域实现窗口的拖拽移动,代码实现如 ...
- .Net Core 部署到Ubuntu 16.04 中的步骤
需要安装的工具 .Net Core Nginx反向代理服务器(相当于Windows下的IIS) Supervisor(进程管理工具) .Net Core安装方法请参阅 官方文档 安装完成后就可以在项目 ...
- 【laravel5.6】 laravel 执行 php artisan route:cache 报错 Unable to prepare route [/] for serialization. Uses Closure.
laravel 在部署的时候.需要优化路由加载,执行命令 php artisan route:cache 报错了.如下 这个异常的错误信息,提示的已经非常明确了:大概意思就是说在闭包里边,是不能够进行 ...
- vs2017企业版本安装和序列号
离线包大概下载为19G,可以选择的选择项很多,很不错,安装如下: 安装完成 启动效果 SharePoint插件自带了 离线包(19G) Visual Studio 2017(VS2017) 企业版En ...
- python3之深浅拷贝
深浅copy 1,先看赋值运算. l1 = [1,2,3,['barry','alex']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['barry', ...
- Java NIO 与 IO之间的区别
概述 Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲 ...
- React组件中的key
React组件中的key 一.key的作用 react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key props),而是给reac ...
- Vue.js最佳实践
Vue.js最佳实践 第一招:化繁为简的Watchers 场景还原: created(){ this.fetchPostList() }, watch: { searchInputValue(){ t ...