Oracle
文章平均质量分 71
mustbelove
相信未来
展开
-
Oracle开发专题之:级联查询(Hierarchical Queries)
一、级联数据的表示:首先我们来看一张关于组织架构的结构图这张图是一个典型的“树型结构图”,只有一个根节点(King),其下有若干个分支节点,每个分支节点下又有若干个子节点或树叶节点。假如我们要把这些关系信息映射到数据库中(此处以Oracle9i数据库为例),表结构应当如何表示呢?CREATE TABLE EMPLOYEE (EMP_ID NUMBER (4) CO转载 2008-10-04 21:07:00 · 959 阅读 · 0 评论 -
ORACLE中添加删除主键
1、创建表的同时创建主键约束(1)无命名create table student ( studentid int primary key not null, studentname varchar(8), age int);(2)有命名create table students ( studentid int , studentname varchar(8), age转载 2007-06-01 16:41:00 · 118632 阅读 · 1 评论 -
在Oracle中实现定时操作
在Oracle中实现定时操作众所周知,一般操作系统会提供定时执行任务的方法,例如:Unix平台上提供了让系统定时执行任务的命令Crontab。但是,对于某些需求,例如:一些对数据库表的操作,最为典型的是证券交易所每日收盘后的结算,它涉及大量的数据库表操作,如果仍然利用操作系统去定时执行,不仅需要大量的编程工作,而且还会出现用户不一致等运行错误,甚至导致程序无法执行。 一、分析问题 事实上,转载 2007-05-29 20:55:00 · 1026 阅读 · 0 评论 -
oracle中job的应用
ORACLE中JOB的应用1、创建存储过程create or replace procedure *pro_nameasbegininsert into agri_exhibition_basecur (messid,title,type,pub_date) select id,title,sort,pub_date from agri_message where (trunc(sysdate-p转载 2007-05-29 20:52:00 · 800 阅读 · 0 评论 -
oracle 连接 sqlserver
【A】连接sqlserver 先安装:Oracle Transparent Gateway for Microsoft SQL Server 9.2.0.1.0 安装完毕后会在.. oracle/ora92目录下新增一个tg4msql目录,然后编辑 。。。oracle/ora92/tg4msql/admin目录里面的initt转载 2007-08-20 14:10:00 · 1074 阅读 · 0 评论 -
什么时候需要重建索引
条件1在分析(analyze)指定索引之后,查询index_stats的height字段的值,如果这个值>=4 ,则最好重建(rebuild)这个索引。虽然这个规则不是总是正确,但如果这个值一直都是不变的,则这个索引也就不需重建。条件2在分析(analyze)指定索引之后,查询index_stats的del_lf_rows和lf_rows的值,如果(del_lf_rows/lf转载 2007-08-18 15:52:00 · 5692 阅读 · 0 评论 -
Windows上Oracle开放防火墙端口问题
在防火墙上开放Oracle服务端口要使Oracle客户端能正常连接到设置有防火墙的安装在windows上的Oracle服务器,单开放一个1521或自定义的监听端口是不够的。我们有的时候需要映射端口远程去访问Oracle 数据库,这里有个防火墙的问题,在unix 上没有问题,但是在win 平台上却无法正确访问,下面的可以解决这个问题,从网上找到有如下资料:资料一、 近来转载 2007-04-23 23:33:00 · 1526 阅读 · 0 评论 -
ORA-03113错误分析
ORA-03113错误分析 前言每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA-xxxx).有些错误由于频繁出现、原因复杂而被DBA们戏称之为"经典的错误".其中ORA-3113 "end of fileon communication channel" 就是这样的一个.我们可以简单的把这个错误理解为Oracle客户端进程和数据库后台进程连接中断.不过,导致这个转载 2007-07-20 13:01:00 · 862 阅读 · 0 评论 -
Oracle Date Function 讲解和事例
1 year=1*12 months1 day=24 hours=24*(1*60mins)=24*60*(1*60 seconds)1 week =7 days注意:黑色字体是 oracle 8i,9i都可以使用的函数,蓝色字体是 Oracle9i新增的部分。 请大家在使用时,注意版本限制。add_monthscurrent_datecurrent_timesta转载 2007-04-17 14:43:00 · 3445 阅读 · 0 评论 -
关于表中的字段数量
Oracle9i Database Reference Release 2 (9.2),里面第四章Database Limits的Logical Database Limits一节讲到了,答案是每表最大1000列。现摘录如下:Logical Database LimitsItem……项目Type……类型Limit ……限制GROUP BY clauseMaximum lengthThe GROUP转载 2007-06-26 21:33:00 · 1437 阅读 · 0 评论 -
Oracle中Decode()函数使用技巧
decode()函數使用技巧·软件环境: 1、Windows NT4.0+ORACLE 8.0.42、ORACLE安装路径为:C:ORANT·含义解释: decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......EL转载 2007-06-04 17:55:00 · 607 阅读 · 0 评论 -
oracle SQL性能优化
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表转载 2007-06-03 19:09:00 · 587 阅读 · 0 评论 -
从Oracle到SQLServer的透明网关配置
oracle 9.2.0.1.0 ip:192.168.1.22 port:1521 sql2000 ip:192.168.1.12 db: db1 说明,透明网关可以跟oracle,sql server2000数据库在同一台机器或者不同机器,本例是跟oracle是同一台机。 1: 运行oracle 安装软件,安装类型选自定义,选择里面的安装oracle transpare转载 2008-06-04 15:43:00 · 606 阅读 · 0 评论 -
让你的PLSQL Developer方便地访问不同字符集的数据库
有时开发人员面对多种字符集的oracle数据库,在用客户端工具访问数据库时,必须事先修改本地的字符集设置,即NLS_LANG参数,才能正常显示表中的中文.一般来说可以通过修改注册表和环境变量两种方式来改变这种设置.我们还可以把这种参数设置的改变通过批处理程序来实现,这样可以非常方便的切换访问各种字符集的数据库. 以修改注册表中的NLS_LANG为例. 1.导出注册表中的相应键值到一个文件中(Z转载 2008-09-23 23:24:00 · 4338 阅读 · 0 评论 -
字符集问题的初步探讨(七)-字符集更改的内部操作
前面我们提到,通过修改props$的方式更改字符集在Oracle7之后是一种极其危险的方式,应该尽量避免。我们又知道,通过ALTER DATABASE CHARACTER SET更改字符集虽然安全可靠,但是有严格的子集和超集的约束,实际上我们很少能够用到这种方法。实际上Oracle还存在另外一种更改字符集的方式.如果你注意过的话,在Oracle的alert.log文件中,你可能看到过这样的转载 2008-09-23 23:19:00 · 513 阅读 · 0 评论 -
字符集问题的初步探讨(六)-乱码的产生
最后我们来讨论一下乱码的产生。 通常在我们的现实环境中,存在3个字符集设置。第一: 客户端应用字符集(Client Application Character Set)第二: 客户端NLS_LANG参数设置第三: 服务器端,数据库字符集(Character Set)设置 我们说,一个字符在客户端应用(比如SQLPLUS,CMD,NOTEPAD等)中以怎样的字符显示取决于转载 2008-09-23 23:18:00 · 640 阅读 · 0 评论 -
字符集问题的初步探讨(四)-导入导出及转换
4. 导入导出及转换 导入导出是我们常用的一个数据迁移及转化工具,因其导出文件具有平台无关性,所以在跨平台迁移中,最为常用。在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置。NLS_LANG参数由以下部分组成:NLS_LANG=_.NLS_LANG各部分含义如下:LANGUAGE指定:-Oracle消息使用的语言-日期中转载 2008-09-23 23:16:00 · 804 阅读 · 0 评论 -
字符集问题的初步探讨(一)-字符集的基本知识
Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据。通过全球支持,Oracle可以支持多种语言及字符集,得以展示数据库的强大魅力。 由于不同语言及字符集的共同存储存在设置上具有一定的复杂性,字符集一度成为普遍困扰大家的一个主要问题。本文试图就一些常见问题进行探讨,希望可以把一些实际经验共享给大家!1. 字符集的基本知识如果从头转载 2008-09-23 23:12:00 · 690 阅读 · 0 评论 -
www.eygle.com
很好的学习网站 www.eygle.com转载 2008-09-23 23:20:00 · 809 阅读 · 0 评论 -
字符集问题的初步探讨(五)-导出文件字符集
我们知道在导出文件中,记录着导出使用的字符集id,通过查看导出文件头的第2、3个字节,我们可以找到16进制表示的字符集ID,在Windows上,我们可以使用UltraEdit等工具打开dmp文件,查看其导出字符集:: 在Unix上我们可以通过以下命令来查看:cat expdat.dmp | od -x | head转载 2008-09-23 23:16:00 · 550 阅读 · 0 评论 -
字符集问题的初步探讨(二)-数据库的字符集
2. 数据库的字符集 字符集在创建数据库时指定,在创建后通常不能更改,所以在创建数据库时能否选择一个正确的字符集就显得尤为重要。 在创建数据库时,我们可以指定字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET)。字符集用来存储: CHAR, VARCHAR2, CLOB, LONG等类型数据 用来标示诸如表名、列名以及PL/SQ转载 2008-09-23 23:14:00 · 601 阅读 · 0 评论 -
字符集问题的初步探讨(三)-字符集的更改
2. 字符集的更改 数据库创建以后,如果需要修改字符集,通常需要重建数据库,通过导入导出的方式来转换。我们也可以通过以下方式更改ALTER DATABASE CHARACTER SET 注意:修改数据库字符集时必须谨慎,修改之前一定要为数据库备份。由于不能回退这项操作,因此可能会造成数据丢失或者损坏。这是最简单的转换字符集的方式,但并不总是有效。这个命令在Oracle转载 2008-09-23 23:15:00 · 582 阅读 · 0 评论 -
oracle 资料收藏
http://www.liyiok.com/article/lywz1listks11.html全面呀:)呵呵大家一块学习啊原创 2007-03-14 16:55:00 · 784 阅读 · 0 评论 -
Oracle的优化原理
前面讲了ORACLE性能调优原则,但是可能有许多朋友不知道ORACLE优化机理到底是什么?下面作一简单说明。 解释 先说明一下,ORACLE有一个优化器(Optimizer),ORACLE的优化机理就是从Optimizer开始的。 明确两个概念:Optimizer 对ORACLE的优化方式有两种,一种是基于规则的,我们称为RBO(Rule-Based Optimiza转载 2006-11-20 17:34:00 · 1164 阅读 · 0 评论 -
轻松取得Oracle结构描述句法
Oracle专家必须频繁地从Oracle里提取出表格或者索引的定义,并将它们移植到不同的系统里。从字典里提取出用于Oracle结构描述对象(例如,表格、索引、存储过程、触发器、顺序等等)的数据定义语言(Data Definition Language,DDL),在你将系统移植到新的平台上,以及当你想要在tablespace里预先创建对象的时候很有用。 一般来说,在Oracle的移植里,结构描转载 2006-11-20 17:33:00 · 858 阅读 · 0 评论 -
oracle statspack实例(一)
大 db_block_size 大 db_cache_size使用多个块大小多个数据库写入(DBWR)进程大sort_area_size大的在线重作日志oracle 对象在数据库内部(表和索引的设置可以减少物理磁盘IO)低pctused pctuseed的值越小,随后的sql插入中出现的io就越少低pctfree 如果设置了pctfree,以允许在没有分割的情况下扩展所有行,那转载 2006-11-20 17:24:00 · 711 阅读 · 0 评论 -
statspack report分析(二)
Parse CPU to Parse Elapsd %:解析实际运行事件/(解析实际运行时间+解析中等待资源时间)越高越好% Non-Parse CPU:查询实际运行时间/(查询实际运行时间+sql解析时间),太低表示解析消耗时间过多。100*(parse time cpu / parse time elapsed)= Parse CPU to Parse Elapsd % 如果一个经常访问的转载 2006-11-20 17:20:00 · 758 阅读 · 0 评论 -
statspack的一些使用技巧
1 如何修改statspack的脚本产生自定义报表?2 如何用statspack的报表确定热表及索引?3 如何用statspack的报表确定keep池与default池的分配?4 如何用crontab定期产生statspack的报表?使用statspack有相当长的时间啦,从最初的推崇,到后来的否定,再到现在的肯定,发现它已经是我工作中不可缺少的一部分,每晚上读当天产生的statspack报表转载 2006-11-20 17:16:00 · 759 阅读 · 0 评论 -
生成分析报告,移除定时任务,删除历史数据
生成分析报告调用@/home/orapaid/product/92/rdbms/admin/spreport生成此过程中要输入开始快照 和 终止快照 编号移除定时任务SQL>execute dbms_job.remove(job_id);删除历史数据删除stats$snapshot表中数据 ,其他表中的数据会相应的级连删除oracle提供了用于 truncate转载 2006-11-20 17:13:00 · 952 阅读 · 0 评论 -
statspack report分析
一、statspack 输出结果中必须查看的十项内容1、负载间档(Load profile)2、实例效率点击率(Instance efficiency hit ratios)3、首要的5个等待事件(Top 5 wait events)4、等待事件(Wait events)5、闩锁等待6、首要的SQL(Top sql)7、实例活动(Instance activity)8、文件I/O(File I转载 2006-11-20 17:12:00 · 788 阅读 · 0 评论 -
statspack的系统参数
--1.创建 perfstat 表空间create tablespace perfstat datafile /home/orapaid/oradata/prdyp/perfstat.dbf size 500m;--2.已sys登陆执行下列脚本@/home/orapaid/product/92/rdbms/admin/catdbsyn.sql@/home/orapaid/pro转载 2006-11-20 17:11:00 · 663 阅读 · 0 评论 -
测试安装好的Statspack以及使statspack自动收集
测试安装好的Statspack 运行statspack.snap可以产生系统快照,运行两次,然后执行spreport.sql就可以生成一个基于两个时间点的报告。 如果一切正常,说明安装成功。已 perfstat/perfstat登陆*/SQL>execute statspack.snapSQL>execute statspack.snapSQL>@/home/newvers/p转载 2006-11-20 17:10:00 · 747 阅读 · 0 评论 -
详解oracle9i Statspack 的安装和使用
以下内容均在window Xp,oracle9.2.0.1下测试,在linux/unix下路径""要换成"/" 1.Statspack的安装 sqlplus /nolog conn / as sysdba ——创建一个Statspack表空间,要求80M以上或者使用已经存在的表空间,但必须有80M以上的空闲空间 sql>create tablespace stat转载 2006-11-20 17:09:00 · 956 阅读 · 0 评论 -
更改数据库用户的密码(sys,system)
修改系统用户密码:sys,system sqlplus "/as sysdba"SQL> select username,password from dba_users;USERNAME PASSWORD------------------------------ ------------------------------SY转载 2006-11-17 11:35:00 · 1746 阅读 · 0 评论 -
oracle statspack实例(二)
--内存调整select * from v$sga;--调整前SGANAME VALUE-------------------- ----------Fixed Size 452184Variable Size 402653184Database Buffers 251658240Redo转载 2006-11-20 17:25:00 · 719 阅读 · 0 评论 -
statspack应用指南
参考:《statspack使用指南-v3[1].0.pdf》。一. 系统参数1. job_queue_processes[alter system set job_queue_processes = 6 scope=both;]2. timed_statisticsalter system set timed_statistics = true scope=memory;二. 安装Statsp转载 2006-11-20 17:25:00 · 804 阅读 · 0 评论 -
通过分析SQL语句的执行计划优化SQL
做DBA快7年了,中间感悟很多。在DBA的日常工作中,调整个别性能较差的SQL语句时一项富有挑战性的工作。其中的关键在于如何得到SQL语句的执行计划和如何从SQL语句的执行计划中发现问题。总是想将日常经验的点点滴滴总结一下,但是直到最近才下定决心,总共花了3个周末时间,才将其整理成册,便于自己日常工作。不好意思独享,所以将其贴出来。 第一章、第2章 并不是很重要,是自己的一些想法,关于如何做一转载 2006-11-20 17:26:00 · 907 阅读 · 0 评论 -
使用Oracle9i全索引扫描快速访问数据
为了实现Oracle关于增加SQL优化查询智能的承诺,Oracle9i增强了全索引SQL执行计划以支持基于功能的索引(function-based index)。在Oracle8中,SQL优化器添加了判断查询是否可以专门用一个现存的索引来解决的智能。一旦存在索引,Oracle就会绕过对表的访问,索引组织表(index-organized table,IOT)结构就是一个例子。在IOT结构中,所有转载 2006-11-20 17:32:00 · 777 阅读 · 0 评论 -
通过分析SQL语句的执行计划优化SQL (九)
环境:oracle 817 + linux + 阵列柜swd_billdetail 表5000万条数据SUPER_USER 表2800条数据连接列上都有索引,而且super_user中的一条对应于swd_billdetail表中的很多条记录表与索引都做了分析。 实际应用的查询为:select转载 2006-11-20 17:32:00 · 917 阅读 · 0 评论 -
通过分析SQL语句的执行计划优化SQL (八)
如何干预执行计划 - - 使用hints提示 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行转载 2006-11-20 17:31:00 · 909 阅读 · 0 评论