Oracle
文章平均质量分 81
君望永远
この世界、愛はあるの?
展开
-
利用 Oracle EM 企业管理器 进行oracle SQL的优化(自动生成索引)
应用情景项目中有大量的SQL,尤其是涉及到统计报表时,表关联比较多,当初开发建表时也没搞好索引关联的,上线后发现查询很低。Oracle自带的EM控制台带有自动优化功能,能给出优化方案,本人主要利用其来给出索引的建立方案,应用上后SQL查询效率大大提高。本人机器上安装的是oracle 11g启动EM的环境条件安装并正常启动oracle 11g确认oracle控制台的服务是启动的转载 2014-02-17 07:21:39 · 7031 阅读 · 1 评论 -
oracle 面向对象测试
关系数据库在不断地发展时,许多数据库引入了面向对象的思想,这其中以Oracle为代表,Oracle9i就号称面向对象数据库。 自Oracle9i以来,Oracle就不再是单纯的关系数据库管理系统,它在关系数据库模型的基础上,添加了一系列面向对象的特性。Oracle的对象体系遵从面向对象思想的基本特征,许多概念同C++,JAVA中类似,具有继承,重载,多态等特征,但又有自己的特点。1、 Or原创 2012-01-12 11:06:56 · 705 阅读 · 0 评论 -
基础的SQL语句
一、SQL基础知识1、DDL(数据定义语言)1)创建数据表--创建数据表createtable Test(Idint not null, Agechar(20)); --创建数据表createtable T_Person1(Idint not null,Name nvarchar(50),Age原创 2012-01-13 17:28:51 · 1082 阅读 · 0 评论 -
ORACLE 日期加减函数
ADD_MONTHS:加月 SELECT SYSDATE,ADD_MONTH(SYSDATE,1) FROM DUAL; SYSDATE ADD_MONTHS(SYSDATE,1) ----------- --------------------- 03-1-8 16:2 03-2-8 16:21:59原创 2012-01-10 17:20:43 · 12923 阅读 · 0 评论 -
exp时,ORA-00932: 数据类型不一致解决方法
现象:EXP-00056: 遇到 ORACLE 错误 932ORA-00932: 数据类型不一致: 应为 BLOB, CLOB, 但却获得 CHAR EXP-00000: 导出终止失败 解决方法:运行2个脚本: SQL> @?/rdbms/admin/catmetx.sql SQL> @?/rdbms/admin/utlrp.sql原创 2012-01-11 18:03:55 · 2577 阅读 · 0 评论 -
Oracle make_ref 报错 binary Number
drop type abcType force;CREATE OR REPLACE TYPE abcType AS OBJECT( SHISAN_NO NUMBER(20), SHISAN_EDABAN NUMBER(3), SHISAN_MEISAI_NO NUMBER(5), NENDO number(4), NENDO_MEISHO原创 2012-01-11 15:33:32 · 802 阅读 · 0 评论 -
ORACLE日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyy原创 2012-01-10 17:20:00 · 790 阅读 · 0 评论 -
Oracle笔记 十四、查询XML操作、操作系统文件
--1.随机数select dbms_random.value from dual;select mod(dbms_random.random, 10) from dual;--0-9随机数select abs(mod(dbms_random.random, 10)) from dual;--40-49随机数select 40 + abs(mod(dbms_random.r原创 2012-01-09 20:22:32 · 593 阅读 · 0 评论 -
Oracle笔记 十三、PL/SQL面向对象之package
--将方法和过程用包定义create or replace package pkg_empas --输入员工编号查询出员工信息 procedure pro_findInfo( in_empno emp2.empno%type, out_name out emp2.ename%type, out_sa原创 2012-01-09 20:21:08 · 559 阅读 · 0 评论 -
Oracle笔记 十一、PL/SQL函数和触发器
--创建函数create or replace function add_sal(sSal number) return numberisbegin if (sSal > 5000) then return sSal + 51; elsif (sSal > 3000) then return sSal + 111; else原创 2012-01-09 20:17:56 · 536 阅读 · 0 评论 -
Oracle笔记 十、PL/SQL存储过程
--create or replace 创建或替换,如果存在就替换,不存在就创建create or replace procedure pis cursor c is select * from dept2 for update;begin for row_record in c loop if (row_record.deptno = 30) the原创 2012-01-09 20:17:17 · 464 阅读 · 0 评论 -
Oracle笔记 九、PL/SQL 游标的使用
--演示隐式游标,系统自动声明,自动打开,自动使用并且自动关闭begin update emp set sal = 1000; dbms_output.put_line('影响的行数:' || sql%rowcount);end; rollback; /*游标的使用方法:第一步:声明游标第二步:打开游标第三步:使用游标进行循环操作第四原创 2012-01-09 20:16:33 · 509 阅读 · 1 评论 -
Oracle笔记 七、PL/SQL 异常处理
--异常处理declare sNum number := 0;begin sNum := 5 / sNum; dbms_output.put_line(sNum);exception when others then dbms_output.put_line('is Error!');end; --自定义异常declare原创 2012-01-09 20:09:55 · 480 阅读 · 0 评论 -
30 +创意的登录页面设计灵感
1. WP login page2. Member Login Page3. Virtual Login Page4. Green Globe Ideas5. Yahoo! Login Page6. Login Window7. Mail Chimp8. Music Battle login 9. How-r-u10. M原创 2012-01-13 17:53:24 · 1248 阅读 · 0 评论 -
Oracle中对象表,ref及deref 对象表的使用
ORACLE在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种各样的成员函数、存储过程等等。对象表是指该表的一行就是一个对象,有一个OID(object ID),对象表之间没有主外键关联的概念,为了体现这层关系,oracle中用了ref对象来实现。下面例子,创建一个地址类型,一个人员类型,人员有地址属性,所以在人员类型中原创 2012-01-13 13:58:12 · 666 阅读 · 0 评论 -
PLSQL select into 为空的时候 语句容易报错的处理方法
说明:使用select...into语句时,如果查询返回的数据不是1行,就会报no_data_found或者to_many_rows两种异常。案例:根据部门号,查询部门名称。处理方法:巧用聚合函数处理DECLARE v_dname dept.dname%TYPE;BEGIN SELECT MAX(dept.dname) INTO v_dname FROM de原创 2012-03-16 16:04:08 · 9160 阅读 · 1 评论 -
Oracle存储过程优化小实践
近日,接触到ORACLE 存储过程的优化问题,业务过程非常简单。该存储过程的主要DML操作就是UPDATE,需要根据某个条件对数据表的某个字段进行更新,其中使用到游标。之后写了个测试的例子,以下具体介绍。 测试环境: OS:WINDOWS XP +Intel(R) 2CPU(1.60GHz) + 1GB 数据库: ORACLE10g 测试数据转载 2013-06-13 16:35:45 · 1149 阅读 · 0 评论 -
fetch bulk collect into 批量效率的读取游标数据
通常我们获取游标数据是用 fetch some_cursor into var1, var2 的形式,当游标中的记录数不多时不打紧。然而自 Oracle 8i 起,Oracle 为我们提供了 fetch bulk collect 来批量取游标中的数据。它能在读取游标中大量数据的时候提高效率,就像 SNMP 协议中,V2 版比 V1 版新加了 GET-BULK PDU 一样,也是用来更高效的批量转载 2013-06-13 16:34:51 · 770 阅读 · 0 评论 -
Oracle 11G TNSListener不能启动,错误3:系统找不到指定路径
我的oracle服务是手动启动的,使用360禁用User Profile services后重启后发现电脑进入的用户是administator,桌面上常用的软件图标都不见了,赶紧又启用该服务,但是OracleOraDb11g_home1TNSListenerr无法启动了,上网查了查,还好处理很简单,记录下来备用。 在Windows服务器管理器中,手动启动OracleOraDb11g原创 2013-02-16 15:27:29 · 10509 阅读 · 0 评论 -
oracle导入导出dmp数据库文件
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中原创 2012-12-17 11:00:09 · 1096 阅读 · 0 评论 -
oracle数据库导入导出命令!
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过Net Configuration Assistant添加正确的服务命名,其转载 2012-12-21 22:16:28 · 891 阅读 · 0 评论 -
如何查看Oracle情况(比如ASP.NET)
1、查看每个oracle帐户的连接总数Sql代码 select username,count(username) from v$session where username is not null group by username 2、缺省从 v$session 中不能直接获得客户端 IP,可以在数据库中创建一个追踪客户端IP地址的触发器:原创 2012-09-24 17:18:24 · 768 阅读 · 0 评论 -
Oracle10G多台服务器同步高级复制
需求:公司网站需要在北京网通和上海电信建两台Oracle10G服务器,数据必须实时同步,本来准备用物理镜向的RAC,但它对于数据通信占用流太大,而它的主要功能是做为分步式数据备份使用,而现在公司需求是两台数据时实同步,所以选择实时高级复制;环境:Oracle版本10.2.0.1,安装路径无限制,北京glabol_name为:db.bj.com,上海glabol_name为:sh.bj.com转载 2012-08-09 13:44:27 · 3093 阅读 · 0 评论 -
Oracle手动创建数据库
create database testlogfile group 1 ('/data1/dbstat/redo1.log') size 50M, group 2 ('/data1/dbstat/redo2.log') size 50M, group 3 ('/data1/dbstat/redo3.log') size 50Mcharacter set ZHS原创 2012-07-03 18:50:19 · 604 阅读 · 0 评论 -
Oracle 报错 ORA-27101 Shared memory realm does not exist
--Oracle常见错误之一事先说明,Oracle高手是不需要看本文的。这是个Oracle数据库服务器比较常见的错误。有经验的用户几乎马上就能解决这个错误,再不济也能马上到Metalink(http://metalink.oracle.com)去搜索一下。不幸的是,大多的时候,都是初级用户遇到的这样的问题(对他们提Metalink也起不到什么作用--一般都没有上面的帐号。所原创 2012-07-09 16:50:15 · 892 阅读 · 0 评论 -
RED HAT ES 5.4 X64安装ORACLE 10G R2 64bit
REDHAT 5.4 64bit 安装oracle 10G 64BIT1、检查包rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glib原创 2012-07-09 16:50:53 · 914 阅读 · 0 评论 -
Linux 实践 Oracle 10g X64
1 Windows XP下用xmanager远程桌面控制Linux之redhat 5 点击打开链接2 CentOS5 root用户vi无法语法着色的解决办法 http://hi.baidu.com/xiguaboy/blog/item/fa31b2111cc16f7ccb80c4fc.html3 Linux RedHat Enterprise 5.4 X64上原创 2012-07-09 16:47:13 · 729 阅读 · 0 评论 -
oracle10g 启动及关闭命令
Oracle10g和之前的Oracle似乎有点不一样.照理来说,直接使用bin下的dbstart就可以启动了,可是奇怪的就是启动不了.后来我从网上搜索了以下,并且在自己的机器上测试了一下,总算是找到一个可行的办法:1. 启动Oracle10g 以Oracle帐号登陆Linux,或者从root下输入su - oracle变成oracle帐号,然后进入bin目录输入sqlplus原创 2012-07-09 16:49:17 · 3577 阅读 · 0 评论 -
Oracle笔记 六、PL/SQL简单语句块、变量定义
1、简单SQL语句,HellWorld示例--输出信息begin dbms_output.put_line('Oracle Hello World!');end; 2、变量的定义、使用--定义变量declare sName varchar2(20);begin sName := 'jack'; dbms_output.put_line(sNa原创 2012-01-09 20:08:36 · 640 阅读 · 0 评论 -
Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间
alter table userInfo add(msn varchar2(20)); 1、建表 create table userInfo ( id number(6), name varchar2(20), sex number(1), age number(3), birthday da原创 2012-01-09 20:07:05 · 608 阅读 · 0 评论 -
Oracle笔记 四、增删改、事务
1、插入 insert into dept values(50, 'soft', 'Guangzhou'); insert into dept(deptno, dname) values(60, 'software test'); insert into dept select * from dept where deptno = 20; 2、删除原创 2012-01-09 20:03:53 · 561 阅读 · 0 评论 -
Oracle spool 用法小结
关于SPOOL(SPOOL是SQLPLUS的命令,不是SQL语法里面的东西。)对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如:select taskindex||'|'||commonindex||'|'||tasktype||'|'||to_number(to_char(sysdate,'YYYYMMDD')) from ssrv_sendsms_t转载 2011-11-14 17:41:04 · 686 阅读 · 0 评论 -
oracle中,分组后,取各组的前n条记录的sql语句:rownumber() over()
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码. row原创 2011-10-25 11:37:24 · 730 阅读 · 0 评论 -
利用PL/SQL读写文件
恩,这是上星期五去面试的时候的面试问题,当时没回答上来,因为根本没用过,都是利用Java进行文件的读写的,我也不知道在PL/SQL中读写文件有什么好处,权当扩大一下知识面吧。首先,我们需要用到Oracle的DIRECTORY,DIRECTORY简单的说就是一个目录,可以存原创 2011-08-15 11:38:17 · 1472 阅读 · 1 评论 -
用PLSQL 发送邮件 UTL_SMTP
CREATE OR REPLACE PROCEDUREPRO_SEND_MAIL(p_recipient VARCHAR2, -- 邮件接收人 p_subject VARCHAR2, --原创 2011-08-15 09:41:10 · 3554 阅读 · 0 评论 -
oracle11g新特性-安全性 发送邮件 报错ora-24247 解决方法
适用于 UTL_TCP/HTTP/SMTP 的访问控制列表您可能熟悉 UTL_TCP、UTL_HTTP 和 UTL_SMTP这些程序包,它们支持数据库领域外的服务器之间的通信。例如,utl_tcp 用于在两台主机间建立 TCP/IP通信,而不是通过数据库链接。类似地,utl_原创 2011-08-15 09:43:41 · 6205 阅读 · 2 评论 -
用Java开发Oracle存储过程
从Oracle 8i开始,Oracle数据库就全面引入了实用的Java虚拟机 – Oracle JVM。Oracle和Java之间的这种紧密关系,使得一个非常重要的技术,出现在Oracle开发人员面前:Java存储过程。通过Java存储过程,开发人员在创建数据库应用的时候,就原创 2011-08-13 00:11:41 · 1253 阅读 · 0 评论 -
SQL文的性能优化
<br />我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。<br /><br /><br />(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): <br /><br />Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection tab原创 2011-04-08 11:34:00 · 2162 阅读 · 0 评论 -
oracle 查看变量和表结构
<br />一、oracle查看参数:<br />show parameter 参数名,此命令支持模糊查询,如无此参数,将会列出所有参数,非常方便<br />show parameter utl;<br />//此命令可查看init.ora中设置的保存字典文件的路径参数UTL_FILE_DIR<br />查看一个参数修改是否需要重启数据库<br />select name,value ,ISSYS_MODIFIABLE from v$parameter<br />如果ISSYS_MODIFIAB原创 2011-03-06 11:38:00 · 2764 阅读 · 0 评论 -
Php操作oracle数据库
<br />本人由于工作关系使用Oracle数据库,发现这里用的人不多,但时常发现有人提的关于PHP操作ORACLE数据库的问题得不到回答,我也曾问过几个,但也无人响应,因此决定把本人在工作中积攒起来的一些技巧、经验奉献出来,希望对使用oracle数据库的人有所帮助。<br />一、配置环境:<br />访问Oracle8以上的数据库需要用到Oracle8 Call-Interface(OCI8)。这个扩展模块需要Oracle8 的客户端函数库,因此需要你要连接远程Oracle数据库的话,还原创 2011-03-06 11:37:00 · 990 阅读 · 0 评论