当前位置:首页 » 文件管理 » oracle压缩表空间

oracle压缩表空间

发布时间: 2022-10-03 04:35:17

❶ oracle 压缩表空间有什么作用

主要是节省空间,不过查询的时候貌似更消耗cpu资源,对历史数据比较适合。

❷ 怎么样减少表空间大小 oracle 11

缩小表空间大小注意如下几点:
1、查清该表空间下的数据文件个数,使用量;
2、为了保证数据库的性能,表空间的使用量不要超过75%;
3、修改数据文件语法:ALTER DATABASE DATAFILE data_file_name RESIZE nnnnM;

❸ oracle如何缩小表空间

删除数据不能缩小表空间,只是可再利用的多了.
要实际缩小,让操作系统可以利用,需要先把表move tablespace
也可以在原来的tablespace上move一遍,再缩小tablespace就可以了.
例如:
alter table your_table move tablespace yourtablespace;

❹ oracle数据库表空间占用太大,如何在不删除表的情况下缩小占用空间

alter table 表名 move和alter table 表名 shrink space都可以用来进行段收缩,降低高水位HWM,
也都可以用来消除行链接(Row Chaining)和行迁移(Row Migration),估计效果不明显,看你的数据库用途是干什么的(如果是数据仓库肯定是不明显的)。

❺ oracle表空间太大,有哪些优化办法

给您提供建议如下:
(1)如果表空间的数据没存满,可以考虑执行表空间收缩操作。
(2)如果表空间的数据存满了,可以考虑建多个表空间文件。
(3)从业务的角度考虑,是否可以考虑将部分数据进行剥离,存放在历史库。
(4)从业务角度进行分析,该表空间中最大的几张表中的数据都是必须、有用的吗?是否可以将部分无用数据备份后执行清理操作。
(5)如果是undo表空间,可以执行undo表空间收缩操作。
(6)如果是temp表空间,可以将原表空间文件drop掉后重建表空间文件。

❻ oracle truncate table aud$后怎么压缩system表空间

oracle truncate table aud$后怎么压缩system表空间
:你的系统表空间已经满了,且无法扩展。需要扩展系统表空间。 alter tabespace add datafile 'd:\xxxx\system02.dbf' size 1024M reuse autoextend on next 10m maxsize 20480M

❼ 压缩oracle数据文件

Oracle
中压缩数据节省空间和提高速度

添加时间
:2007-4-22

使用表压缩来节省空间并提高查询性能

很多决策支持系统通常都涉及到存储于几个特大表中的大量数据。随着这些系统的发展,对磁盘空间
的需求也在快速增长。在当今的环境下,存储着数百
TB
(太字节)的数据仓库已经变得越来越普遍。

为了帮助处理磁盘容量问题,
在
Oracle9i
第
2
版中引入了表压缩特性,
它可以极大地减少数据库表所
需要的磁盘空间数量,并在某些情况下提高查询性能。

在本文中,我将向你说明表压缩是如何工作的,以及在构建和管理数据库时如何配置表空间。我还将
基于一些示例测试结构讨论一些性能问题,以帮助你了解使用表压缩预计能获得多大好处。

表压缩是如何工作的

在
Orcle9i
第
2
版中,表压缩特性通过删除在数据库表中发现的重复数据值来节省空间。压缩是在数
据库的数据块级别上进行的。当确定一个表要被压缩后,数据库便在每一个数据库数据块中保留空间,以

便储存在该数据块中的多个位置上出现的数据的单一拷贝。这一被保留的空间被称作符号表(
symbol
table
)
。被标识为要进行压缩的数据只存储在该符号表中,而不是在数据库行本身内。当在一个数据库行
中出现被标识为要压缩的数据时,该行在该符号表中存储一个指向相关数据的指针,而不是数据本身。节
约空间是通过删除表中数据值的冗余拷贝而实现的。

对于用户或应用程序开发人员来说,表压缩的效果是透明的。无论表是否被压缩,开发人员访问表的
方式都是相同的,
所以当你决定压缩一个表时,
不需要修改
SQL
查询。
表压缩的设置通常由数据库管理人
员或设计人员进行配置,几乎不需要开发人员或用户参与。

如何创建一个压缩的表

要创建一个压缩的表,可在
CREATE TABLE
语句中使用
COMPRESS
关键字。
COMPRESS
关键字
指示
Oracle
数据库尽可能以压缩的格式存储该表中的行。
下面是
CREATE TABLE COMPRESS
语句的一
个实例:

CREATE
TABLE
SALES_HISTORY_COMP
(

PART_ID

VARCHAR2(50)
NOT
NULL,

STORE_ID

VARCHAR2(50) NOT NULL,

SALE_DATE

DATE NOT NULL,

QUANTITY

NUMBER(10,2) NOT NULL

)

COMPRESS

;

或者,你可以用
ALTER TABLE
语句来修改已有表的压缩属性,如下所示:

ALTER TABLE SALES_HISTORY_COMP COMPRESS;

为了确定是否已经利用
COMPRESS
对一个表进行了定义,可查询
USER_TABLES
数据字典视图并
查看
COMPRESSION
列,如下面的例子所示:

SELECT TABLE_NAME, COMPRESSION FROM USER_TABLES;

TABLE_NAME

COMPRESSION

------------------

-----------

SALES_HISTORY

DISABLED

SALES_HISTORY_COMP

ENABLED

Create table me(shengao int32,tizhong

int ,zhangxiang verchar2(60)) compress;
Select table_name, compression from user_tables;
Select tablespace_name,def_tab_compression from user_tablespaces;
也可以在表空间级别上定义
COMPRESS
属性,
既可以在生成时利用
CREATE TABLESPACE
来定义,
也可以稍后时间利用
ALTER TABLESPACE
来定义。与其他存储参数类似,
COMPRESS
属性也具有一些
继承特性。当在一个表空间中创建一个表时,它从该表空间继承
COMPRESS
属性。为了确定是否已经利
用
COMPRESS
对一个表空间进行了定义,可查询
USER_TABLESPACES
数据字典视图并查看
DEF_TAB_COMPRESSION
列,如下面的例子所示:

SELECT
TABLESPACE_NAME,

DEF_TAB_COMPRESSION

FROM
DBA_TABLESPACES;

TABLESPACE_NAME

DEF_TAB_COMPRESSION

---------------

-------------------

DATA_TS_01

DISABLED

INDEX_TS_01

DISABLED

正如你所预计的那样,你可以在一个表空间直接压缩或解压缩一个表,而不用考虑表空间级别上的
COMPRESS
属性

❽ oracle能将表空间改小吗

首先磁盘不足,要现整理表空间(nalyze table t1 compute statistics;分析表,ALTER TABLE T1 SHRINK SPACE; --启动空间重组整理碎片 这个是回收高水位)这样你的表空间的存储会比较整齐,然后从新设置大小(alter database datafile '/xxx.dbf' resize 100M;)但是不能小于当前块使用的数据块大小。使用这个之前必须保证你的数据库属于一直状态(也就是设置一下检查点否则会报错。alter system checkpoint或者shutdown immediate 在startup ;保证数据库和谐)。最好还是重建表空间比较好。

❾ oracle表空间创建的太大了…怎么把表空间缩小,又不丢失数据 当初计划错误,在500GB的D盘

你可以先备份表空间,backup tablespace,然后resize,做任何改变之前先备份,避免酿成大错。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:1563
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1801
python中的init方法 发布:2025-10-20 08:17:33 浏览:1576
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:1665
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:1506
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1928
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:1088
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:1023
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:1653
python股票数据获取 发布:2025-10-20 07:39:44 浏览:1789