数据库管理每周一例-第十六期 生产环境需要注意的一些东西01

第十六期 生产环境需要注意的一些东西01

本周除了每天安全检查,相对来说,事情较少,周天正好要上班,正好吧本周的写了。

1.表空间

表空间是存放数据的地方,是由一个和多个数据库文件构成。这里不对表空间进行详细讲解,主要说以下几点:

1.小文件表空间和大文件表空间

在创建表空间的时候,不添加bigfile关键字创建出的表空间默认是小文件表空间,小文件表空间可以有多个最大为32GB的数据文件,最多包含1024个数据文件,最大32TB。而添加bigfile关键字后创建出来的就是大文件表空间,只能有一个数据文件,一般默认块大小为8K时,最大32TB。

create tablespace XXX datafile size ...;
create bigfile tablespace XXX datafile size ...;

一般来说,使用大文件表空间主要是看存放数据文件的介质(磁盘或者ASM磁盘组)是否有足够空间,或者应对特殊情况下数据暴增。

2.OMF

OMF,Oracle-Managed Files,Oracle文件管理,由db_create_file_dest参数控制,默认为空。
OMF未开始即参数为空时,创建表空间数据文件需要手动添加datafile位置及名称。在开启OMF后会在指定目录下的名称为SID的目录下,在创建表空间数据文件且不添加datafile位置和名称的情况下,自动创建数据文件并命名。

create tablespace XXX datafile '+data/xxx01.dbf' size ...;

alter system set db_create_file_dest='+data';
create tablespace YYY datafile size ...;
  --> +data/sid/yyyy.xxxxxxx

如果是多租户环境,则在指定目录/sid下还会创建PDB的文件目录,PDB的数据文件会在这里创建。

3.建表语句

我们在创建用户的时候,一般来说会配置用户的默认表空间和配额,那么在该用户创建表时,会默认使用配置好的默认表空间。但是如果不配置默认表空间,那么所有表都会创建在数据库默认表空间中,一般为USERS,这样会导致USERS管理不便、容量不要控制。
作为DBA,我建议,即使在配置了用户默认表空间的情况下,也要在建表语句和创建index时跟上tablespace关键字,指定表和索引存放的表空间。当然在一个用户下需要将不同表存在不同表空间的情况下,需要给该用户授权对应表空间配额。
之前一体机迁移的系统,就没有配置用户表空间的对应信息,导致了在迁移后前期出了很多问题。这个点需要大家注意。

2.db cache和share pool

这里不对db cache和share pool进行讲解,只是对二者的一些情况进行说明。对于一般的系统来说,开启ASMM情况下,SGA中db cache应大于share pool,但是有些情况下(还是比如一体机那个系统),PDB设置160GB的SGA情况下,share pool能达到110GB,这其实是一种不合理的现象。
造成share pool的原因主要有以下几点:未使用绑定变量或者用法不当、硬解析较多、库缓冲争用较多。从经验来看,绑定变量相关引起该问题比较多,这也是需要逐步在应用侧优化的内容。
在应用还未解决完成的情况下,还可以通过配置db cache大小的方式来确保有足够的db cache来缓存数据库。

下期预告:

待定

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖头鱼的鱼缸(尹海文)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值