此时将会报错 ORA-00937: 不是单组分组函数— 解释意思为: select语句中又在查询某一列的值,其中还有聚合函数。oracle数据库都要疯了。。
ORACLE数据库表示的错误,通常由3个字母加上5个数字来组成,如:ORA-nnnnn,TNS-nnnnn等,其中:
范例:查询出部门人数大于 5 人的部门 分析:需要给 count(ename)加条件,此时在本查询中不能使用 where,可以使用 HAVING
这种错误报告通常使用聚合函数,如count和sum,但不使用groupby来声明分组模式。
alter system set db_recovery_file_dest_size = 600G;
最直观的做法,就是truncate表。首先truncate各个子表,但是当执行truncate主表的时候,提示错误,ORA-02266: unique/primary keys in table referenced by enabled foreign keys。
针对如下这条SQL,使用了row_number()函数,但外层使用了rownum,
作为一名DBA,必须知道告警日志是什么,在何处。实时的监控数据库的告警日志是必须进行的工作。监控并且根据不同的告警级别,通过邮件或短信发送告警信息给DBA,这可以帮助DBA及时了解数据库的变化与异常,及时响应并介入处理。
随着业务的发展,服务越来越多,相应地,日志的种类和数量也越来越多。一般地,我们会用grep、awk,或者编写脚本进行日志分析。对于多个服务构成的系统,需要人为把这些日志分析工作有机地结合起来。在业务系统组件多而组件间关联复杂的情况下,这种分析方法效率十分低下,一个日志分析平台极为必要。从日志的整合和展示看,日志分析平台主要由两部分构成,一是日志整合系统,负责把各组件日志集中并索引起来,以方便快速的搜索和分析,这可以用ELK开源软件进行搭建;二是日志分析展示系统,对各类日志提供尽可能多的自动化分析和评估报表,这需要辨识并固化尽可能多的日志分析的行为模式。这些都基于对ELK的认识和对业务系统各组件日志的理解。
使用group by column1,column2,..按columm1,column2进行分组,即column1,column2组合相同的值为一个组
最近在为Oracle单实例配置ASM时,做了一些调整,结果导致sys用户无法以操作系统身份验证登陆,即提示ORA-01017错误。本文描述了这个故障的解决过程,供大家参考。
测试环境突然一个节点的数据库无法启动,报错很清楚,找不到控制文件,而控制文件在ASM上,第一个节点正常,下面是处理流程。
使用工具的目的是为了提高工作效率, 先有思路和方法,然后再借助工具,方能达到事半功倍的效果.
在Oracle中,RAC环境下“ALTER SYSTEM SWITCH LOGFILE;”与“ALTER SYSTEM ARCHIVE LOG CURRENT;”有什么区别?
我们这里简单的以ORA - 942 table or view does not exist为例
expdp/impdp是10g推出的导入导出工具,9i下是没有该工具的,有人提议用10g的expdp,通过dblink导出9i的数据,乍一听感觉是那么回事,但究竟行不行,咱们实验说明。
环境: Oracle 19.16 ADG (Single Instance -> RAC) 在配置ADG的场景,发现ADG不能同步。
墨墨导读:将测试数据库的数据清空,其中涉及主子表的关系,执行truncate产生的ORA-02266问题处理过程。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
在测试环境中,服务器和数据库实例真是多得数不胜数,自己也没有下意识去记住那个数据库实例在哪个服务器上,都是出了问题直接连过去解决。 这么多的数据库实例需要管理,表空间的监控是极为重要的,一般来说都会在给表空间设定一个阀值,比如说表空间剩余10%,20%等等,超出了阀值就会自动发送邮件,提醒DBA去做相应的处理,表空间监控如此,文件系统监控也是类似的思路。 最近处理了一些紧急的问题,看似是很小的问题,但是比较折腾人,比如说表空间超出了阀值,就会发送警告邮件,这个时候DBA就会连过去,处理问题的思路就是添加数据
最近在还原Oracle数据库后open的时候碰到了ORA-00392: log 3 of thread 1 is being cleared, operation not allowed,其字面含义则是日志文件正在被清除,不允许操作。通常情况下,当我们基于不完全恢复的时候,日志文件需要被清空,而此时是正在被清空。不是很好理解啊。下面是这个问题的解决方案。 一、故障现象 SQL> alter database open resetlogs; alter database open resetlogs *
工欲善其事,必先利其器。如果我们能花点时间把每天工作都要用到的SecureCRT软件设置的舒服一些,日后工作起来也是会心情愉悦、事半功倍的。
{ORDERBY 排序字段 ASC|DESC,排序字段 ASC|DESC,……}
上周,曾老师给了我一个8个样本8个组别的转录组数据,即每组只有一个样本的转录组数据。我的处理方式是从中抽取两组进行差异分析,与文中描述的显著差异基因数目以及文中指出的差异基因进行比较,看看分析结果是否大致相同。但是,其实我有些没有理解到老师的意思。老师的初衷是想同原文一样批量绘制「同个部位」两两组别间的差异分析结果,看看其差异基因数量的分布,然后进行比较。在看到我理解偏差后,老师还飞快地给我提供了单样本批量差异分析的脚本。「因此,本周我们主要重点展示如何批量进行单样本差异分析以及批量绘制火山图并拼图」。
升级生产的DB,有一些预检查条件,这些需要提前修复,以便在升级的时候不会成为影响进度的绊脚石。 生产中的components有一些显示是invalid状态,从dba_registry中可以查到。 select comp_id,comp_name,status,version from dba_Registry; 还有一些显示是loading. COMP_ID COMP_NAME VERSION
在zabbix中有了orabbix的辅助,监控效率大大提高,但是因为orabbix是基于jdbc的方式,有些监控还是有一些限制。 比如dataguard的检查,如果采用dg broker来检查,效果就更直观也更可信。 DGMGRL> show configuration; Configuration - csdb Protection Mode: MaxPerformance Databases: test- Primary database stest- Physical stan
--================================================
Keyword: ORA-01017 12.2 authentication SQLNET.AUTHENTICATION_SERVICES sec_case_sensitive_logon
环境:OEL 5.7 + Oracle 10.2.0.5 背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的。本文的场景可以通过复制控制文件到新路径,运行一段时间后,再用老的控制文件启动数据库重现。
最近同事问我一个问题,是关于一个update语句的问题,需求有点特别,结果在使用update语句尝试了各种方法后,仍然是不依不饶的报出ORA-01779的错误。今天专门花时间分析了一下这个问题,还是有些收获。 为了说明问题,我们先来看两组数据 有两个表data,link,现在希望更新data表中的amount列值,和link表的credit_class做关联。 如果data.credit_class=link.credit_class,就直接把data.amount修改为link.score。 逻辑的难点是
binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64)
很多时候需要在触发器中对触发表进行查询,但在行级触发器中是不允许的。触发器中SQL的语句不能进行如下操作:
开源分析数据库ClickHouse以快著称,真的如此吗?我们通过对比测试来验证一下。
在做一套库的迁移准备,测试的时候有些异常,记录一下处理办法。 如果有处理不对的地方,请不吝赐教。
五一放假期间,某客户的数据库出现故障,据说对方找了一些工程师折腾了一天,都无法将数据库open,其中参考了网络上的很多文章,也使用了一系列隐含参数,均无法将数据库打开。这里我简单的与大家分享一下这个c
关于drop database在oracle中是致命的操作,这个操作自己在测试环境中体验过,会完全删除数据文件,因此这个操作非常敏感但是实用性不强,不过话说过来,这个操作也不是随便就能执行的,除了操作敏感的权限之外,其实还是有一些前提条件的。 在数据库open状态,是无法运行这个命令的。 SQL> drop database TEST; drop database TEST * ERROR at line 1: ORA-00933: SQL command not properl
最近数据库从10.2.0.3升级到了10.2.0.5之后,一些对象无法编译通过。查看了这些对象主要表现在之前写法不严格的SQL语法导致了这些package无法成功编译,诸如select查询列中不能使用混淆的列名称等。另外一个比较表现突出的是返回ORA-00932: inconsistent datatypes: expected - got CLOB错误,即不一致的数据类型,获得CLOB数据类型。下面是这个问题的症状及对策。
上述为这里我做为演示环境的基本规划。 本文作为step by step的快速指导手册,方便快速部署此类ADG环境。
X86-64 架构,Kernel Ver:Centos7 3.10.0-693.el7.x86_64
目前,我有一套正常运行的Oracle 11.2.0.4 RAC实验环境。这是一套VirtualBox的虚拟化环境,整套环境均放在我的台式机服务器的D盘(SSD固态盘)。也就是说,这套RAC环境的系统磁盘和共享磁盘均在本地D盘。
https://dev.mysql.com/doc/refman/5.7/en/group-replication-getting-started.html
本文作者系大连健哥, POSTGRESQL、ORACLE 数据库资深从业人员、IT 技术的深度爱好者。相信科学改变人类、技术创造未来。个人主页:https://www.cnblogs.com/gaojian/,经其本人授权发布。
链接:http://www.eygle.com/archives/2010/06/asm_format_dictionary.html
我对触发器,了解非常有限,只能试着来,乍一看判断空,即NULL,是不能用“=”,需要使用IS NULL/IS NOT NULL,改了一下,执行报错,
本文适用于普通的标准的 8k 块大小的 Oracle 企业版数据库,10g、11g、19c 均可适用,但对于 ODA,一体机可能有所区别,请慎重使用。
起因是在某红队项目中,获取到Oracle数据库密码后,利用Github上的某数据库利用工具连接后,利用时执行如 tasklist /svc 、net user 等命令时出现 ORA-24345: 出现截断或空读取错误,且文件管理功能出现问题,无法上传webshell,因此萌生了重写利用工具的想法。
6.2、其他节点加入MGR,在从库(172.72.0.16,172.72.0.17)上执行
一、创建3台MySQL环境 二、修改MySQL参数 三、重启MySQL环境 四、安装MGR插件(所有节点执行) 五、设置复制账号(所有节点执行) 六、启动MGR单主模式 6.1、启动MGR,在主库(172.72.0.15)上执行 6.2、其他节点加入MGR,在从库(172.72.0.16,172.72.0.17)上执行 七、多主和单主模式切换 7.1、查询当前模式 7.2、函数实现多主和单主切换 7.2.1、单主切多主模式 7.2.2、多主切单主模式 7.3、手动切换 7.3.1、单主切多主模式 7.3.2、多主切单主模式 八、测试同步 九、MGR新增节点 9.1、创建新MySQL节点 9.2、新节点安装MGR插件 9.3、新节点设置复制账号 9.4、在原3节点执行修改参数 9.5、新节点加入 9.6、查看所有节点 十、重置MGR配置
领取专属 10元无门槛券
手把手带您无忧上云