自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

转载 什么是OLAP(联机分析处理)

联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analyti

2007-11-27 13:53:00 588

转载 陶氏化学公司给面试者的建议

陶氏化学公司给面试者的建议陶氏化学公司给面试者的建议:祝贺:    首先祝贺每一个参加面试的应聘者,因为你们已经成功地通过我们的网上申请了。我们将会在下面给你们提供一些如何面试的建议。面试的成功与否与你投资在面试准备的时间长短有关。我们很惊讶于许多学生没有任何准备,就直接来面试,他们不知道自己应该在面试中说些什么。有些面试者表现得过于随便,给面试考官留下了冷漠的影响。还有些面试者由于过于紧张,

2007-11-26 17:41:00 3492

转载 学习摸索 Oracle数据库系统使用经验六则

 

2007-11-20 14:54:00 574

转载 oracle 基础和管理 如何判断某个表中是否存在某个字段?

问题 如何判断某个表中是否存在某个字段?注意:表名和字段名一定要大写,否则结果不正确一:检查表名:select count(*) from user_TABLES where table_name = 表名(大写);检查字段名:select count(*) from User_Tab_Columns where table_name=表名(大写) and column_name=字段名(

2007-11-20 12:12:00 8670

转载 如何正确利用Rownum来限制查询所返回的行数

软件环境: 1、Windows NT4.0+ORACLE 8.0.4 2、ORACLE安装路径为:C:/ORANT 含义解释: 1、rownum是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,   依此类推,这个伪字段可以用于限制查询返回的总行数。 2、rownum不能以任何基表的名称作为前缀。 使用方法: 现有一个商品销售表sale,表结构为: month 

2007-11-20 11:17:00 611

转载 Oracle 基本知识及问题解决

 Oracle数据库作为一个大型的关系型数据库,它与其他关系型数据库相比,有许多个性的东西,下面作一个简单的说明,其中包括我们在日常运行和维护中可能用到的知识,希望对大家有所帮助 一、基本知识 1、表空间对于数据库是唯一性的,且要求每个数据库最少有一个表空间。 表空间可以分为系统表空间和非系统表空间、回滚段表空间;也可以分为用户表空间和非用户表空间,他们只是分类方式不同,其实实质差不多; 临时表空

2007-11-20 11:09:00 472

转载 Oracle 优化和性能调整

 http://www.logicperfect.com/bbs/topic.php?forumid=5&topicid=1111488661分析评价Oracle数据库性能主要有数据库吞吐量、数据库用户响应时间两项指标。数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:   数据库用户响应时间=系统服务时间+用户等待时间   因此,获得满意的用户响应时间有两个途径:一是减少系统服

2007-11-20 10:39:00 2152

转载 ORACLE表空间恢复方案

一、 用户表空间  错误: 在启动数据库时出现ORA-01157,ORA-01110或操作系统级错误例如ORA-07360,  在关闭数据库(使用shutdown normal或shutdown immediate) 时将导致错误ORA -01116,ORA-01110以及操作系统级错误ORA-07368  解决,以下有两种解决方案:  1.用户的表空间可以被轻易地重建  即最

2007-11-16 18:26:00 644

转载 计算Oracle表空间的利用率

问:怎样才能正确计算Oracle数据库表空间的利用率?  答:具体示例代码如下: SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BY

2007-11-16 18:25:00 755

转载 ORACLE存储过程加密方法

非常简单c:/>set NLS_LANG=AMERICAN_AMERICA.USACII7或者c:>set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK(当遇到加密报错,且有中文的情况下可以使用)c:>wrap iname=PKG_BODY_BATCH_CITIC.sql edebug=wrap_new_sql 在目录下面会产生PKG_BODY_BATCH_CI

2007-11-16 18:22:00 433

转载 [Oracle]性能优化调整(一)--调整共享池

一.简介:数据库调整中最为重要的一部分是重写运行效率差的SQL代码,重写之后的SQL代码在运行效率方面可能会与之前的产生极大的差别!       但是当遇到重写之后性能还是未能突破瓶颈或者你是用户(无法访问SQL代码)的时候,可以通过调整ORACLE的共享内存结构SGA(System Global Area),最大限度地提高性能!       SGA中比较重要的组件就是Shared Pool(共享

2007-11-16 18:22:00 491

转载 [Oracle]性能优化调整(四)--调整磁盘I/O

一.虽然通过调整SGA组件可以最大限度地减少物理I/O的发生,但是我们在某些活动中还是不可避免的将会产生磁盘I/O。需要注意的是在内存中的I/O活动是逻辑的,在磁盘上的I/O活动是物理的。逻辑I/O比物理I/O快数千倍。        二.产生磁盘I/O的来源: 1.Database Writer(DBWO)--写Database Buffer Cache中的缓存区到数据库中的数据文件

2007-11-16 18:21:00 527

转载 [Oracle]性能优化调整(三)--调整重做机制

当我们优化ORACLE性能,检查了Shared Pool和Buffer Cache命中率之后,意识到需要使这些结构的变得更大才能改进它们,但服务器中没有足够的内存来支持这一改进。同时又发现Redo Log Buffer的Retry Ratio又很低,表明Redo Log Buffer可能被设置得太大,在我们没有购买内存的情况下,调小Redo Log Buffer可能会是不错的选择哦! 不过调整之前

2007-11-16 18:19:00 468

转载 [Oracle]性能优化调整(二)--调整缓冲区高速缓存

 一.我们可以通过配置Shared Pool(保证用户在内存中查找到已经缓存的语句)改进性能;还有一个重要的方法就是:使用户可以在内存找到他们所请求的数据! 这就需要通过Database Buffer Cache(数据库缓冲区的高速缓存区)来实现。     Buffer Cache是SGA的一个组件,用来缓存用户最近在数据库中访问过的段数据块的副本。这些副本和它们在磁盘上的对应块是同步的! 如果不

2007-11-16 18:18:00 748

转载 ORACLE索引总结

 一.B树索引0.     B树索引中不存在非唯一的条目。1)        在非唯一索引中,ORACLE会把rowid作为一个额外的列追加到键上,使得键唯一。Exp:create index I on T( x , y ) ,从概念上讲就是Create unique index I on T(x , y , rowid)。ORACLE会首先按索引键值排序,然后再按照rowid升序排序

2007-11-16 18:15:00 411

转载 ORACLE自动备份方法

步骤如下:1.      AP服务器上建立c:/backup文件夹(文件夹路径客户自己选择)2.      打开dbbkup.bat-->修改红字部分-->保存exp citictest/citictest@colm2 file=c:/backup/%date:~4,20%.dmp    log=c:/backup/%date:~4,20%.log compress=y direc

2007-11-16 18:09:00 341

转载 [Oracle]高效的PL/SQL程序设计(二)--标量子查询

 标量子查询ORACLE允许在select子句中包含单行子查询, 使用标量子查询可以有效的改善性能,当使用到外部连接,或者使用到了聚合函数,就可以考虑标量子查询的可能性1. 取消外部连接的使用外部连接的做法:select a.username,count(*)  from all_users a,all_objects bwhere a.username=b.owner(+

2007-11-16 18:06:00 454

转载 执行计划的使用(EXPLAIN)

对于sql执行的小量高低.我们可以通过执行计划的信息基本上可以进行分析查看该SQL语句执行的时间.连接顺序及浪费的数据库资源等信息,从而判断该SQL语句执行的效率如何,下面就简单的介绍一下执行计划的使用2.        Explain使用Oracle RDBMS执行每一条SQL语句,都必须经过Oracle优化器的评估。所 以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语

2007-11-16 18:03:00 438

转载 [Oracle]高效的SQL语句之分析函数(二)--max()

如果我们按照示例想得到每个部门薪水值最高的雇员的纪录,可以有四种方法实现:先创建示例表create table empasselect * from scott.emp;alter table empadd constraint emp_pkprimary key(empno);create table deptasselect * from scott.dept;alter tabl

2007-11-16 18:01:00 406

转载 [Oracle]高效的SQL语句之分析函数(一)--sum()

实际应用中我们可以通过sum()统计出组中的总计或者是累加值,具体示例如下:1.创建演示表create table empasselect * from scott.emp;alter table empadd constraint emp_pkprimary key(empno);create table deptasselect * from scott.dept;alter ta

2007-11-16 18:01:00 387

转载 [Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()

有些时候我们希望得到指定数据中的前n列,示例如下:得到每个部门薪水最高的三个雇员:先创建示例表create table empasselect * from scott.emp;alter table empadd constraint emp_pkprimary key(empno);create table deptasselect * from scott.dept;alte

2007-11-16 17:59:00 389

转载 [Oracle]高效的SQL语句之分析函数(四)--lag()/lead()

有时候报表上面需要显示该笔操作的上一步骤或者下一步骤的详细信息,这个时候可以按照下面的做法:先创建示例表:-- Create tablecreate table LEAD_TABLE(  CASEID     VARCHAR2(10),  STEPID     VARCHAR2(10),  ACTIONDATE DATE)tablespace COLM_DATA  pctfree 10

2007-11-16 17:58:00 539

转载 [Oracle]高效的PL/SQL程序设计(三)--Package的优点

使用Package的优点在于提供了必需的程序设计结构, 促进了模块化编程设计, 最重要的是Package断开了依赖链, 使得对某个数据库模式的改动不会导致整个模式的无效,从而避免了昂贵的重编译!      例如: 存在table t , procedure p1 p2, view v, function f, 它们之间引用关系如下:select name,type,referenced

2007-11-16 17:57:00 387

转载 [Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集

Oracle支持通过ref游标在调用存储过程后返回结果集, 使用游标在内存消耗以及时间上都要大大的优于返回数组变量的做法!示例如下:数据库方面,建立一个Packagecreate or replace package ref_cur_demo is type rc is ref cursor; procedure ref_cursor(p_owner in varchar2,p_cur

2007-11-16 17:56:00 581

转载 [Oracle]高效的PL/SQL程序设计(四)--批量处理

批量处理一般用在ETL操作, ETL代表提取(extract),转换(transform),装载(load), 是一个数据仓库的词汇!类似于下面的结构:for x (select * from...)loop    Process data;    insert into table values(...);end loop; 一般情况下, 我们处理大笔的数据插入动作, 有

2007-11-16 17:56:00 343

转载 [Oracle]高效的PL/SQL程序设计(六)--%ROWTYPE的使用

在PL/SQL程序中, 我们会遇到需要先从一个结果集中取出若干记录, 然后对每一条记录进行处理的情况, 最理想的做法是在一条SQL语句中完成, 但有时候因为需求的关系所以不一定能实现, 所以我们通常会定义几个变量, 然后对结果集做循环, 赋值给变量. 最典型的就是select XX into XX。我们也可以用定义一个记录%rowtype的方法, 减少不必要的代码量, 还能避免由于表中字段的变更造

2007-11-16 17:54:00 405

转载 [Oracle]体系结构(一)--概述

一.ORACLE实例 = 后台进程 + 进程所使用的内存(SGA)实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态! SGA(System Global Area) = Shared pool + Block Buffer Cache + Redo Buffer + Java Pool + Large Pool + Stream pool Shared pool

2007-11-16 17:53:00 308

转载 ORACLE字符集问题

1.          ORACLE数据库字符集,即国家语言支持(NLS)其作用是用本国语言和格式来存储、处理和检索数据。利用全球化支持,ORACLE为用户提供自己熟悉的数据库母语环境,诸如日期格式、数字格式和存储序列等。Oracle可以支持多种语言及字符集,oracle9i则支持57种语言、88个国家地域、235种字符集。2.          单字节编码    (1)单字节7位字符集,可以

2007-11-16 17:51:00 391

转载 DECODE和日期类型转换中出现的问题

--大于等于1950年的都没有问题(但这种写法是不合理的)insert into aa select decode(19500101,00000000,null,TO_DATE(19500101,yyyy-mm-dd)) from dual;--小于1950年就就会呈现错误, 增加了100年insert into aa select decode(19491201,000

2007-11-16 17:50:00 732

转载 [Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧

--1. 取前10行select * from hr.employees where rownum10 --2. 按照first_name升序,取前10位--正确方法 oracle处理机制: --> hr.employees全表扫描                    --> SORT ORDER BY STOPKEY       只排序前10行,作为一个矩阵

2007-11-16 17:49:00 441

转载 ORACLE实例与数据库的区别

刚接触ORACLE的人肯定会对实例和数据库感到困惑,实例到底代表些什么?为什么会有这个概念的出现? ORACLE实例 = 进程 + 进程所使用的内存(SGA)实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态! 数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件数据库是永久的,是一个文件的集合。 ORACLE实例和数据库之间的关系1. 

2007-11-16 17:47:00 299

转载 ORACLE体系结构之集群(RAC)

首先是几个需要了解的名词解释:集群是指多台计算机物理的连接在一起。RAC是Oracle Real Application Cluster的简写,官方中文文档一般翻译为“真正应用集群”,它一般有两台或者两台以上同构计算机及共享存储设备构成,可提供强大的处理能力! 为什么需要RAC?如果说我们通过对服务器添加CPU, 增加RAM等行为属于垂直扩展;那么多台计算机进行RAC就属于横向

2007-11-16 17:46:00 384

转载 ORACLE性能调整--统计信息的迁移

很多时候本地测试环境无法100%的模拟出客户生产系统的所有性能问题,可能在本地环境中速度很快只需几分钟,但在客户那边却往往要跑上几个小时,这个时候除了想办法模拟出客户生产系统中一样多的数据外,还需要得到生产系统的统计信息,导入本地系统重现性能问题! 下面的语句就是具体的操作步骤! 生产系统:--执行统计信息操作BEGIN   DBMS_STATS.GATHER_SCHEMA_STATS

2007-11-16 17:44:00 313

转载 ORACLE分析函数--row_number()应用

 当遇到一个部门有多个员工记录,需要去取出每个部门薪水最少的那笔时,就可以用到分析函数row_number()拉 select * from(        select manager_id,employee_id,first_name,salary,row_number()         over(partition by manager_id order by salary) as c

2007-11-16 17:42:00 529

原创 ORACLE故障排除--注意事项

在系统良好运作时, 进行一次Statspack! 并将结果文件保存作为以后的判断标准.2.       ORACLE中建立一张存放有执行计划的表脚本如下: --建立一张计划表create table plan_hashes( sql_text           varchar2(1000), hash_value         number, plan_hash

2007-11-16 17:39:00 388

转载 在oracle中怎样一次导入多个SQL文件中的内容

在开发中,为了便于管理,可能会将每个存储过程和函数的sql单独放在一个.sql文件中,这样就会造成N多个.sql文件,如果需要将这些文件都执行的话就很麻烦,所以想了个办法一次执行所有的sql文件。1.        这次拿到手上的sql文件总共有一千多个,先把所有的文件都放在同一个目录下,然后在命令行里执行命令:Z:/L/SQL/SQL>dir/b > z:/1.sql会把所有的sql

2007-11-16 17:36:00 1360

转载 Oracle教你轻松解决不能一次创建多表的问题

问:不能一次创建多表这个问题应当用什么方法解决?   答:以下这个实例为一次操作,同时创建多个对象,如果一个不成功则可能全部不成功。   第1步:创建用户 create user aaidentified by aadefault tablespace userstemporary tablespace temp;  第2步:赋予用户相应的权限 grant connect,re

2007-11-16 17:34:00 450

转载 解析:怎样使用Oracle的DECODE()函数

DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。  区别于SQL的其它函数,DECODE函数还能识别和操作空值。   语法:DECODE(control_value,value1,result1[,value2,result2…

2007-11-16 17:25:00 861

转载 ORACLE执行计划的一些基本概念

一.相关的概念  Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的。对每个表都有一个rowid的伪列,但是表中并不物理存储ROWID列的值。不过你可以像使用其它列那样使用它,但是不能删除改列,也不能对该列的值进行修改、插入。一旦一行数据插入数据库,则rowid在该行的生命周期内是唯一的,即即使该行产生行迁移,行的rowid也不会改变。  R

2007-11-16 17:21:00 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除