Oracle
tianlincao
09年毕业后一直从事J2EE企业应用的开发工作,有丰富的应用软件开发和优化经验。喜欢运动,崇尚一切自由的东西,关注行业新动态。tip:如果你不能改变世界,那就改变自己。
展开
-
sqlServer中 分类报表sql技巧 ,很实用
有表 tableA 如下:-----------------------------------------------------id, type , countNumber , countDate1 A 10 2005-02-01 21:23:342 B 8 2005-02-01 21:23:343 C 5 2005-02-01 21:23:344 B 4 200转载 2008-10-12 14:50:00 · 460 阅读 · 0 评论 -
有效创建oracle dblink 的两种方式
<br /> 两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。<br /> 其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。<br /> 创建可以采用两种方式:<br /> 1、已经配置本地服务<br /> <br />以下是引用片段:<br /> create public database <br /> link fwq12 co原创 2011-05-27 16:20:00 · 547 阅读 · 0 评论 -
Oracle Connect By Start With 用法
Oracle 实在太强了,本篇文章详细介绍了Oracle的递归查询语法,利用此语法,可以方便地实现递归的双向查询:-- Tirle : Recursion query for TREE with "connect by/start with"-- Author : Rake Gao-- Create Date : 2005-08-22-- Version : 2.0-- Last Modify : 2005-08-22目 录一、测试准备原创 2011-05-31 16:55:00 · 703 阅读 · 0 评论 -
Oracle 程序操作系统任务计划
<br />在linux中新建一个.sh文件,如:/home/day.sh 代码如下:<br />. /oracle/.bash_profile$ORACLE_HOME/bin/sqlplus username/passwd@orcl<<!exec myprocedure; exit! <br /> <br />然后在Linux 系统任务crontab 中添加任务,如:<br />00 19 * * * sh /home/day.sh <br />上面代码意思每天晚上7:00原创 2011-04-28 15:34:00 · 543 阅读 · 0 评论 -
Oracle语句优化53个规则详解
Oracle语句优化53个规则详解Oracle sql 性能优化调整1. 选用适合的ORACLE优化器ORACLE的优化器共有3种:a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)设置缺省的优化器,可以通过对i原创 2011-09-01 08:26:57 · 467 阅读 · 0 评论 -
Oracle 的并发与多版本
好久没操作Oracle了,关于并发和多版本的一些概念:http://www.linuxidc.com/Linux/2011-10/46268.htm 还记得使用并发控制时用到过: select count(*) num from where id = for update no wait skip locked 方式加行锁来防止脏读,如果num为0则为脏数据,num>0则没被加锁,可以处原创 2012-01-05 11:32:13 · 1410 阅读 · 0 评论 -
SQL 递归写法 (oracle+db2)
Oracle 递归方式:一、建表 CREATE TABLE USERS.TBL_TEST ( ID NUMBER, NAME VARCHAR2(100 BYTE), PID NUMBER DEFAULT 0 ) INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0'); INSERT INTO TBL_TEST(ID,NAME,PID)原创 2012-02-14 15:33:29 · 5422 阅读 · 0 评论 -
Select 语句执行顺序以及如何提高Oracle 基本查询效率
今天把这几天做的练习复习了一下,不知道自己写得代码执行的效率如何以及要如何提高,于是乎上网开始研究一些材料,现整理如下: 首先,要了解在Oracle中Sql语句运行的机制。以下是sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2)语义分析,检查语句中涉及的所有数据库对象是否存转载 2012-05-03 21:12:21 · 925 阅读 · 0 评论 -
oracle备份与恢复
转自:http://blog.csdn.net/l106439814/article/details/6727983完全恢复:前提条件:所需要的归档日志文件和online redolog都在方式一、数据库在打开的情况下进行恢复适合的环境:普通数据文件损坏(非system、undo的表空间的数据文件)环境准备: 1、以scott用户登入,往原创 2012-05-28 15:45:58 · 556 阅读 · 0 评论 -
RMAN 备份与恢复 实例
网上找的,很详细。转自:http://blog.csdn.net/l106439814/article/details/66614131. 检查数据库模式: sqlplus /nolog conn /as sysdba archive log list (查看数据库是否处于归档模式中) 若为非归档,则修改数据库归档模式。 sta原创 2012-05-28 15:44:17 · 590 阅读 · 0 评论 -
Oracle 如何查看执行计划
执行计划是SQL调优的最基本方法,查看执行计划的方法很多,不过我经常偷懒直接用PLSQL DEV来F5一下就完事了,这样下去很多能力都要退化了,下面看一下有哪些办法直接查看执行计划。数了一下,简单列出的就有5种之多。1、直接使用sqlplus系统参数:SQL> set autotrace on explainSQL> select * from dual;D-X Exe原创 2012-05-30 10:23:13 · 714 阅读 · 0 评论 -
向视图中插入数据的方法
<br />插入视图的条件: <br /> 1.如果视图是基于一个基础表产生的,那么这就称为非连接视图,所有的非连接视图都是可以更新的,也就是说可以在该视图上进行,INSERT,UPDATE,DELETE的操作.<br /> 2.如果是连接视图,那就要遵守基本更新准则了.现在我只对INSERT准则做一下说明:在INSERT语句中不能显式或隐式的引用到任何非码保留基础表中的字段,如果在定义视图中使用了WITH CHECK OPTION子句,那就不能对视图执行INSERT操作.<br /> 注:码保留表,原创 2011-02-14 11:35:00 · 18041 阅读 · 0 评论 -
Oracle 数据导出 ociuldr
一、导出数据d:/>ociuldr user=test/test@acf query="select * from test" file=test.txt table=test二、查看导出内容1,a2,b3,c4,d5,e6,f三、查看自动生成的控制文件---- Generated by OCIULDR--OPTIONS(BINDSIZE=8388608,READSIZE=8388608,ERRORS=-1,ROWS=50000)LOAD DATAINFILE 'test.txt' "STR X'0a'"I转载 2011-01-26 18:52:00 · 1967 阅读 · 0 评论 -
Oracle job说明
初始化相关参数job_queue_processes alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000 ;job_queue_interval = 10 //调度作业刷新频率秒为单位 job_queue_process 表示oracle能够并发的job的数量,可以通过语句 show parameter job_queue_process; 来查看oracle中job_queue_process的值。当job_qu原创 2011-01-20 15:49:00 · 981 阅读 · 0 评论 -
我平常用的分页存储过程(效率好高)
--创建包CREATE OR REPLACE PACKAGE my_paginationas type cur_query is ref cursor; --返回记录指针 PROCEDURE prc_query( p_tableName in varchar2,--表名 p_strwhere in varchar2,--查询条件 p_orderColumn in v原创 2008-12-18 16:07:00 · 496 阅读 · 3 评论 -
怎样识别IO竞争和负载平衡
select df.name 文件名,fs.phyrds 读次数,fs.phywrts 写次数,(fs.readtim/decode(fs.phyrds,0,-1,fs.phyrds)) 读时间,(fs.writetim/decode(fs.phywrts,0,-1,fs.phywrts)) 写时间from v$datafile df,v$filestat fswhere df.file#=fs.原创 2008-12-18 16:06:00 · 659 阅读 · 0 评论 -
查询杀死死锁进程
当ORACLE 中的线程被KILL后,还是不释放资源,就可以根据下面这条语句查出被锁死的线程:select a.spid,b.sid,b.serial#,b.username from v$process a,v$session b where a.ADDR=b.PADDR and b.STATUS=KILLED; 当然查出来是第一步,在PL SQL Developer中原创 2008-12-18 16:14:00 · 675 阅读 · 0 评论 -
一个账单存储过程
-------------------------------------------------------- Export file for user PRM ---- Created by Administrator on 2008-12-17, 15:30:58 ----------------------------------------原创 2008-12-23 09:13:00 · 712 阅读 · 0 评论 -
Oracle中的 UPDATE FROM 解决方法
Oracle中的 UPDATE FROM 解决方法2009-03-07 21:49在Oracle中没有update from这样的语法,但可以实现同样的功能。表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它原创 2009-09-30 13:10:00 · 412 阅读 · 0 评论 -
将excel数据 导入到orace
数据量很大,用pl/sql developer 粘贴内存不够(>100000条数据),本身就推荐使用SQL*LOAD : 1。将excle数据XLS格式 另存为: CSV格式,注意,这里是另存为,不要直接改后缀名,否则,数据格式不是以逗号形式隔开,就是保持类型那里选 “CSV(逗号分隔符) (*.CSV)”。2。编写input.ctl文件:内容如下:load data --原创 2010-01-14 13:46:00 · 1103 阅读 · 0 评论 -
[分享]Oracle数据导入导出imp/exp命令
Oracle数据导入导出imp/exp命令 Oracle 数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把 dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以转载 2009-11-23 11:07:00 · 886 阅读 · 0 评论 -
Oracle用户权限表的管理方法
<br />我们将通过介绍命令的方式,谈谈Oracle用户权限表的管理方法,希望对大家有所帮助。 <br /> 我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle用户权限表有个深入的了解。 <br />一、创建<br /> sys;//系统管理员,拥有最高权限 <br /> system;//本地管理员,次高权限 <br /> scott;//普通用户,密码默认为tiger,默认未解锁 <br /> sys;//系统管理员,拥有最高权限 <br /> sy原创 2010-07-12 15:37:00 · 522 阅读 · 0 评论 -
oracle中row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
<br />row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). <br /> 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.<br /> row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序).转载 2010-06-21 17:24:00 · 2458 阅读 · 0 评论 -
Oracle新增自增一的主键字段和赋值代码
数据表名:TM_LANGUAGE主键字段名:TM_LANGUAGE_ID数据表序列:SEQ_TM_LANGUAGE详细SQL代码:--新增主键(没有主键字段,则新增一个主键字段,然后赋值,然后再添加主键)SELECT * FROM TM_LANGUAGE--删除列alter table TM_LANGUAGE drop COLUMN TM_LANGUAGE_ID ;SELECT * FROM TM_LANGUAGE--新增列alter table TM_LANGUAGE add TM_LANGUAGE_I转载 2010-10-13 11:14:00 · 3802 阅读 · 0 评论 -
oracle中日期类型与unix 时间戳的转换
Unix时间戳记是从'1970-01-01 00:00:00'GMT开始的秒数,表现为整数型。Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数(1)从Unix时间戳记转换为Oracle时间create or replace function unix_to_oracle(in_number NUMBER) return date isb转载 2012-09-16 10:27:49 · 3613 阅读 · 0 评论