
Oracle 相关
文章平均质量分 72
海蓝树
做个有思想的“猿”
展开
-
Oracle 降低高水位线的方法
高水位(HIGH WARTER MARK,HWM)好比水库中储水的水位,用于描述数据库中段的扩展方式。高水位对全表扫描方式有着至关重要的影响。当使用DELETE删除表记录时,高水位并不会下降,随之导致的是全表扫描的实际开销并没有任何减少。例如,首先新建一张空表,大小占用64K,然后插入数据直到表大小变为50G,此时使用DELETE删除所有的数据并且提交,这个时候查询表的大小的时候依然是50G,这就是因为表的高水位没有释放的缘故,而在这时如果使用“SELECT * FROM TABLE_NAME;”语句来转载 2021-12-23 15:03:54 · 2940 阅读 · 0 评论 -
ElasticSearch作为搜索引擎-Oracle数据同步
ElasticSearch作为搜索引擎,我们需要解决2大问题:1,如何将被搜索的数据在ES上创建反向索引2,Java代码如何与ES交互其中第一个大问题又分为两个小问题1.1,如何初始化已有的数据1.2,如何同步增量数据第二个大问题也有两种集成方式2.1 Spring Data 9300端口集成2.2 Restful API 9200端口集成本篇先解决第一大问题。利用Logstash的收集转化功能来做数据的同步,所以要先安装好Logstash和Elast...转载 2021-02-16 16:22:37 · 973 阅读 · 0 评论 -
利用PLSQL Developer 数据库间表结构和数据对比
PLSQL Developer Tools 菜单下有Compare User Objects和Compare Table Data功能。1、Tools --> compare user objects 该功能用于比较不同用户所拥有的对象(包括table、sequence、function、procedure、view等),并生成同步差异的sql脚本,用户通过执行该脚本,可保...转载 2019-11-25 10:21:23 · 1643 阅读 · 0 评论 -
Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器
<br />// 创建一个序列<br />CREATE SEQUENCE Car_GUID increment by 1;<br />// 创建一个表<br />CREATE TABLE Car<br />(<br /> GUID NUMBER NOT NULL PRIMARY KEY,<br /> PhoneId Char(11) NOT NULL,<br /> UserName VarChar(20) NOT NULL<br />);<br />// 添加注释<br />comment on table原创 2010-09-10 08:24:00 · 1249 阅读 · 0 评论 -
Oracle 用户权限管理方法
<br />sys;//系统管理员,拥有最高权限 <br />system;//本地管理员,次高权限 <br />scott;//普通用户,密码默认为tiger,默认未解锁 <br />sys;//系统管理员,拥有最高权限 <br />system;//本地管理员,次高权限 <br />scott;//普通用户,密码默认为tiger,默认未解锁 <br />二、登陆 <br />sqlplus / as sysdba;//登陆sys帐户 <br />sqlplus sys as sysdba;//同上 <b翻译 2010-09-10 08:18:00 · 399 阅读 · 0 评论 -
Oracle之包-1(包的要求 创建包头)
<br />1. 编写一个管理雇员信息的包emp_mgmt。包中有成员如下:<br /><br />程序结构<br />类型<br />说明<br />Emp_count<br />公有变量<br />跟踪员工的总人数变化,插入和删除员工时要修改该变量的值<br />init<br />公有过程<br />初始化包,初始化员工人数和当前个人所得税率,建议有一个输入参数p_tax,传入当前个人所得税率,暂定为工资的8%。<br />tax_emp<br />公有函数<br />通过员工编号计算出原创 2010-09-10 08:20:00 · 1161 阅读 · 0 评论 -
Oracle之包-2(创建包体)
<br />--包体创建<br />create or replace package body emp_mgmt as<br />cursor C_emp return emp_tax_record is select empno from emp order by sal asc;<br />function getEmpCount return number is<br />xx number(4);<br />begin<br /> select count(*) into xx fro原创 2010-09-10 08:19:00 · 960 阅读 · 0 评论 -
sql里的update实现多表更新
<br />sql里的update实现多表更新 <br /><br />在开发中,数据库来回换,而有些关键性的语法又各不相同,这是一件让开发人员很头痛的事情.本文总结了Update语句更新多表时在SQL Server,Oracle,MySQL三种数据库中的用法.我也试了SQLite数据库,都没成功,不知是不支持多表更新还是咋的. 在本例中: 我们要用表gdqlpj中的gqdltks,bztks字段数据去更新landleveldata中的同字段名的数据,条件是当landleveldata 中的GEO_Code原创 2011-01-15 10:15:00 · 1985 阅读 · 0 评论 -
重装Oracle时提示“指定的SID在本机上已经存在”解决方案
1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。 2、 开始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除转载 2011-12-06 10:22:47 · 1993 阅读 · 0 评论 -
ORACLE PL/SQL与SQL SERVER T-SQL一些比较
1、外连接 ·MS SQL SERVER 支持两种形式表间连接 ①从Sybase继承来的形式: 字段1 *= 字段2 (左连接) 字段1 =* 字段2 (右连接) 没有这种形式的全外连接语法 ②标准的外连接语法 left [outer]转载 2011-12-07 10:28:33 · 797 阅读 · 0 评论 -
T-SQL和PL/SQL 区别
ORACLE PL/SQL与SQL SERVER T-SQL一些比较字符串连接Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ 。 Oracle查询如下所示:Select ‘Name’ || ‘Last Name’ From tableName SQL Server查询如下:Select ‘Name’ + ‘Last Name’GUIDOracl转载 2011-12-07 10:22:37 · 498 阅读 · 0 评论 -
Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
先假设有这么一个表:create table S_Depart ( DepartId INT not null, DepartName NVARCHAR2(40) not null, DepartOrder转载 2011-12-08 13:56:29 · 1034 阅读 · 0 评论 -
Oracle数据类型 简介
数据类型参数描述char(n)n=1 to 2000字节定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节),单位是字节ncharn=1 to 2000字节根据字符集而定的固定长度字符串,最大长度2000字节,单位是字符(一个汉字为一个字符)varchar2(n)n=1 to 4000字节可变长的字符串,具体转载 2011-12-08 17:00:55 · 462 阅读 · 0 评论 -
Oracle索引使用规则(一)
首先,我们要确定数据库运行在何种优化模式下,相应的参数是:optimizer_mode。可在svrmgrl中运行“show parameter optimizer_mode"来查看。ORACLE V7以来缺省的设置应是"choose",即如果对已分析的表查询的话选择CBO,否则选择RBO。如果该参数设为“rule”,则不论表是否分析过,一概选用RBO,除非在语句中用hint强制。查找原因的步骤转载 2011-12-10 14:40:01 · 1012 阅读 · 0 评论 -
oracle索引整理
一,oracle的索引陷阱一个表中有几百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这主要可能是oracle的索引限制造成的。 oracle的索引有一些索引限制,在这些索引限制发生的情况下,即使已经加了索引,oracle还是会执行一次全表扫描,查询的性能不会比不加索引有所提高,反而可能由于数据库维护索引的系统开销造成性能更差。下面是一些常见的索引限制问题。转载 2011-12-10 13:44:46 · 793 阅读 · 0 评论 -
Oracle的索引类型及使用技巧
逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引NonUnique 非唯一索引Function-based函数索引Domain 域索引物理上:Partitioned 分区索引NonPartitioned 非分区索引B-tree:Normal 正常型B树Rever Key 反转型B树 Bitm转载 2011-12-10 13:54:46 · 5242 阅读 · 0 评论 -
oracle数据类型
oracle数据类型 有道是,磨刀不误砍柴工。多了解一些底层的东西,对于Oracle开发、维护大有裨益。个人总结了一些Oracle数据类型集解,相信读者阅读了本文以后,Oracle数据库开发起来会事半功倍!在Oracle数据库中,每个关系表都由许多列组成。给每一列指派特定的数据类型来定义将在这个列中存储得数据类型。1、CHAR最多可以以固定长度的格式存储2000个字符或转载 2011-12-08 10:20:21 · 388 阅读 · 0 评论 -
ORACLE DUAL表详解
ORACLE DUAL表详解 1、DUAL表的用途Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户SQL> select user from dual;USER------------------------------SYSTEM --查看当前日期、时间SQL> select s转载 2011-12-08 14:20:42 · 421 阅读 · 0 评论 -
union all 就比 or及in 使用技巧
对于索引列来最好使用union all,因复杂的查询【包含运算等】将使or、in放弃索引而全表扫描,除非你能确定or、in会使用索引。 对于只有非索引字段来说你就老老实实的用or 或者in,因为 非索引字段本来要全表扫描而union all 只成倍增加表扫描的次数。对于及有索引字段【索引字段有效】又包含非索引字段来时,按理你也使用or 、in或者union all 都可以,转载 2011-12-12 11:28:10 · 1323 阅读 · 0 评论 -
Oracle提高SQL查询效率,要注意的原则
) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被转载 2011-12-12 12:46:59 · 793 阅读 · 0 评论 -
Oracle如何附加数据库
前提:从别的计算机得到一份数据库(矿总院药品价表等等数据库).目的:把数据库里面的数据附加到本地数据库,从而可以查看数据库中的数据,取之应用.必须了解信息:原数据库全局数据库名称:oracle,SID:ORCL.原数据库存放路径:E:\oracle\oracdata\本地数据库的安装路径是D:\oracle\实现步骤:一、把数据库相关文件copy到本地E:\orac转载 2011-12-13 08:47:26 · 1202 阅读 · 0 评论 -
Oracle 存储过程
简要记录存储过程语法与Java程序的调用方式 一 存储过程 首先,我们建立一个简单的表进行存储过程的测试create table xuesheng(id integer, xing_ming varchar2(25), yu_wen number, shu_xue number);insert into xuesheng values(1,'zhangsan',转载 2012-01-16 10:29:37 · 395 阅读 · 0 评论 -
Oracle存储过程创建及调用
在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器。在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的。相对来说,数据库系统中的触发器也是一种存储过程。存储过程在数据库中运算时自动生成各种执行方式,因此,大大提高了对其运行时的执行速度。在大型数据库系统如Oracle、SQL Server中都不仅提供了用户自定义存储过程的功能,同时也提供了许多可转载 2012-01-16 14:18:38 · 891 阅读 · 0 评论 -
修改Oracle最大连接数和游标数
一、修改Oracle最大连接数1、SqlPlus /nolog2、conn sys/syspwd as sysdba;3、查询目前连接数:show parameter processes;4、修改连接数:alter system set processes=1000 scope=spfile;5、create pfile from spfile;6、原创 2022-04-30 19:22:46 · 2988 阅读 · 0 评论 -
asp.net连接oracle
下面是asp.net连接远程Oracle数据库服务器步骤:1.asp.net连接oracle服务器需要添加Sytem.Data.OracleClient命名空间,将System.Data.OracleClient.dll加入到项目中。2.连接时需要ConnectionString字符串,出现在web.config文件中,如下所示: 如下所示: C转载 2012-07-27 11:35:15 · 1184 阅读 · 0 评论 -
关于.net中连接linux系统下的oracle数据库
1 首先可以自己写一个关于操作oracle数据库的类,可以这样写:public abstract class DbHelperOra { //数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库. public static string connectionString = Configurati转载 2012-07-27 11:24:31 · 794 阅读 · 0 评论 -
在Oracle中写出性能优良的SQL语句
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! (1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个转载 2014-12-23 17:39:54 · 397 阅读 · 0 评论 -
PLSQL Developer连接远程oracle配置
在windows机器上不想安装oracle或者oracle的客户端,我们怎么使用PLSQL Developer工具呢?答案如下:环境 windows7 64bit目标环境 centOS5.8 64bit1:在oracle官网上下载instantclient-basic-nt-11.2.0.3.0.z转载 2015-09-30 14:26:45 · 3058 阅读 · 0 评论 -
Oracle Net Manager 服务命名配置以及用PL/SQL 登陆数据库
我们知道,要连接一个数据库需要知道四个参数:1. 登陆用户名:user;2. 登录密码:password;3. 存放数据库的服务器地址(server_ip)和端口(server_port);4. 数据库名(db_name);我们如果要连接db_name这个数据,除了用户名密码以外,还需要输入类似“server_ip:server_port/db_name”这样一个连接字符串。转载 2015-09-30 14:29:20 · 709 阅读 · 0 评论 -
Oracle 游标使用全解
-- 声明游标;CURSOR cursor_name IS select_statement--For 循环游标--(1)定义游标--(2)定义游标变量--(3)使用for循环来使用这个游标declare --类型定义 cursor c_job is select empno,ename,job,sal from emp wh转载 2015-10-03 19:33:32 · 350 阅读 · 0 评论 -
oracle临时表-优化查询速度
目前所有使用oracle作为数据库支撑平台的应用,大部分数据量比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。[@more@]当然在oracle中创建分区是一种不错的选择,但是当你发现你的应用有多张表关联的时候,并且这些表大部分都是比较庞大,而你关联的时候发现其中的某一张或者某几张表关联之后得到的结果集非常小并且查询得到这个结果集的速度非常快,那么这个时候我考虑在ora转载 2015-10-03 21:01:05 · 680 阅读 · 0 评论 -
C#调用Oracle存储过程
1.创建表create table test(ID number,NAME varchar2(10),SEX varchar2(4),AGE number,ADDRESS varchar2(200));2.创建不带参数的存储过程create or replace procedure proc1isbegin insert into转载 2015-10-04 09:44:44 · 907 阅读 · 0 评论 -
游标变量、动态sql及变量绑定的使用
在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(latch)资源,严重的影响系统的规模的扩大(即限制了系统的并发行),而且引起的问题不能通过增加内存条和cpu的数量来解决。之所以这样是因为门闩是为了顺序访问以及修改一些内转载 2015-10-04 19:59:14 · 1127 阅读 · 0 评论 -
ORACLE触发器详解
本篇主要内容如下:8.1 触发器类型8.1.1 DML触发器8.1.2 替代触发器8.1.3 系统触发器8.2 创建触发器8.2.1 触发器触发次序8.2.2 创建DML触发器8.2.3 创建替代(INSTEAD OF)触发器8.2.3 创建系统事件触发器8.2.4 系统触发器事件属性8.2.5 使用触发器谓词转载 2015-10-04 10:00:54 · 343 阅读 · 0 评论 -
oracle游标应用难点 sys_refcursor 和 cursor(转)
sys_refcursor 和 cursor 优缺点比较优点比较优点一:sys_refcursor,可以在存储过程中作为参数返回一个table格式的结构集(我把他认为是table类型,容易理解,其实是一个游标集), cursor 只能用在存储过程,函数,包等的实现体中,不能做参数使用。优点二:sys_refcursor 这东西可以使用在包中做参数,进行数据库面向对象开放。哈转载 2015-10-03 19:58:25 · 1936 阅读 · 0 评论 -
oracle job 定时执行 存储过程
一:简单测试job的创建过程案例: 1,先创建一张JOB_TEST表,字段为a 日期格式SQL> create table JOB_TEST(a date);Table createdSQL> commit;Commit complete2,创建一个存储过程 bb 作用是往pig表中插入数据SQL> create or replace procedure JOB_P转载 2015-10-04 19:28:37 · 370 阅读 · 0 评论 -
Oracle创建序列,序列的语法格式及使用和查询
CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|NOCACHE}];1)INCREMENT BY用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表Oracle序列的值是按照此步长递减转载 2015-10-04 09:33:13 · 2320 阅读 · 0 评论 -
如何通过PL/SQL Developer备份恢复oracle数据
使用PL sql提供的功能可以快速的备份恢复oracle数据。1 导出存储过程,触发器,序列等所有用户对象。(备份)在PL/SQL Developer的菜单Tools(工具) => Export User Objects(导出用户对象)中出来一个对话框界面建议红色框住部分都不选,这样执行这个sql 时,就根据当前你的登录账户来进行创建。 在对象列表中ctrl+a 全转载 2015-10-05 15:28:20 · 3036 阅读 · 0 评论 -
动态 SQL、EXECUTE IMMEDIATE、using、into、returning
很多时候我们需要在存储过程中使用动态的SQL,要怎么用好动态SQL呢,怎样执行效率最高呢。下面来介绍一下,如何使用动态SQL操作数据库。在存储过程中执行一个简单的SQL语句使用下面的方法即可。DECLAREBEGIN /* 使用该方法来创建一个新数据表,但这方法需要当前用户具有创建表的权限。 */ EXECUTE IMMEDIATE 'create table tes转载 2015-10-04 09:09:27 · 511 阅读 · 0 评论 -
Oracle RETURNING INTO 用法示例
DROP TABLE t1;DROP SEQUENCE t1_seq; CREATE TABLE t1 ( ID NUMBER(10), DESCRIPTION VARCHAR2(50), CONSTRAINT t1_pk PRIMARY KEY (id)); CREATE SEQUENCE t1_seq; INSERT INTO t1 V转载 2015-10-04 09:23:59 · 1660 阅读 · 0 评论