DB
文章平均质量分 69
袭冷
梦里不知身是客
展开
-
MySQL - Error 1055:sql_mode=only_full_group_by
一、异常 Error 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column XXX which is not functionally dependent on columns in GROUP BY clause; this is ...原创 2020-10-14 10:19:29 · 398 阅读 · 0 评论 -
MySQL - 多表 INNER JOIN 查询
一、单表查询SELECT tab01.col01, tab01.col11 FROM Table_01 tab01 ORDER BY tab01.col01二、两表查询SELECT tab01.col01, tab01.col11, tab02.c22 FROM Table_01 tab01 INNER JOIN Table_0...原创 2020-10-14 10:18:34 · 1857 阅读 · 1 评论 -
MySQL - 使用不等于条件时会将值为NULL的数据也过滤的问题
示例SELECT * FROM tbl_user WHERE user_code != 'A0001 '期望结果是用户编码不等于 A0001 的所有用户,实际结果为用户编码不等于 A0001 且不为 NULL 的所有用户方案SELECT * FROM tbl_user WHERE IFNULL(user_code,'') != 'A0001' 此时获取的结果才与...原创 2020-10-14 10:18:21 · 2018 阅读 · 1 评论 -
MySQL - 关于 Order By 乱序问题
一、问题 在 Order By 的查询语句中,如果 Order By 的字段存在较多相同数据时,可能会出现乱序的问题,即多次查询的返回结果顺序不一致二、方案 添加第二个 Order By 的字段,且该字段尽量唯一三、示例-- 原始语句SELECT * FROM detail ORDER BY type ASC-- 调整语句SELECT * FROM de...原创 2020-01-10 14:16:05 · 1642 阅读 · 0 评论 -
MySQL - 排名实现
一、实现步骤1、实现自然排名SELECT id, name, score, -- 排名变量每次+1,实现自然排名 @curr_row_rank := @curr_row_rank + 1 AS rank FROM scores, (SELECT -- 定义一个变量,每条记录+1,用于标识自然的排名 @cur...原创 2019-11-08 11:14:25 · 597 阅读 · 1 评论 -
MySQL - 关于 False、True、0、1、tinyint(1) 的说明
MySQL 保存 Boolean 值时,用 1 代表 TRUE,0 代表 FALSE;类似一个 bit 位,默认没有数据,即为 0,也即 Faslse MySQL 存储 Boolean 值的类型为 tinyint(1) 类型;MySQL 中有 true、false、TRUE、FALSE 四个常量,代表1、0、1、0mysql> select true,false,TR...原创 2019-11-08 11:14:51 · 11069 阅读 · 0 评论 -
Oracle - ORA-28547: Connection to server failed,probable Oracle Net admin error (Navicat)
一、异常 用Navicat连接Oracle数据库时抛出的异常二、方案 使用 Oracle 安装目录 \Oracle\product\11.2.0\dbhome_1\BIN 下的 oci.dll 替换 Navicat 安装目录 \Navicat Premium\instantclient_10_2 下的 oci.dll 文件即可原创 2018-01-18 09:40:04 · 14462 阅读 · 0 评论 -
Oracle - ORA-28009: connection as SYS should be as SYSDBA OR SYSOPER
一、原因 sys 用户是超级管理员,所以在登录的时候需要额外指定其角色二、方案1、在PL/SQL中,在登录界面,将 连接为 的选项 SYSDBA 选中 2、在SQLPlus中,通过 as sysdba 子句指定 -- 方式一 [oracle@xl ~]$ sqlplus sys/登录密码 as sysdba -- 方式二原创 2018-01-18 09:39:38 · 4683 阅读 · 0 评论 -
Oracle - ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
一、原因 意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。二、分析 查看temp表空间的数据文件个数,当前大小,是否自动扩展SQL> SELECT TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 "CURR_SIZE(MB)", MAXBYTES/10原创 2018-01-18 09:39:31 · 10045 阅读 · 0 评论 -
Oracle - ORA-01789: Query block has incorrect number of result columns
一、原因 这个错误一般是在执行表之间的相加(union),相减(minus)等SQL语句时,两个个查询块具有不一致的结果列数所导致的。二、方案 只要将两段SQL语句的列数调整为一致就可以解决。使用union时,要注意数据库字段的格式要一致,如varchar和nvarchar是不一样的。原创 2018-01-18 09:38:57 · 7218 阅读 · 0 评论 -
Oracle - ORA-01034: ORACLE not available Process ID: 0 / Connected to an idle instance
一、异常[oracle@xl ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 - Production on Mon Jun 4 00:55:19 2017Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to an idle instance.原创 2018-01-17 16:28:43 · 3585 阅读 · 0 评论 -
Oracle - ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
一、原因 有较大的事务量让 Oracle Undo 自动扩展,产生过度占用磁盘空间的情况 有较大事务没有收缩或提交,导致没有足够大的空间来容纳新事务的 Undo 数据二、分析 查看当前例程正在使用的UNDO表空间SQL> Show parameter undo_tablespace;NAME原创 2018-01-17 16:29:30 · 13025 阅读 · 0 评论 -
Oracle - ORA-00020: maximum number of processes (500) exceeded
一、异常[oracle@xl ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 21 10:38:28 2015Copyright (c) 1982, 2013, Oracle. All rights reserved.ERROR:ORA-00020: maximum number原创 2018-01-17 16:29:18 · 1739 阅读 · 1 评论 -
Oracle - ORA-09817: Write to audit file failed
一、异常[oracle@xl ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Thu Nov 16 14:52:23 2017Copyright (c) 1982, 2009, Oracle. All rights reserved.ERROR:ORA-09817: Write to audit原创 2018-01-17 16:29:03 · 879 阅读 · 0 评论 -
Oracle - INS-13001: Win10安装Oracle11g时出现INS-13001环境不满足最低要求
在安装文件的 /stage/cvu/cvu_prereq.xml 文件中,添加 Windows 10 的相关字段原创 2018-01-18 09:40:33 · 608 阅读 · 0 评论 -
Oracle - 执行过的SQL、正在执行的SQL、消耗资源最多的SQL
一、执行过的SQLSELECT SQL_ID, HASH_VALUE, ADDRESS, SQL_FULLTEXT,LAST_LOAD_TIME FROM V$SQL ORDER BY LAST_LOAD_TIME DESC;-----------------------------------------------------------------...原创 2018-09-17 23:05:36 · 1547 阅读 · 0 评论 -
Oracle - 数据库名、实例名、服务名、ORACLE_SID 的说明和区别
一、数据库名(db_name) 数据库名就是一个数据库的标识,就像人的身份证号一样。它用参数DB_NAME表示,被写入参数文件之中(dbhome_1/dbs/init.ora) 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的 -- 查询当前数据名 select name from v$database;...原创 2018-09-17 23:03:12 · 10457 阅读 · 0 评论 -
SQL - 常用数据库分页
一、MSSQLSELECT TOP pageSize * -- [fields]FROM TABLE_NAME WHERE id NOT IN ( SELECT TOP pageSize*(pageNow-1) id FROM TABLE_NAME ORDER BY id)ORDER BY id二、MySQL原创 2015-01-11 21:30:29 · 616 阅读 · 0 评论 -
MySQL - 在 Left Join 中使用 On 和 Where 的区别
left join:返回左表中的所有记录以及右表中连接字段与左表相等的记录,会生成一张临时表on:是对右表进行过滤的条件,左表将返回所有的行,即只作用于右表where:是对连接后生成的临时表进行过滤的条件,即只作用于连接后的表过程:以左表的所有的行为基准,先与右表在 on 条件过滤后的结果集做连接,然后再在连接而成的临时表上进行 where 条件的过滤右表,如果是要筛选后才连接,应...原创 2020-01-10 14:16:09 · 518 阅读 · 0 评论 -
Oracle - 数据库的内存结构
一、内存结构的概述 Oracle数据库为 程序代码、用户共享的数据 以及 每个连接用户的私有数据区域,创建和使用了多个内存区域。这些相关的基本内存结构包括System Global Area(SGA)、Program Global Area(PGA)、User Global Area(UGA)、Software Code Areas等。 在数据库实例启动时,首先在服务器内存...原创 2018-09-17 23:05:01 · 2645 阅读 · 0 评论 -
Oracle - 数据库的内存调整
Oracle数据库将信息存储在内存缓存和磁盘上,内存访问比磁盘访问快得多;与内存访问相比,磁盘访问(物理I/O)占用大量时间,也会增加所需的CPU资源,因此频繁访问的对象的数据请求通过内存执行会更有效率,而不是需要磁盘访问。 影响性能的主要Oracle数据库内存缓存包括:数据库缓冲区缓存、重做日志缓冲区、共享池(含库缓存、数据字典缓存和服务器结果缓存等)、Java池、流池、...原创 2018-09-17 23:04:27 · 5075 阅读 · 0 评论 -
Oracle - 数据库的组成简介
Oracle数据库是一个关系数据库管理系统(RDBMS),数据库服务器由一个数据库和至少一个实例组成。 一、数据库 数据库是一组位于磁盘上的文件,用于存储数据。数据库具有物理结构和逻辑结构。 1、物理结构 物理存储结构是存储在磁盘空间中,在操作系统级别上可以被列出的文件系统中的文件,物理存储结构包括数据文件(Data Fil...原创 2018-09-17 23:03:56 · 1172 阅读 · 0 评论 -
Oracle - 共享游标、父子游标、硬软解析
一、共享游标的相关概念 1、Oracle Cursor 的说明 Oracle 里的 Cursor 分为 Shared Cursor 和 Session Cursor 两种 Shared Cursor 即共享游标,缓存在 Library Cache 里的 SQL 和 匿名PL/SQL 等可执行对象 Session Cursor 即通过系统...原创 2018-09-17 23:05:12 · 1018 阅读 · 0 评论 -
Oracle - 启动、关闭、查看实例、用户解锁、连接数量、数据库信息、命令行显示设置
一、启动相关 1、通过sqlplus启动和关闭 [oracle@xilen ~]$ su - oracle -- 切换到oracle用户 [oracle@xilen ~]$ lsnrctl start -- 打开监听 [oracle@xilen ~]$ sqlp原创 2018-01-15 15:33:35 · 922 阅读 · 0 评论 -
Oracle - V$SQLTEXT、V$SQL、V$SQLAREA、V$SQLSTATS、V$SQL_PLAN、V$SESSION 的说明
V$SQLTEXT 的说明 V$SQLTEXT 中列出了在共享区域(shared pool)中库缓冲区(Library Cache)的 SQL 语句的完整文本一条 SQL 语句可能分成多个块被保存于多个记录内HASH_VALUE SQL 语句的 Hash 值;该游标(子游标)在 Library Cache 中唯一 Hash 值 ADDRESS SQL 语句在...原创 2019-05-08 17:40:14 · 3498 阅读 · 0 评论 -
Oracle - UTL_FILE包之BLOB导入和导出
一、将文件导入到BLOB字段中二、将BLOB字段中的文件导出原创 2018-01-17 16:28:18 · 1919 阅读 · 0 评论 -
Oracle - UTL_FILE包之详解
一、说明 UTL_FILE是oracle提供的一个标准的工具包,用来读写文件使用。 二、路径 包UTL_FIle用于读写操作系统的文件,前提是首先创建路径(Directory)并授权。ORACLE目录的作用就是让ORACLE数据库和操作系统之前进行文件的交互。 为了创建目录,必须具有DBA角色或者赋予了CREATE ANY DIRECTORY原创 2018-01-17 16:27:37 · 18462 阅读 · 0 评论 -
Oracle - 表相关常用操作语句
一、表创建 CREATE TABLE 表名称( 字段名1 字段类型 是否为空, 字段名1 字段类型 是否为空, CONSTRAINT 主键名称 PRIMARY KEY (主键字段) ) TABLESPACE 表空间;二、表修改 -- 修改表名 RENAME 旧原创 2018-01-15 15:30:39 · 531 阅读 · 0 评论 -
Oracle - 用户相关常用操作语句
一、创建用户 -- 以SYSTEM用户登录 SQLPLUS SYSTEM/密码 AS SYSDBA; -- 执行创建命令 CREATE USER 用户名 IDENTIFIED BY 密码 ;二、赋权用户 GRANT CREATE USER, DROP USER,ALTER USER, CREATE ANY VIEW, DROP ANY VIEW, CREATE ANY INDEX,原创 2014-03-30 23:23:17 · 723 阅读 · 0 评论 -
MySQL - 分组连接字段函数GROUP_CONCAT的使用
一、语法group_concat([DISTINCT] 要连接字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])原创 2018-05-17 17:01:11 · 2931 阅读 · 0 评论 -
PostgreSQL - 查询表名、连接状况、磁盘占用
一、查询数据库表的名称select tablename from pg_tables where tablename [ like '%_day_20141230'] ;二、查看数据库连接进程 每个服务器进程一行,显示数据库OID、数据库名、进程ID、客户端地址、客户端端口、最近查询时间、进程开始时间select datid, datname, procpid, client_a原创 2015-01-11 21:31:31 · 2948 阅读 · 0 评论 -
Hbase - 常用命令
status 命令hbase(main):002:0> status8 servers, 0 dead, 45.2500 average loadversion 命令hbase(main):003:0> version0.96.0-hadoop2-gphd-3.0.1.0, r40412e, Mon Apr 14 12:09:37 CST 2014原创 2015-01-11 21:28:37 · 1127 阅读 · 0 评论 -
PostgreSQL - 外部表、分布键、父子表
一、外部表 在插入的数据较大时,可以通过外部表的方式,快速将数据'入库' CREATE EXTERNAL TABLE EXT_LOG_INFO ( -- 外部表关键字 EXTERNAL date integer, timestamp bigint, userid bigint, action integer, note character varying(2原创 2015-01-11 21:31:52 · 17447 阅读 · 2 评论 -
PostgreSQL - psql(客户端交互命令)
一、命令说明 psql是PostgreSQL的交互终端,等同于Oracle中的sqlplus。执行该命令连接数据库时, 默认的用户和数据库是postgres 二、命令参数 -c 命令 :指定psql执行一条SQL命令(用双引号括起),执行后退出。 -d 数据库名 :待连接的数据库名称。 -f 文件名 :使用文件中的数据作为命令的输原创 2014-11-26 00:17:52 · 10830 阅读 · 0 评论 -
Oracle - 导入异常ORA-01659和11G在Exp时空表不能导出
一、导入时ORA-01659异常 1、问题 导入DMP文件时发生异常:ORA-01659: 无法分配超出 3 的 MINEXTENTS 2、原因 表空间已满 3、处理 ALTER DATABASE DATAFILE '表空间文件路径' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIM原创 2014-04-01 21:37:42 · 1588 阅读 · 0 评论 -
SybaseIQ - 建库、建表、启动
一、说明 创建数据库需要以DBA用户登录utility数据库二、建库 CREATE DATABASE 'D:\SybaseIQ\data\testdb.db' TRANSACTION LOG ON --针对catalog的日志 COLLATION '936ZHO' --字符集 默认是ISO_BINENG速度快 --Colla原创 2014-03-30 23:24:23 · 4192 阅读 · 1 评论 -
SybaseIQ - 日期函数
一、getdate() 作用: 得到服务器当前的时间二、datepart(interval,date) 参数: interval:时间的某一个部分(如时、分、秒、天、周、月、季、年) date:当前日期或指定日期 作用: 取指定时间的某一个部分,年月天时分秒 示例:原创 2014-03-30 23:24:10 · 4051 阅读 · 0 评论 -
SybaseIQ - utility_db介绍
一、关于 在SybaseIQ安装完成后,会建虚拟的实用数据库:utility_db。 utility_db的配置文件:SybaseHome\IQ-15_2\bin32 \util_db.ini。 utility数据库主要用于管理其它数据库:包括新建数据库,删除数据库,新建数据空间,删除数据空间,恢复数据库等操作。二、启动 命令:使用以下命令从命令行启原创 2014-03-30 23:23:56 · 1851 阅读 · 0 评论 -
Oracle - 表空间相关常用操作语句
一、创建表空间 CREATE TABLESPACE DATA_TBS LOGGING DATAFILE '/usr/oracle/oradata/DATA_TBS_01.DBF' SIZE 1500M AUTOEXTEND ON NEXT 100M MAXSIZE 10000M原创 2018-01-15 15:31:35 · 369 阅读 · 0 评论 -
Oracle - Sequence序列
一、序列说明 ORACLE 没有自增数据类型,如需生成业务无关的主键列或惟一约束列,可以用 Sequence 序列实现二、创建序列CREATE SEQUENCE SEQ_NAME -- 序列名MINVALUE 1 -- 定义序列的最小值,系统能产生的最大值为28个9的值。不设置时默认为 NOMINVALUE,代表不设置最大值,此时递增序列最小值为1,递减序列最小原创 2018-01-15 15:31:48 · 615 阅读 · 0 评论