很多人不喜欢omf,包括我。但是我给大家讲个故事,在这个故事中,我们可以看到使用omf的重要性。因为在使用omf的情况下,也就不会发生下面的场景。 在一个夜黑风高的夜晚,客户的生产库某个数据文件在晚上突然之间消失了,数据库crash。 数据文件是在asm的+DATA diskgroup上,在数据库和 […]
Sysdate from dual does not match first_time from v$log
故事最开始的起因,是监控发现v$log中的first_time时间,显示的是昨天的时间。而登录数据库检查sysdate是正常的时间。 我们可以模拟出来下面的故障: session 1,用 TZ=EST5EDT起库,此时,可以看到v$log中的FIRST_TIME是12小时之前的。 [crayon-6 […]
减少rman备份对OLTP系统的影响
rman的备份,我们平时总是希望越快越好。 但是有时候,rman的备份会撑爆HBA卡的流量,严重影响生产系统。在一个大的cluster中,有17个db,当13个db发起rman备份的时候,主机上的HBA卡流量几乎被撑爆了,几乎所有的IO操作都不可进行了。 所以,我们要想办法让rman“慢”一些,减少 […]
同字符集impdp报错ORA-01401
客户有个数据库从HP平台迁移到linux平台,字符集相同。impdp的时候报错ORA-01401了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Processing object type SCHEMA_EXPORT/SYNONYM/SYNONYM Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE Processing object type SCHEMA_EXPORT/SEQUENCE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type SCHEMA_EXPORT/TABLE/TABLE ORA-39083: Object type TABLE:"MYORDATA"."ASS_ACCHSHT_GREEN_MEMORY" failed to create with error: ORA-01401: inserted value too large for column Failing sql is: CREATE TABLE "MYORDATA"."ASS_ACCHSHT_GREEN_MEMORY" ("GROUP_ID" VARCHAR2(16 BYTE) NOT NULL ENABLE, "ACCOUNT_ID" VARCHAR2(16 BYTE) NOT NULL ENABLE, "ADDED_BY" VARCHAR2(100 BYTE), "ADDED_DATE" VARCHAR2(16 BYTE) DEFAULT sysdate) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 M ORA-39083: Object type TABLE:"MYORDATA"."ASS_ACCHSHT_GREEN" failed to create with error: ORA-01401: inserted value too large for column Failing sql is: CREATE TABLE "MYORDATA"."ASS_ACCHSHT_GREEN" ("GROUP_ID" VARCHAR2(16 BYTE) NOT NULL ENABLE, "MATRIX_ID" VARCHAR2(16 BYTE) NOT NULL ENABLE, "GROUP_NAME" VARCHAR2(100 BYTE) NOT NULL ENABLE, "B ENCHMARK_ID" VARCHAR2(16 BYTE), "GROUP_TYPE" VARCHAR2(2 BYTE), "STATUS" VARCHAR2(1 BYTE), "ADDED_BY" VARCHAR2(100 BYTE), "ADDED_DATE" VARCHAR2(16 BYTE) DEFAULT sysdate, "U ORA-39083: Object type TABLE:"MYORDATA"."ASS_QUITTK_GREEN" failed to create with error: ORA-01401: inserted value too large for column Failing sql is: CREATE TABLE "MYORDATA"."ASS_QUITTK_GREEN" ("GROUP_ID" VARCHAR2(16 BYTE) NOT NULL ENABLE, "GROUP_NAME" VARCHAR2(100 BYTE) NOT NULL ENABLE, "CREATE_BY" VARCHAR2(100 BYTE), "CREATE_DATE" VARC HAR2(16 BYTE) DEFAULT sysdate, "UPDATE_BY" VARCHAR2(100 BYTE), "UPDATE_DATE" VARCHAR2(16 BYTE) DEFAULT sysdate) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA |
不仅仅是在导表结构+数据的时候报错,单独导metadata的时候,也报上面的错。 正常情况下,ORA-01401是因为做insert […]
Listener中rate_limit参数的一些说明
(一)参数说明: (1). rate_limit参数从9.2.0.8引入,可以用来控制连接风暴。rate_limit后面跟的参数是允许每秒连接的个数,配置完成后,需要stop/start listener生效。如下:
1 2 3 4 5 6 7 8 9 |
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host.sample.com)(PORT = 1521)(RATE_LIMIT=5)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host.sample.com)(PORT = 1522)) ) ) |
上面的配置表示1 […]
Bigfile tablepsace+pre-allocation cause issue
很多新特性,在设计之初是好的,但是在实际使用的过程中,往往会遇到各种问题。如在11g中的pre-allocation的新特性,有SMCO进程swap出Wnnn进程,来对空间进行预分配。 在这里有2个隐含参数:
1 2 |
1. _enable_space_preallocation 在11g中默认值是3,它可以使表空间在接近100%进行扩展,。 2. _kttext_warning 默认值为5。表示扩展的大小为当时表空间大小的5% |
但是,当预分配的特性遇到 […]
审计ORACLE程序文件是否被修改
最近在迎接安全审计,其中有一条需求是: 文件完整性检测对应数据库为安装的程序文件、配置文件(排除数据文件、日志文件) 也就是需要定期对数据库软件的重要文件做内容校验,避免重要文件被篡改。 整体思路是: 1. 由于oracle的文件太多,我们假设重要的可执行文件目录为$ORACLE_HOME/bin和 […]
Direct IO+asm引起css initialization
某数据库升级到12c后(应用代码也升级了),出现了大量css initialization的等待:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SQL> select event,sql_id,count(*) from v$session where event='CSS initialization' group by event,sql_id; EVENT SQL_ID COUNT(*) ---------------------- ------------- ---------- CSS initialization 1qkdw0dtyjydf 5 CSS initialization 2g9g4as2nasad 1 CSS initialization 5r5mwAS0m4mxq 1 CSS initialization 712df0y5u236f 529 CSS initialization aasd9k80jrvax 342 CSS initialization a4uvs112123q6 1 CSS initialization c5ax6wp98nam4 1 CSS initialization fsadasd6asd12 4 |
怀疑是否是12c的新特性导致。 CSS initialization 说明: 在RAC(或使用ASM的单实例)数据库环境下,当前台进程 […]
无法修改xs$null用户密码
修为安全审计的原因,发现数据库中有一个XS$NULL用户,尝试为其修改密码,发现报错。即使是sys用户也无法修改XS$NULL用户的密码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
SQL> --11.2.0.4 SQL> alter user XS$NULL identified by oracle; alter user XS$NULL identified by oracle * ERROR at line 1: ORA-01031: insufficient privileges SQL> --12.1.0.2 SQL> alter user XS$NULL identified by oracle; alter user XS$NULL identified by oracle * ERROR at line 1: ORA-28222: may not modify reserved user SQL> |
在线文档说,这是一个内部的保留账户,它不是一个user,只允许oracle实例访问,无法通过外 […]
12c的asm中混搭11g DB和12c DB,报错ora-600[kfnSlaveGroupUse]
客户的一个数据库,是12c的cluster环境,这个环境中有11g的db和12c的db。当客户准备在一个diskgroup上的数据库拉起来的时候(这个cluster是放多个测试库,是从几十个生产库的disk通过存储级复制的方式,集中起来的。生产库那边一个cluster只有一个database,只有2 […]
SP2-0642: SQL*Plus internal error state 2130, context 0:0:0
今天一个10g的客户端,连接12c的数据库,报错:
1 2 3 4 5 6 7 8 |
sqlplus user/passwd@10.11.22.33:1525/mysrv SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jun 11 10:05:29 2009 Copyright (c) 1982, 2007, Oracle. All rights reserved. SP2-0642: SQL*Plus internal error state 2130, context 0:0:0 Unsafe to proceed |
而这个客户端连接其他12c的数据库是没有问题的。 这是因为建立的service已经是非标准的service,包含了failover type等参数。见下面的Test Case: [c […]
10g之后支持中文逗号作为查询分隔符
客户的开发在12c的测试库发版本(SQL代码),能顺利发布,但是在10g库发布同样的一套代码,却报错ora-911了。发现是代码中带有中文的逗号。所以他们希望确认一下,为什么12c能用中文逗号做分隔符,而10g不支持。 这是12c的新特性吗?有官方文档支撑吗? 测试了一下,确实在10g报错,但是12 […]