ORACLE - 技术教程文章

Oracle DataBase 各种版本资源路径汇总

以下资源链接均为官网资源,请使用迅雷即可下载。11G适用于 Microsoft Windows(32 位)的 Oracle Database 11g 第 2 版 (11.2.0.1.0)http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.ziphttp://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip适用于 Microsoft Windows(32 位)的 Oracle Database 11g 第 2 版 Client (11.2.0.1.0)http://download.oracle.com/otn/n...

【ORACLE】DUMP转储 redo log , undo段及table段

1.1 使用oradebug--启动任务oradebug setmypid--设置dump文件的名称标示alter session set tracefile_identifier=undo--查看dump文件SQL> oradebug tracefile_name;c:\opt\oracle\product\10.2.0\admin\rundb\udump\rundb_ora_6660_pra1.trc--设置权限oradebug unlimit--查看可以转储的列表:SQL> oradebug dumplistEVENTSTRACE_BUFFER_ONTRACE_BUFFER_OFF--oradebug dump 命令(1) oradebug dump buffers 1 转储缓冲区信息: 1=仅...

Oracle PLSQL Demo - 13.游标的各种属性[Found NotFound ISOpen RowCount CURSOR]【代码】

declarer_emp scott.emp%rowtype;cursor cur_emp isselect t.*from scott.emp t;beginopen cur_emp;if cur_emp%isopen thendbms_output.put_line(‘is open...‘);endif;loopfetch cur_empinto r_emp;if cur_emp%found thendbms_output.put_line(‘found...‘);endif;if cur_emp%notfound thendbms_output.put_line(‘not found...‘);endif;exitwhen cur_emp%notfound;dbms_output.put_line(cur_emp%rowcount||‘ -> ‘|| r_emp.e...

oracle——数据表的相关操作——重新命名一个列名【代码】

createtable student05 ( student_id numbernotnull,student_name varchar2(20),student_age number,status varchar2(2),version numberdefault0) tablespace testselect*from student05;数据表的相关操作1、增加新列altertable student 用于修改表的结构,add用于增加列,注意此处没有column关键字;小括号内是列以及列的数据类型;用户可以一次性为表增加多个列,各列之间使用逗号进行分隔。altertable student05 add( class_id ...

Oracle(二)--> 视图详解(多图高清加叨叨,还怕懂不了?)【图】

一、什么是视图。1、视图是一种虚表;2、视图建立在已有表的基础上,视图来一建立的这些表称为基表;3、向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELECT语句;4、视图向用户提供基表数据的另一种表现形式。二、为什么使用视图1、提供了另外一种级别的表的安全性(控制数据访问:不想让每个人都看到)2、隐藏了数据的复杂性3、简化了用户的 SQL 命令4、隔离基表结构的改变5、通过重命名列,从另一个角度...

Writing Text File From A Tabular Block In Oracle Forms

The example given below for writing text file or CSV using Text_IO package from a tabular block in Oracle Forms. Suppose there is a tabular grid data block "Job_History" in your forms and you want to write a CSV on click of a button by reading whole block from top to bottom. The following is the demo screen shot: You can also download this form from this link Job_History_Csv.fmb. Write the follo...

免安装Oracle客户端使用PL/SQL连接Oracle

只需要在Oracle下载一个叫Instant Client Package的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的。 下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html 登陆帐户QQ邮箱 下载这个,Instant Client Package - Basic包。然后解压到任意目录,在这个目录下建立NETWORK文件夹,接着再这个文件夹下再建立ADMIN文件夹,然后建立t...

Oracle数据库常用SQL

Oracle数据库创建实例的过程类似于Sql server创建数据库,Oracle一个实例可以对应多个表空间,一个表空间对应一个用户,根据不同的用户名、密码登录不同的表空间。因此,创建表空间后,紧接着要创建用户并为其指定表空间。并授权给该用户,一般是connect、resource、dba权限 grant connect,resource,dba to yun 查询数据库名称:select name from v$database; 怎样查得数据库的sid、系统环境变量select name from v$database; 创建...

C#操作oracle 到ExecuteNonQuery卡死不执行

方法1:可能大家都解决了,我也遇到这个问题,c#更新卡住,但是plsql更新没问题。一直没找到答案,无意中想起,可能是oracle的表锁定了。 用下面的方法,顺利解锁保存了。SELECT /*+ rule*/ a.sid, b.owner, object_name, object_type FROM v$lock a, all_objects b WHERE TYPE = ‘TM‘ and a.id1 = b.object_id; 查到的都是被锁的表 替换&sid参数SELECT sid,serial# FROM v$session WHERE sid = &sid; 根据上条语句查出的seri...

Oracle - 数据库的实例、表空间、用户、表之间关系【代码】【图】

完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等); 2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。Ora...

windows下plsql安装并配置oracle client【图】

1、先下载pl/sql,安装、破解;这里提供一个自己制作的plsql11本版的绿色汉化破解版:http://down.51cto.com/data/2075386http://download.csdn.net/detail/abc2536465230/8939917这两个都是一样的。2、下载oracle的instanct client的base版文件;官网连接:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html这里我选择是32的系统,虽然我是64的win7。网上资料说plsql不支持64的oracle clien...

oracle

CREATE TABLE employee_fanchuanqi( id NUMBER(4), name VARCHAR2(20), gender CHAR(1), birth DATE, salary NUMBER(6,2), job VARCHAR2(30), deptno NUMBER(2)); DESC table_name:查看表结构看到表的列的名字,以及对应的类型,长度等DESC employee_fanchuanqi;删除一张表的语法DROP TABLE table_nameDROP TABLE employee_fanchuanqiDEFAULT关键字用于为给定的列(字段)设置默认值CREATE TABLE employee( id NUMBER(4), ...

Oracle分析函数【代码】【图】

先通过一个例子,直观的感受下分析函数的简洁方便:createtable CRISS_SALES (DEPT_ID VARCHAR2(6), --部门号SALE_DATE DATE, --销售日期GOODS_TYPE VARCHAR2(4), --货物类型SALE_CNT NUMBER(10) --销售数量 );插入测试数据:insertinto CRISS_SALES values (‘D01‘, TO_DATE(‘20140304‘, ‘YYYYMMDD‘), ‘G00‘, 700); insertinto CRISS_SALES values (‘D02‘, TO_DATE(‘20140306‘, ‘YYYY...

Oracle存储过程 输出参数赋值异常:“Oracle.DataAccess.Types.OracleString”的类型初始值设定项引发异常。

场景:写了一个有返回参数的存储过程,在个另开发人员机器上都正常。其它机器报如题错误。让人郁闷的是,所有调用方都是客户端,根本不存在网上众贴所说的版本不一致问题。分析:虽然网上的帖子没有根本解决问题,但还是给了些丝路。参数值类型问题。而且,我也把输出参数赋值语句注释后,也可以正常调用(只是结果没返回)。尝试了将类型转为Oracle的OracleString,强制转clr的string,都不行。dicParaOut[kvp.Key] = (string)c...

探索Oracle之数据库升级八 12c Downgrade 11gR2

探索Oracle之数据库升级八 12c Downgrade 11gR2前言: 我们前面已经完成了11gR2 upgrade to 12c 的升级,整个过程还是比较顺利的,虽然和以前版本升级有些不太一样,但是整个难度不是太大,但是由于太多的特性不同,大大的加长了升级的时间。 但是对于Oracle 12c降回到之前版本,会有些限制,只能降级到升级前所用的版本和补丁级别。 如果我们是直接从10.2.0.5、11.1.0.7或版本11.2.0.2及更高版进行升级。那么将...

oracle如何导出和导入数据库/表【图】

oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作,简单记录下,毕竟好记性不如烂笔头嘛!  oracle的imp/exp就相当于oracle数据的还原与备份,利用这个功能我们可以构建两个相同的数据库,一个用于正式的,一个用户测试,一般情况下,我们常用的是将服务器的数据导出来,放在本地进行测试,以便发现问题并改正。  ...

WebServices in Oracle 11g【代码】

前言:本文档介绍ORACLE通过UTL_DBWS去调用Web Serices的服务,关于web service网上有一篇文档写的不错,http://www.ruanyifeng.com/blog/2009/08/what_is_web_service.html,一次业务的需要也要用来这个服务,以下是整个配置的过程。 附:http://oracle-base.com/articles/10g/utl_dbws-10g.php或http://blog.csdn.net/cai_xingyun/article/details/40951595(ORACLE官方的配置步骤),由于配置的过程中发现了一点点的不一样,就因...

Oracle 删除重复数据只留一条

查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVI...

oracle常用SQL语句(汇总版)

Oracle数据库常用sql语句ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分1.INSERT (往数据表里插入记录的语句)INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号‘‘...

Oracle、MySql、Sql Server比对【代码】

1. 价格MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议。假设你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你能够遵循GPL协议免费使用MySQL。否则,你须要购买MySQLAB制定的那个商业许可协议。Windows $200,Unix或Linux自行安装免费,.Unix或Linux第三方安装$200。Sql Server:适中. SQL 2008 标准版:[1CPU 无限用户 R2 版本号] ¥31900 [R2 5用户] ¥5500 SQL 2...

linux下oracle如何启动数据库

首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令:第一步:打开Oracle监听$ lsnrctl start第二步:进入sqlplus$ sqlplus /nologSQL>第三步:使用sysdab角色登录sqlplusSQL> conn /as sysdba第四步:启动数据库SQL> startup经过上面的四个步骤,oracle数据库就可以启动了。原文:http://www.cnblogs.com/bingyangzhang/p/4206987.html

IIS8无法调用Oracle.DataAccess .dll问题

之前在.net平台下操作Oracle都是用的oracle.dataaccell.dll引用,但是服务器升级为II8后,发布的新服务有关Oracle数据库部分都无法运行,调试了好久发现是IIS8不支持低版本的Oracle.dataAccess.dll文件,需更新为新版本的Oracle.ManagedDataAccess.dll,下载链接如下:http://pan.baidu.com/s/1kUXElyn原文:http://www.cnblogs.com/gongheng/p/5766495.html

Oracle查询中文乱码【代码】

1.查询Oracle服务端字符集SQL> select userenv(‘language‘) from dual ;USERENV(‘LANGUAGE‘) -------------------------------------------------------------------------------- AMERICAN_AMERICA.AL32UTF82.设置Oracle客户端字符集export NLS_LANG=AMERICAN_AMERICA.UTF83.设置操作系统字符集vi /etc/sysconfig/i18nLANG="zh_CN.UTF-8"source /etc/sysconfi/i18n 原文:https://www.cnblogs.com/xyz0601/p/11091289.html

oracle中的记录类型【代码】【图】

单词RECORD有“记录”的意思,因此RECORD也称为“记录类型”,使用该类型的变量可以存储由多个列值组成的一行数据。在声明记录类型变量之前,首先需要定义记录类型,然后才可以声明记录类型的变量。其语法格式如下: type record_type id record ( var_memeber1 datatype [not null] [:=dafault_value] ... var_memebern datatype [not null] [:=dafault_value] )record_type:表示要定义的记录类型名称。var_member1:...

oracle12c创建用户和表空间出现的问题【图】

Oracle12c 中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为 ContainerDatabase,中文翻译为数据库容器,PDB全称为PluggableDatabase,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对 多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的...

Oracle procedure

@创建过程的语法CREATE [OR REPLACE] PROCEDURE  <procedure name>[(<parameter list>)]IS|AS  <local variable declaration>BEGIN  <excutable statements>[EXCEPTION(异常部分)  <exception handlers>]END;原文:http://www.cnblogs.com/Nyan-Workflow-FC/p/5075412.html

Oracle 数据库字典 sys.obj$ 表中关于type#的解释

sys.obj$ 表是oracle 数据库字典表中的对象基础表,所有对象都在该表中有记录,其中type#字段表明对象类型,比如有一个表 test ,则该对象在sys.obj$ 中存在一条记录,name列为test, type#列为2,表示该对象是一个表。该列的其他数值含义如下表所示,以供参考。值解释0next object1index2table3cluster4view5synonym6sequence7procedure8function9package11package body12trigger13type14type body19table partition20index parti...

oracle管道函数的用法【代码】【图】

oracle管道函数是一类特殊的函数,oracle管道函数返回值类型必须为集合,下面将介绍oracle管道函数的语法。在普通的函数中,使用dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端。如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以使用管道函数(pipeline function)。关键字PIPELINED表明这是一个oracle管道函数,oracle管道函数的返回值类型必须为集合,在函数中,PIPE ROW语句...

AIX给oracle添加裸设备数据文件

平台:AIX 5.3 单机存在一个空闲磁盘hdisk1总体思路:物理卷PV->卷组VG->逻辑卷LV(类型:raw)->添加表空间 1.查看所有可用卷组# lsvg -orootvg 2.创建ORACLE的卷组datavg# smitty lvm Volume Groups Add a Volume Group Add an Original Volume Group ...

九、oracle 事务【代码】

一、什么是事务事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml(数据操作语言,增删改,没有查询)语句要么全部成功,要么全部失败。如:网上转账就是典型的要用事务来处理,用于保证数据的一致性。 二、事务和锁当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户修改表的结构。这里对我们的用户来讲是非常重要的。 三、提交事务当用commit语句执行时可以提交事务。当执行了commit语句之...