ORACLE - 技术教程文章

Oracle HAVING子句 - 转

使用 HAVING 子句选择行  HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中出现的任意项。  下面的查询得到本年度截止到目前的销售额超过 $40,000 的出版商:  USE pubs  SELECT pub_id, total = S...

oracle复制数据库

准备两台设备,以我的为例一台source ip:192.168.3.66和一台duplicate ip:192.168.3.771》基于备份集复制数据库,目录结构都一样(active database网络)1.在duplicate端检查有没有亚参文件(如果没有的话就创建)cd $ORACLE_HOME/dbstouch dummy.ora编辑vi dummy.ora添加db_name=‘prod‘2.在source端复制一个口令文件(前提是在source有orapwprod口令文件,或者自己在duplicate自己创建一个)scp $ORACLE_HOME/dbs/orapwprod 19...

oracle分区技术提高查询效率【代码】

概述: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。下面介绍如何使用分区增加查询效率range分区:就是区域分区CREATETABLE SALE (PRODUCT_ID VARCHAR2(5),SALE_COUNT NUMBER(10,2) ) PARTITION BY RANGE (SALE_COUNT) (PA...

ORACLE 单列查询变单行显示

SELECT substr(sys_connect_by_path(dutywork, ';'), 2)FROM (select dutywork,rownum rnfrom t_test)WHERE connect_by_isleaf = 1START WITH rn = 1 CONNECT BY prior rn = rn - 1; 查询表t_test的一列,查询出的结果,显示为一行,各个行之间以“;”分割原文:http://blog.csdn.net/helloboat/article/details/44175423

我的oracle 健康检查报告【代码】

最近一直想用sql来生成oracle的健康检查报告,这样看起来一目了然,经过网上搜资料加自己整理终于算是成型了,部分结果如下图所示, 具体参考附件,恳请广大网友看看是否还有需要添加的地方。 DB_healthcheck_by_lhr_ORADG11G_20150826160539.zipORADG11G 数据库巡检报告Copyright (c) 2015-2100 (http://blog.itpub.net/26736162) lhrbest. All rights reserved.巡检时间:2015-08-26 16:05:39 巡检人:lhr 目录 巡检服务概要数据...

Oracle使用ODBC连接配置【代码】

该配置是在windows 7 32位下进行的,程序已经通过了测试(使用VBS进行的测试)1.文件下载--------------------------------------------------------------------------下载地址http://www.oracle.com/technetwork/topics/winsoft-085727.html需要下载两个文件 instantclient-basic-nt-12.1.0.2.0.zip "http://download.oracle.com/otn/nt/instantclient/121020/instantclient-basic-nt-12.1.0.2.0.zip"          instantcl...

Oracle Active Database Duplication

Active Database Duplication简介---------Active database duplication功能是从11g开始引入的一个新功能,它是对比以前版本中的基于备份集的复制数据库功能。下面简单的回顾一下关于ORACLE Duplicate Database功能,Duplicate database可以按照用途分为2种,一种是duplicate database,第二种是duplicate standby database,本文主要介绍duplicate database功能,会在以后介绍duplicate standby database。Duplicate Database又可...

Oracle 自增序列的生成【代码】

1、代码结构1、创建-- Create sequence create sequence SEQ_USERID minvalue 1 maxvalue 999999999999 start with1 increment by1 nocache cycle;2、查询select SEQ_USERID.nextval from dual; 3、删除drop sequence SEQ_USERID;2、查询表所有字段结构SELECT‘DDL_DTL.‘||USER_TAB_COLS.COLUMN_NAME ||‘,‘FROM USER_TAB_COLS WHERE USER_TAB_COLS.TABLE_NAME=‘DIM_ERP_PUB_DDL_DTL‘ 原文:https://www.cnblogs.com/wuzaipei...

Ubuntu-16.04.6 安装 oracle 11.2.0.4 数据库database软件【代码】

as of:root@ubuntu16:~# cat setup11g-for-ub-16.04.sh #!/bin/sh##ubunt-16.04 ##Linux ubuntu16 4.4.0-142-generic #168-Ubuntu SMP Wed Jan 1621:00:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ##GNU C Library (Ubuntu GLIBC 2.23-0ubuntu11) stable release version 2.23, by Roland McGrath et al. ##libstdc++6:amd64 5.4.0-6ubuntu1~16.04.11 amd64 GNU Standard C++ Lib...

Oracle-异常及解决

ORA-12638: Credential retrieval failed 证书获取失败 原因:身份验证服务无法检索用户的凭据。Oracle帮助文档给的回复是启用跟踪来确定准确的错误。 我是在安装数据库过程中报这个错误, 网查更改数据库安装目录ORACLE_HOME/network/admin下sqlnet.ora文件SQLNET.AUTHENTICATION_SERVICES= (NTS)改成SQLNET.AUTHENTICATION_SERVICES= (NONE)即可。 AUTHENTICATION_SERVICES参数定义要使用的身份验证方法和版本。必须设置SQ...

oracle经典操作sql

分页:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40)WHERE RN >= 21 去重:delete from 表名 t1 where rowid<(select max(rowid) from 表名 t2 where t1.user_name=t2.user_name) Oracle清空回收站命令:purge recyclebin原文:http://www.cnblogs.com/tancp/p/3589891.html

CentOS7安装Oracle-12c【代码】【图】

1、给虚拟机添加一块硬盘,并格式化 [root@localhost ~]# systemctl stop firewalld.service ##关闭防火墙 [root@localhost ~]# setenforce 0 [root@localhost ~]# systemctl disable firewalld.service ##开启不自动启动 Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~]# fdisk /dev/...

oracle 索引组织表的深入详解

索引组织表(IOT)不仅可以存储数据,还可以存储为表建立的索引。索引组织表的数据是根据主键排序后的顺序进行排列的,这样就提高了访问的速度。但是这是由牺牲插入和更新性能为代价的(每次写入和更新后都要重新进行重新排序)。索引组织表的创建格式如下:复制代码 代码如下:create table indexTable( ID varchar2 (10), NAME varchar2 (20), constraint pk_id primary key (ID) ) organization index; 注意两点:● 创建...

Oracle与Mysql的区别

1、组函数的用法规则: MySql中组函数在select语句中可以随意使用,但Oracle中如果查询语句中有组函数, 那其他列名必须是组函数处理过的,或者group by 子句中的列,负则会报错。2、自动增长的数据类型处理: MySql有自动增长数据类(auto_increment),插入记录是不用操作此字段,会自动获得数据值, Oracle中没有自动增长数据类型,需要使用Sequence序列号。3、单引号的处理: MySql里可以用双引号包其字符串,Oracle只可以用...

PLSQL_Oracle临时表Temporary Table基本概念和用法(概念)

2014-06-08 BaoXinjian一、基本概念1. 我对临时表的理解:在 Oracle 中创建一张表,这个表不用于其他的什么功能,主要用于自己的软件系统一些特有功能才用的,而当你用完之后表中的数据就没用了。 Oracle 的临时表创建之后基本不占用表空间,如果你没有指定临时表(包括临时表的索引)存放的表空的时候,你插入到临时表的数据是存放在 ORACLE 系统的临时表空间中( TEMP )。2. 基本概念用以保存事物或会话期间的中间结果,只可对当年会...

Oracle 数据库基础——安装【图】

一、数据库基础知识1.概念 数据库全称数据库管理系统,简称DBMS,是一种在计算机中,针对数据进行管理、存储、共享的一种技术。2.分类 数据库的发展过程中,按逻辑模型可分为以下几种:3.关系型数据库PS:1.候选键、主键、外键都是需要用户来定义的,一般来说,这些键的定义都会和业务、真实数据匹配。2.NF范式:在关系模型数据库中为了排除数据的冗余、数据的完整性、排除新增或删除数据的异常,通常引入范式的概念; ...

Python cx_Oracle问题处理【代码】【图】

今天第一次使用Python连接Oracle数据库(多么可怕,三年码农没用Python手动连过Oracle) 首先:pip install cx_Oracle好,安装完成,测试代码如下:from sqlalchemy import create_engine db_engine = create_engine(‘oracle://xynsx:whjyg_xynsx@10.128.85.8:1521/xyora‘) conn=db_engine.connect() result=conn.execute(‘SELECT * FROM PJ_CZP‘) conn.close()for item in result:print(‘item------------->‘, item)好,从...

oracle服务OracleDBConsoleorcl启动失败

今天想访问oracle的em服务,但是死活进不去,百度告知说是没有启动OracleDBConsoleorcl服务,进入服务,右击启动,提示错误,百度很久,最终解决方案如下:1:cmd命令行运行emctl start dbconsole结果为Environment variable ORACLE_SID not defined. Please define it.2:继续运行set ORACLE_SID=orcl,这次应该不报错,说明设置成功。3:继续运行emctl start dbconsole,报错为:OC4J Configuration issue. D:\oracle\product\10...

Oracle 联机重做日志文件(ONLINE LOG FILE)

-=========================================-- Oracle 联机重做日志文件(ONLINE LOG FILE)--========================================= 一、Oracle中的几类日志文件 Redo log files -->联机重做日志 Archive log files -->归档日志 Alert log files -->告警日志 Trace files -->跟踪日志 user_dump_dest -->用户跟踪日志 backupground_dump_dest -->进程跟踪日志 ...

Oracle闪回机制【代码】【图】

最近学习oracle的时候,无意中看到oracle的闪回技术flashback,原来oracle在delete数据或者drop的时候,不是直接删除,而是跟windows一样,先把数据放入到回收站中。select*from user_recyclebin可以查看user_recyclebin,可以看到最近删除的表格以及索引,如下:下面我们用一个例子测试一下:删除表数据,然后测试数据是否可以被恢复。select*from testemp1初始数据如下:现在我们删除一下deptno=10的数据,如下:deletefrom TESTE...

Oracle分析函数

--查询所有老师的薪水排名--rank():具有相等值的排位相同,随后的排名跳跃select tname,sal,rank() over(order by sal) as 薪水排名from teacher--dense_rank():具有相等值的排位相同,随后的排名是连续的select tname,sal,dense_rank() over(order by sal) as 薪水排名from teacher--row_number:无论值是否相等,返回的排名都是连续的select tname,sal,deptno,row_number() over(order by sal) as 薪水排名from teacher--...

Oracle executeBatch异常 ArrayIndexOutOfBoundsException【代码】

使用ojdbc14 10.2.0.4 进行批量写入数据到oracle时,写入的字段有140个,每1000条执行一次executeBatch,日志中出现大量异常ArrayIndexOutOfBoundsException信息,具体以下:java.lang.ArrayIndexOutOfBoundsException: -32377at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2673)at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10689...

oracle内存管理

参考文章参考文章参考文章参考文章参考文章原文:http://www.cnblogs.com/arcer/p/3832871.html

vCenter Server 5.5配置独立Oracle 11g R2数据库【图】

1. 环境清单服务器操作系统应用软件vCenter Server服务器Windows Server 2008R2-64bitvSphere 5.5DB服务器CentOS 7.1-64bitOracle 11g r2 2. 安装Oracle 11g R2在Centos7.1中安装Oracle 11g R2的过程不是本文档主讲内容,顾忽略。 3. 为vCenter Server创建数据库登入DB服务器(确保centos 7已启用图形界面)鼠标右键选择打开命令行终端650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111022619084....

oracle(三)【代码】

/****************************表空间 start****************************/--表空间的作用 /** 1.决定数据库实体的空间分配 2.设置数据库用户的空间份额 3.控制我们数据库部分数据的可用性 4.备份和恢复数据 **/ -- 如何创建表空间 对应的数据库的文件 /*create tablespace 表空间名称 datafile 路径名称 size 大小(默认值) autoextend on next 大小 (递增的大小) maxsize 大小(最大值)*/ /****创建一个表空间 jame_tablespa...

【Oracle 常用SQL语句】

1、查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理文件的名称及大小select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及大小select segment_name...

Oracle导出Excel,两种方法比较【代码】

/// <summary>/// 普通方式 生成EXCEL/// </summary>/// <param name="dt">临时表</param>/// <param name="filePath">文件名 带路径</param>/// <param name="fileName">文件名</param>public void CreateExcel(DataTable dt, string filePath, string fileName){Excel.Application excel1 = new Excel.Application();excel1.DisplayAlerts = false;Excel.Workbook workbook1 = excel1.Workbooks.Add(Type.Missing);excel1.Visibl...

Oracle 11g R2 数据字典【图】

数据字典是oracle存储关键信息的表和视图的集合。oracle进程会在sys模式中维护这些表和视图,也就是说数据字典的所有者为sys用户,数据存放在system表空间中,数据字典描述了实际数据是如何组织的,如一个表的创建者信息,创建时间信息,所属的表空间信息,用户访问权限等等。对数据字典可以向处理其他数据库和表或试图一样进行查询,但不能进行任何修改。 oracle数据字典通常是在创建和安装数据库时被创建的。oracle数据字典是ora...

Oracle:ORA-00955: name is already used by an existing object【代码】

下午从生产库导出了一份表结构,用来测试一些问题,由于生产库连接着其他用户下的表所以通过视图在本地模拟一下,于是创建视图:create or replace view csews as select * from order_list;但是出现ORA-00955: name is already used by an existing object的错误,上网查了下说是数据库中有了同名对象,于是查询select * from all_objects where object_name=‘csews‘;但是没有任何记录,很是抓狂,找了好久也没有找到解决办法,最后...

oracle优化技巧及实例(总结)

1.关于exists和inin是循环的方式,在内存中处理,exists是执行数据库查询, select tpd.personaccountid,sum(nvl(tpd.CREDIT_SUM, 0)) as bjsr, sum(nvl(tpd.INTEREST_INCOME, 0)) as bjsr, sum(nvl(tpd.DEBIT_SUM, 0)) as bjzc from TGP_PERSON_DETAIL tpd left join TAP_FUNDBUSINESS tfb on tpd.FUNDBUSINESS_ID = tfb.FUNDBUSINESS_IDwhere tpd.PERSONACCOUNTID in (select personaccountid from TGP_PERSONACCOUNT pa left jo...