不同版本之间的EXPDP/IMPDP

故障现象 将一个18c版本的dmp导入到11.2.0.4当中时出现报错 ORA-39000: bad dump file specification ORA-39142: incompatible version number 5.1 in dump file "/u01/schema_dump.dmp" 这是由于高版本导出的dmp文件在低版本数据库当中无法识别。 解决办法: 在导出语句里加上version=11.2即可 Example expdp scott/tiger@orcl directory=EXPIMP schemas=scott Version=11.2 dumpfile=Exp_Scott.dmp logfile=Exp_Scott.log 跨版本DATAPUMP 兼容性 依据数据泵的兼容性有一些准则: 数据泵dmp文件的兼容级别是由源数据库的兼容级别决定的 使用与源数据库同版本的e……

阅读全文

Zabbix Preprocessing

介绍 监控结果预处理可以用来定义和根据相应的规则来对采集到的数据进行转换,通过预处理管理进程来管理这些预处理,而具体的步骤则是由多个work进程来完成。 Preprocessing页可以对接收到的数据定义转换规则,可以允许一个或多个规则同时存在,之后才将转换后的数据写入到数据库。如果有多个规则存在,则会按照定义的顺序来依次进行转换。Preprocessing可以……

阅读全文

JSON in Oracle

JSON(JavaScript Object Notation,JavaScript对象表示法,读作/ˈdʒeɪsən/)是一种由道格拉斯·克罗克福特构想和设计、轻量级的数据交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。尽管JSON是JavaScript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一……

阅读全文

18c private temporary table

oracle中临时表很常见,它是用来只在一个事务或者会话时间段内存放临时数据的表。临时表中的数据对于会话来说是私有的,每个会话只能看到和处理它自己的临时数据。 临时表 在18c以前,我们所碰到的临时表一般都成为全局临时表,都是通过CREATE TEMPORARY TABLE的方式新建,所有的会话都能看到这个临时表的字典信息。而从18c开始引入了一种新的临时表,成为私有临时表,只有会……

阅读全文

Zabbix API批量新增用户

给zabbix配置完LDAP验证,但是需要提前在zabbix中建好用户,这个就会比较麻烦一点,AD域中的用户好几千人,而涉及到IT的也有2 300人,加上配置邮箱、手机号等,很明显工作量巨大。 由于对python和LDAP都不太熟悉,研究了几天没想出如何从直接从ldap将用户信息同步到zabbix,但刚好在另外一套系统中发现了有将ad域账号落地到数据库的情况,于……

阅读全文

zabbix告警优化

目前新zabbix系统添加了1300多台监控设备,3W多个触发器,每天的告警也是满天飞,造成了有用的信息通常淹没在了告警风暴当中。由于目前都采用的短信告警,成本上也是一笔不小的开支,所以就很必要对告警进行优化。 主要思路 告警依赖 有时候一台主机的可用性依赖于另一台主机。如果一台路由器宕机,则路由器后端的服务器将变得不可用。如果这两者都设置了触发器,你可能会收到关……

阅读全文

expdp导出表ORA-01555错误

有同事碰到一个问题,在导出一个很小的库时有三张表都提示报错,而其他对象都导出正常。 ORA-02354: error in exporting/importing data ORA-01555: snapshot too old: rollback segment number with name " " too small ORA-22924: snapshot too old 这里的报错有点奇怪,因为库才10个g,undo表空间配置了32g,导出时基本无业务运行,按常理不会出现回滚段不足的情况。检查这三张表都包含有lob字段,怀疑是跟这有关,后来结果确实是lob字段数据有异常,处理完后即可顺利导出,现在重现……

阅读全文

oracle buffer cache

Granules 从10g开始引入了ASMM的功能,oracle会自动管理各个模块内存的使用,而granules则是oracle用于使用共享内存区域的最大内存单元。 在oracle的sga中,数据块都会读入到buffer cache这块内存区域当中,如果启用了ASSM,share pool中的部分区域会标记为KGH:NO ALLOC然后重新映射到buffer cache当中去,这是o……

阅读全文

12c中维护多分区

12c中可以很方便的通过简单的语句同时操作多个分区,其中包括drop和truncate多个分区,多个分区合并成一个,一个拆分成多个。 DROP/TRUNCATE多个分区 从12c开始可以用一个单独的语句就能维护多个分区,比如drop或truncate多个分区,不过如果表含有域索引,则只能一次删除或截取一个分区。执行这些操作时,分区里的数据也会被清除,如果你想保留……

阅读全文

12c rman从备份集中active duplicate

12c以前的版本中,ACTIVE DUPLICATE进程使用生产库的进程通过网络将镜像副本发送到辅助库,这会是一个很消耗时间的任务,因为复制进程是直接按照源库大小相同比例进行复制。而在现在的12c中,数据库复制进程可以使用备份集来代替镜像副本。那么需要传输的数据库大小就会大幅度减小,因为RMAN备份的时候会跳过没有使用的块和已经提交了的回滚块等。同时也可以使用……

阅读全文