第一范文网 - 专业文章范例文档资料分享平台

unix 数据库 学习 笔记

来源:用户分享 时间:2025/5/23 6:22:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数据压缩与空间回收.docx

详细介绍见此附件 总结如下 压缩前提: ? ? ? ?

如果是分片表,每个表分片中都要至少有2000行数据 账户必须有DBA权限 逻辑日志需要配置的尽量大些

分片表压缩后,如果分片策略有变动,需要重新压缩,所以分片经常有滚动的表最好不要压缩 1、压缩预估

execute function sysadmin:task('table estimate_compression','tal_mr_3117_trx') 2、创建字典

execute function sysadmin:task('table create_dictionary','tal_mr_3117_trx') 3、压缩

--压缩之前一定要先打开压缩功能,如果只进行碎片整理、释放空间、压缩预估则不需打开次功能

execute function sysadmin:task(‘enable compression');

execute function sysadmin:task('table compress','tal_mr_3117_trx') 4、 碎片整理

execute function sysadmin:task('table repack','tal_mr_3117_trx') 5、释放空间

execute function sysadmin:task('table shrink','tal_mr_3117_trx') 6、解压缩

execute function sysadmin:task('table uncompress','tal_mr_3117_trx')

也可以使用以上命令的组合,例如

execute function sysadmin:task('table repack shrink','tal_mr_3117_trx') 该命令先进行碎片整理,然后释放多余空间

或者如下

execute function sysadmin:task('table compress repack shrink','tal_mr_3117_trx') 该目录压缩该表后,整理碎片,释放空间

我们可以使用 onstat – g dsk 命令来跟踪当前正在执行的压缩操作的活动状态 下面例子显示了 onstat – g dsk 命令输出信息:

partnum

表或表分区的分区号 OP

下边标志标识执行压缩的不同操作: 1 = create_dictionary 2 = compress 4 = repack 8 = repack_offline 16 = shrink 32 = uncompress 64 = uncompress_offline 128 = estimate_compression 256 = purge_dictionary

Onstat –g ppd 查看压缩版的字典信息

如何大批量转移数据

1、 开启PDQ

2、 使用raw模式, 注:此模式不使用逻辑日志,无法恢复,此模式插入数据大概2w行/s Alter table tpa_perf_eventcollection_timeTYPE(RAW); SET PDQPRIORITY 30;

insert into tpa_perf_eventcollection_time select * from tpa_perf_eventcollection_time_old where scan_start_time>='2010-09-17 00:00:00'; SET PDQPRIORITY 0;

Alter table tpa_perf_eventcollection_timeTYPE(STANDARD);

UPDATE STATISTICS for table tpa_perf_eventcollection_time; drop table tpa_perf_eventcollection_time_old;

Informix隔离等级 Isolation Level

?

Dirty Read

脏读,该隔离级别不会主动设置锁也不受锁限制,即无论有没有锁,总能读到取数据。 在非事物型数据库中,脏读是唯一的隔离级别。这种隔离级别非常适合表数据不变的静态表,因为这不需要隔离。程序中用脏读很有可能读取到其他事物中未提交的行,这些已插入的行有可能之后会回滚,或者读取到幻想行,即在某个事物中第一次没有读取到这些行,但在此事物中后面的查询中突然出现(只有 Repeatable Read 隔离级别能防止读取到幻想行,只有脏读Dirty Read隔离级别能读取到未提交的有可能回滚的行); 使用可选项WITH WARNING关键字,在DML操作使用Dirty Read返回未提交行或者幻想行时,可使数据库发出警告,使用示例如下: BEGIN WORK;

SET ISOLATION TO DIRTY READ WITH WARNING; ...

COMMIT WORK;

Dirty Read 隔离级别对配置文件或者环境变量中的USELASTCOMMITTED参数敏感 ?

Committed Read

使用Committed Read隔离级别可以确保读取的每一行都是已提交的,此隔离级别对所取的行不上锁,该级别是事务性数据库的默认隔离级别。

Committed Read隔离级别适合于每一行可以作为一个独立处理单元的表,和该表其他行或者其他表无引用关系。

如果Committed Read隔离级别要读取的数据已被其他会话上锁,并且是独占行锁(exclusive row_level),则该事物会报锁错误或者等待直到上锁的会话提交或者回滚之后才能读取数据(取决于事物中设置的锁等待模式)

如果遇到上述情况,使用可选项 LAST COMMITTED关键字,可以使数据库离开返回这些行最近提交的版本,而不是等待锁被释放。

? Cursor Stability

游标稳定隔离级别,可以在获取的行上防止共享锁,当获取另一行或关闭游标时释放锁。其他进程也可以在同一行上防止共享锁,但是没有进程可以设置互斥锁以修改行中的数据。当程序基于其从行中读取的数据更新另一个表时,这样的行稳定性就相当重要了。

如果将隔离级别设置为游标文档,但是如果没有使用事物,则游标稳定隔离级别会被当做Committed Read隔离级别 ? Repeatable Read

可重复读取隔离级别,该级别会在事物期间选择的每行上放置一个共享锁,另一个进程也可以在选定的行上放置共享锁,但是没有其他进程能够在事物期间修改任何选定的行或插入符合事物期间查询搜索条件的行。若在事物期间重复查询,必定能获取到相同的行数据。共享锁仅在事物提交或回滚时才会释放。 Repeatable Read在符合ANSI的数据库中是缺省的隔离级别。

Repeatable Read放置的锁数目最多,并且锁保持时间最长。因此,该隔离级别会减少数据库的并发性。 ?

缺省隔离级别 当数据库创建时,会默认使用缺省隔离级别,以下列表描述不同数据库类型的缺省隔离

数据库类型 非事务性数据库 不符合ANSI标准的事务性数据库 符合ANSI标准的数据库 级别。 隔离级别 Dirty Read Committed Read Repeatable Read 导出数据库信息

导出数据库中所有的表结构到文件db.sql

$>dbschema -d your_database -t all db.sql 2)导出数据库中所有的存储过程到文件db.sql

$>dbschema -d your_database -f all db.sql

3)导出数据库中的所有对象(包含表,存储过程,触发器。。。)到文件db.sql $>dbschema -d your_database db.sql

4)导出数据库中一个表的结构到文件db.sql

$>dbschema -d your_database_name -t your_table_name db.sql 5)导出一个存储过程定义到文件db.sql

$>dbschema -d your_database_name -f your_procedure_name db.sql 6)如果导出更多的表的信息(EXTENT...)

$>dbschema -d your_database_name -ss db.sql 7)导出数据库中对用户或角色的授权信息 $>dbschema -d your_database_name -p all $>dbschema -d your_database_name -r all 8)导出数据库中的同义词

$>dbschema -d your_database_name -s all

搜索更多关于: unix 数据库 学习 笔记 的文档
unix 数据库 学习 笔记.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6saio6ky9d4zk8m0i2aj_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top