导航:首页 > 文件处理 > oracle11g表空间压缩

oracle11g表空间压缩

发布时间:2022-06-20 22:55:41

A. 数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展

sql语句

1.查询表空间大小

select tablespace_name , sum(bytes/1024/1024) sizeM from dba_data_files group by tablespace_name ;

2.设置数据文件为自动拓展

alter database datafile n autoextend on ;


不知道你说的两个东西有什么关联性。


下面是设置全部数据文件为自动拓展的plsql匿名块:

begin
forrecin(selectfile_id,autoextensiblefromdba_data_fileswhereautoextensible='NO')loop
executeimmediate'alterdatabasedatafile'||rec.file_id||'autoextendon';
endloop;
end;

B. oracle11g 表空间最大多大

在oracle11g中引进了bigfile表空间,他充分利用了64位CPU的寻址能力,使oracle可以管理的数据文件总量达到8EB。单个数据文件的大小达到128TB,即使默认8K的db_block_size也达到了32TB。

创建bigfile的表空间使用的sql语句也很简单。

create bigfile tablespace...

后面的语句和普通的语句完全一样。

C. oracle11g怎么建立压缩

在数据量变的很大的情况下,可以考虑表压缩,减少磁盘的存储,减少buffer cache的消耗,加快查询的速度,压缩需要在数据加载和dml的时候消耗一些cpu.表压缩对于应用是透明的。

你可以在表空间,表或分区级别指定压缩,如果在表空间级别指定压缩,那么这个表空间中的所有表默认都是压缩的。

压缩会发生在数据插入,更新或批量加载到表时。有几种类型的压缩。基本的,oltp的,dss的,归档的。他们的cpu消耗见文档。

当使用基本压缩,数据仓库压缩,或归档压缩的时候,压缩仅仅是在批量加载到一个表的时候发生。当你使用了oltp压缩,压缩发生在数据插入,更新,批量加载。

如果你使用了alter table命令让表启用压缩,那么对于已存在的数据是不受影响的,只有在启用压缩后的插入,或更新会受影响。也可以使用ALTER TABLE…NOCOMPRESS将一个表设置成非压缩,对于已经的压缩的表是没有影响的,压缩的数据还是压缩的,只是新插入的数据是不被压缩。

创建一个oltp压缩类型的表
CREATE TABLE orders … COMPRESS FOR OLTP;

如果你不指定压缩的类型,那么默认的情况下是基本压缩类型。下面的2个语句是等价的。
CREATE TABLE sales_history … COMPRESS BASIC;

CREATE TABLE sales_history … COMPRESS;

下面的表是一个数据仓库压缩类型的表,对于经常查询,并且没有dml的表适用。
CREATE TABLE sales_history … COMPRESS FOR QUERY;

创建一个归档压缩类型的表
CREATE TABLE sales_history … COMPRESS FOR ARCHIVE;

表可以包含压缩和非压缩的分区,并且不同的分区的压缩的类型可以是不同的,如果在分区上指定的压缩的类型与表上指定的压缩的类型不同,那么分区上的优先。

查看表是否是压缩的,及分区是否是压缩的。
SQL> SELECT table_name, compression, compress_for FROM user_tables;

SELECT table_name, partition_name, compression,compress_for
FROM user_tab_partitions;

查看表中的行是什么压缩类型
SELECT DECODE(DBMS_COMPRESSION.GET_COMPRESSION_TYPE(
ownname => ‘HR’,
tabname => ‘EMPLOYEES’,
row_id => ‘AAAVEIAAGAAAABTAAD’),
1, ‘No Compression’,
2, ‘Basic or OLTP Compression’,
4, ‘Hybrid Columnar Compression for Query High’,
8, ‘Hybrid Columnar Compression for Query Low’,
16, ‘Hybrid Columnar Compression for Archive High’,
32, ‘Hybrid Columnar Compression for Archive Low’,
‘Unknown Compression Type’) compression_type
FROM DUAL;

修改压缩的级别

如果表是分区表,使用在线重定义可以修改表的压缩级别。如果表是分分区表,那么可以使用alter table ..move.. compress for语句修改表的压缩级别,这个语句会阻塞dml操作。

对于压缩表的限制:
1基本压缩,你不能为添加的列指定默认的值。删除列是不被支持的。
2oltp压缩,如果要添加一个带默认值的列,那么需要指定not null,可以删除列,但是数据只是在内部做了一个不被使用的标记而已。

3在线段收缩是不被支持的。

4上面的压缩的方式不适合于lobs类型,他们有自己的压缩方式。

5基本压缩类型的表的pct_free参数自动的设置成0.

在上面的描述中可以看到对于基本类型的压缩,没有使用直接路径插入的行及更新的行是不会被压缩的。对于我们的oltp系统基本是没有用处的,只测试下oltp的压缩方式,这种方式对于没有使用直接路径插入的行及被更新的行都会压缩。

SQL> select count(*) from xyu2;

COUNT(*)

22096384

SQL> set serveroutput on
SQL> exec show_space(‘BAIXYU2’,’T’,’AUTO’);
Total Blocks……………………….334336
Total Bytes………………………..2738880512
Unused Blocks………………………1916
Unused Bytes……………………….15695872
Last Used Ext FileId………………..4
Last Used Ext BlockId……………….671872
Last Used Block…………………….6276

CREATE TABLE xyu3 COMPRESS FOR OLTP as select * from xyu2;

SQL> exec show_space(‘BAIXYU3’,’T’,’AUTO’);
Total Blocks……………………….107520
Total Bytes………………………..880803840
Unused Blocks………………………112
Unused Bytes……………………….917504
Last Used Ext FileId………………..4
Last Used Ext BlockId……………….116224
Last Used Block…………………….912

看到使用的块由33w下降到10w。压缩效果还是不错,但是是否使用还要结果上面的限制来根据实际情况评估。

D. oracle11g 如何扩展表空间

在E盘增加一个数据文件就行了。
alter tablespace user add datafile 'e:\ext.dbf' size 2000M autoextend on

E. 怎么扩大某个表的表空间 oracle11g

数据表的空间在增加记录时自动扩展

增加表空间的方法有以下几种

Meathod1:给表空间增加数据文件

ALTERTABLESPACEapp_dataADDDATAFILE
'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP03.DBF'SIZE50M;



Meathod2:新增数据文件,并且允许数据文件自动增长

ALTERTABLESPACEapp_dataADDDATAFILE
'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP04.DBF'SIZE50M
AUTOEXTENDONNEXT5MMAXSIZE100M;



Meathod3:允许已存在的数据文件自动增长

ALTERDATABASEDATAFILE'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP03.DBF'
AUTOEXTENDONNEXT5MMAXSIZE100M;



Meathod4:手工改变已存在数据文件的大小

ALTERDATABASEDATAFILE'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP02.DBF'
RESIZE100M;

F. oracle 11G数据库文件大小

你有test.dmp了,很简单的
首先在目标机器上安装数据库
然后在目标数据库上执行导入命令
例如
目标数据库的使用的用户名是lxy,密码dbasec,导入的文件是d:\test.dmp
将原库的olser的表导入到新库的newuser名下,原库的表空间是abc,新库的表空间是def
remap_schema和remap_tablespace
是可选的
impdp
lxy/dbasec
mpfile=d:\test.dmp
remap_schema
=
olser:newuser
remap_tablespace=
abc:def,

G. 请问oracle 11g 创建300G表空间需要多长时间啊

这个要根据你的存储IO来估算。

建议不要创建一个300G的数据文件给该表空间使用,而是分成多个小数据文件进行。

如果要创建300G一个数据文件,大概需要挺长时间,我感觉30分钟吧。

H. oracle11g表空间和数据文件不能大于32g是指单个表空间还是单个数据文件不能大于32g

单文件不能超过32G,一个表空间可以有多个文件(多个32G文件)

阅读全文

与oracle11g表空间压缩相关的资料

热点内容
查魔兽服务器ip地址 浏览:116
安卓4为什么被淘汰 浏览:855
想买一个阿里云的服务器要多少钱 浏览:406
从程序员到架构师之路 浏览:545
androidui架构 浏览:470
元通炒股公式源码 浏览:955
酯化循环气压缩机用什么驱动 浏览:54
java搜索图片 浏览:567
dns服务器地址总是自动变换 浏览:966
android数据包开发 浏览:209
k邻近搜索算法brute 浏览:289
微软云如何开服务器 浏览:25
心体与性体pdf 浏览:192
phpnullisset 浏览:788
加密相册解密到照片库在哪 浏览:371
php变量前加 浏览:809
缓解压力最好的坐垫 浏览:138
51单片机ret 浏览:777
python广度优先有向权值图 浏览:874
程序员是技术 浏览:252