摘要:在 SQL 开发中,NULL 和空字符串('')的处理是高频踩坑点。不同数据库对两者的定义、存储方式及约束支持存在显著差异,若不明确这些区别,容易导致数据查询异常、约束冲突等问题。本文基于 ANSI SQL-92 规范,结合 Oracle、PostgreSQL、SQL Server 的特性,详解三者
阅读全文
摘要:告警日志 集群节点集群件告警日志:$GRID_HOME/log//alert.log 数据库实例的告警日志:$DIAG_DESTINATION/rdbms//SID/trace/alert_.log 安装日志文件 root.sh配置脚本的调试日志:$GRID_HOME/cfgtoollogs/crs
阅读全文
摘要:在 SQL 里,PIVOT 函数的主要作用是把行数据转换为列数据,也就是进行行转列操作。这在需要生成交叉表或者进行数据透视分析时非常实用。下面为你详细介绍它的用法。 基本语法 SELECT <非透视列>, [第一个透视列的值] AS <列别名>, [第二个透视列的值] AS <列别名>, ... F
阅读全文
摘要:ORACLE报错:ORA-01788: CONNECT BY clause required in this query block 原因:oracle表中有字段level(关键字),直接查询该字段报错。 CREATE TABLE lcj_temp_level (ID VARCHAR2(20),"L
阅读全文
摘要:Oracle 表中已存重复数据的情况,如何增加唯一性约束? 当 Oracle 表中已经存在重复数据时,若直接添加唯一性约束会失败,因为唯一性约束不允许表中存在重复值。以下为你介绍在这种情况下增加唯一性约束的具体步骤和方法: 方法一:删除重复数据后添加唯一性约束 步骤 1:找出重复数据 可以使用 GR
阅读全文
摘要:ORA-02266: 表上存在依赖的完整性约束该错误通常发生在试图删除或修改一个被其他表的外键引用的表(主表)时,因为从表(子表)的外键依赖于主表的主键或唯一键。以下是详细的解决方案: 错误原因 当主表(父表)被从表(子表)的外键引用时,直接执行以下操作会触发错误: 删除主表:DROP TABLE
阅读全文
摘要:在不同的数据库系统中,大表删除字段后进行空间释放和整理的方法有所不同,下面分别介绍常见数据库的处理方式。 MySQL 1. OPTIMIZE TABLE 语句 OPTIMIZE TABLE 语句可用于对表进行碎片整理,释放删除字段后产生的未使用空间。不过该语句仅适用于 MyISAM、BDB 和 In
阅读全文
摘要:原因:本机没有配置数据库字符集环境变量,或是与数据库字符集不一致。 步骤一:在plsql中执行 select userenv('language') from dual; 或是执行 select * from V$NLS_PARAMETERS; 两者的区别是: 第一种查看到的是拼接好的一条字符集数据
阅读全文
摘要:impdp 是 Oracle 数据泵导入工具,用于将之前使用 expdp 导出的数据和对象导入到数据库中。下面分别介绍导入单个索引和单个包(包含包规范和包体)的语法。 导入单个索引 基本语法 impdp username/password@connect_string \ directory=dir
阅读全文
摘要:在 SQL 中,ORDER BY 子句主要用于对 SELECT 语句查询的结果集进行排序。它可以按照一个或多个列进行排序,并且支持升序(ASC)和降序(DESC)两种排序方式,下面详细介绍其使用方法。 基本语法 SELECT column1, column2, ... FROM table_name
阅读全文
摘要:登陆备库,检查同步状态和lag,确保lag应接近于0,同步状态正常: select * from v$dataguard_stats select process,status,client_process,thread#,sequence#,block# from v$managed_standb
阅读全文
摘要:故障检查 检查归档同步情况 一、查看数据库的情况 select database_role,flashback_on,open_mode,current_scn from v$database DATABASE_ROLE FLASHBACK_ON OPEN_MODE CURRENT_SCN PHYS
阅读全文
摘要:需求,查询RMAN备份情况,通过视图进行查询 SQL> select sid,OUTPUT_DEVICE_TYPE,OPERATION,STATUS,object_type,mbytes_processed,START_TIME,END_TIME,round(INPUT_BYTES/1024/102
阅读全文
摘要:log_archive_config 决定remote redo log的传输,正常配置data guard的环境中,参数应为:dg_config=(procdb,procdb_std) [ DG_CONFIG=(remote_db_unique_name1 [, ... remote_db_uni
阅读全文
摘要:SQL 注入是一种严重的安全漏洞,攻击者可以利用它绕过应用程序的安全机制,对数据库进行非法操作。以下是一些常见的 SQL 注入攻击手法: 基于错误信息的注入 原理:攻击者通过构造特殊的 SQL 语句,使数据库返回错误信息,然后根据这些错误信息推断数据库的结构、表名、列名等信息。 示例:在一个简单的登
阅读全文
摘要:OceanBase、Oracle 和 MySQL 是三种不同的数据库管理系统,各自在架构、性能、应用场景等方面有显著区别。以下是它们的主要差异: 1. 架构设计 OceanBase:分布式架构,采用 Shared-Nothing 设计,具备高可用性和强一致性,支持水平扩展。 Oracle:集中式架构
阅读全文
摘要:请手工删除之前所有的归档日志和备份文件,并对现在的数据库做一个全备 RMAN> backup database; // 全库备份 查看当前日志状态 SQL> select a.group#, a.member, b.status from v$logfile a, v$log b where a.g
阅读全文
摘要:请手工删除之前所有的归档日志和备份文件,并对现在的数据库做一个全备 RMAN> backup database; // 全库备份 模拟故障:将该文件清空 echo ‘’ > /u01/app/oracle/oradata/orcltest/system01.dbf 现象:查询数据字典报错 SQL>
阅读全文
摘要:文件说明:这里所说的参数文件指的是spfile,该文件存储的是实例启动的参数和控制文件的路径 模拟故障:清空该文件 echo ‘’ > $ORACLE_HOME/dbs/spfileorcltest.ora 现象:修改数据库参数时会报错 SQL> alter system set open_curs
阅读全文
摘要:文件说明:密码文件存储的是sys密码 模拟故障:清空该文件 echo '' > $ORACLE_HOME/dbs/orapworcltest // orcltest是该数据库的实例名现象:使用sys通过oracle net登录报密码错误sqlplus sys/123456@10.40.16.120:
阅读全文