【比较】Oracle不同版本中关于ALTER TABLESPACE的功能演进

简介: 1.分别看一下从9i到11gR2版本中关于“ALTER TABLESPACE”的语法。1).11g(R1和R2相同)的语法:ALTER TABLESPACE tablespace                 { DEFAULT [ tab...
1.分别看一下从9i到11gR2版本中关于“ALTER TABLESPACE”的语法。
1).11g(R1和R2相同)的语法:
ALTER TABLESPACE tablespace               
  { DEFAULT [ table_compression ] storage_clause
  | MINIMUM EXTENT size_clause
  | RESIZE size_clause
  | COALESCE
  | SHRINK SPACE [ KEEP size_clause]
  | RENAME TO new_tablespace_name
  | { BEGIN | END } BACKUP
  | datafile_tempfile_clauses
  | tablespace_logging_clauses
  | tablespace_group_clause
  | tablespace_state_clauses
  | autoextend_clause
  | flashback_mode_clause
  | tablespace_retention_clause
  } ;

2).10g的语法:
ALTER TABLESPACE tablespace
  { DEFAULT
      [ table_compression ] storage_clause
  | MINIMUM EXTENT size_clause
  | RESIZE size_clause
  | COALESCE
  | RENAME TO new_tablespace_name
  | { BEGIN | END } BACKUP
  | datafile_tempfile_clauses
  | tablespace_logging_clauses
  | tablespace_group_clause
  | tablespace_state_clauses
  | autoextend_clause
  | flashback_mode_clause
  | tablespace_retention_clause
  } ;

3).9i的语法:
ALTER TABLESPACE tablespace
  { datafile_tempfile_clauses
  | DEFAULT [ data_segment_compression ] storage_clause
  | MINIMUM EXTENT integer [ K | M ]
  | ONLINE
  | OFFLINE [ NORMAL | TEMPORARY | IMMEDIATE ]
  | { BEGIN | END } BACKUP
  | READ { ONLY | WRITE }
  | PERMANENT| TEMPORARY
  | COALESCE
  | logging_clause
  | [ NO ] FORCE LOGGING
  } ;

2.将比较关心的几个特性演进描述一下
1)10g比9i增加了修改表空间名字的方法(RENAME TO),方便很多,虽然在改名的过程中存在一些限制,不过改进相当的人性,终于不用通过增删的方式修改表空间的名字了。
关于rename表空间名字的一些限制请阅读Oracle的官方文档,描写的非常的清晰,地址如下:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_3002.htm#SQLRF01002

具体操作一例:
sys@ora10g> alter tablespace TBS_SEC_D1 rename to TBS_SEC_D;

Tablespace altered.

2)10g到9i的变化是非常大的,增加了非常多的特性,因为10g是一个跨时代的一个版本。

3)10g到11g的变化不是很大,不过也体现了功能的进一步加强,这里提到的是对临时表空间的“SHRINK SPACE”功能,加强了对临时表空间的管理功能。
(1)“SHRINK SPACE”之前的临时表空间查看
sys@ora11g> select tablespace_name,file_id,bytes/1024/1024 Mbytes,blocks,maxbytes/1024/1024 MmaxBytes,maxblocks from dba_temp_files;

TABLESPACE_NAME    FILE_ID     MBYTES     BLOCKS  MMAXBYTES  MAXBLOCKS
--------------- ---------- ---------- ---------- ---------- ----------
TEMP                     1         29       3712 32767.9844    4194302

(2)使用“SHRINK SPACE”功能对临时表空间进行缩减
sys@ora11g> alter tablespace TEMP shrink space;

Tablespace altered.
                           
(3)“SHRINK SPACE”之后临时表空间查看,可以看到临时表空间大小由原来的29M变成了现在的不到2M的大小。
sys@ora11g> select tablespace_name,file_id,bytes/1024/1024 Mbytes,blocks,maxbytes/1024/1024 MmaxBytes,maxblocks from dba_temp_files;

TABLESPACE_NAME    FILE_ID     MBYTES     BLOCKS  MMAXBYTES  MAXBLOCKS
--------------- ---------- ---------- ---------- ---------- ----------
TEMP                     1  1.9921875        255 32767.9844    4194302

(4)演示一下对于非临时表空间进行SHRINK时的报错信息,提示信息很清晰
sys@ora11g> alter tablespace USERS shrink space;
alter tablespace USERS shrink space
*
ERROR at line 1:
ORA-12916: cannot shrink permanent or dictionary managed tablespace

3.小结
上面只是提到了几个我感觉比较实用的变化,抛个砖,细节之处大家再慢慢体会吧。

-- The End --
目录
相关文章
|
SQL 人工智能 Oracle
NineData支持全版本的企业级Oracle客户端,现已发布!
Oracle数据库是一款全球领先的关系型数据库管理系统,NineData发布对Oracle数据库的SQL开发支持。开发者可以使用NineData便捷查询云端、本地、多个版本的Oracle数据库。NineData在近期的迭代中提供了对Oracle数据库的支持。具有可视化工具、AI智能优化、SQL智能提示、企业协同等多种强大能力,并且无需安装,登录即可使用,同时在安全性上也为您提供了相当可靠的保障。
410 0
NineData支持全版本的企业级Oracle客户端,现已发布!
|
2月前
|
SQL Oracle 安全
免费 Oracle 各版本 离线帮助使用和介绍
免费 Oracle 各版本 离线帮助使用和介绍
41 2
|
7月前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
105 0
|
7月前
|
Oracle 关系型数据库 Linux
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
355 1
|
Oracle 关系型数据库 Linux
oracle学习82-VMware出现配置文件 .vmx 是由VMware产品创建,但该产品与此版 VMware workstation 不兼容,因此无法使用(VMware版本不兼容问题)
oracle学习82-VMware出现配置文件 .vmx 是由VMware产品创建,但该产品与此版 VMware workstation 不兼容,因此无法使用(VMware版本不兼容问题)
668 0
oracle学习82-VMware出现配置文件 .vmx 是由VMware产品创建,但该产品与此版 VMware workstation 不兼容,因此无法使用(VMware版本不兼容问题)
|
SQL Oracle 关系型数据库
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
|
存储 SQL 负载均衡
达梦数据库与Oracle数据库:功能、性能和适用场景对比
数据库在现代信息技术领域中扮演着至关重要的角色。在企业级应用中,选择正确的数据库管理系统对于数据存储、处理和查询效率至关重要。本文将对比两个备受关注的数据库管理系统——达梦数据库和Oracle数据库,从功能、性能和适用场景等方面进行深入探讨,以帮助读者在选择合适数据库时做出明智的决策。
2857 1
|
SQL Oracle 关系型数据库
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
1846 0
|
JSON Oracle 关系型数据库
Oracle 数据库目前版本和支持策略综述
Oracle 数据库的 Long Term 版本和 Innovation 版本
707 0
|
编解码 Oracle 关系型数据库
安装增强功能失败:Could not mount the media/drive C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso
安装增强功能失败:Could not mount the media/drive C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso
437 0
安装增强功能失败:Could not mount the media/drive C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso