SQL语句优化方法30例
SQL语句优化方法30例在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';3. /*+CHOOSE*/表明如果数据字典中有访问表的统计信息,
Oracle数据库中索引的维护 (转帖)
Oracle数据库中索引的维护 柏柯嘉 本文只讨论Oracle中最常见的索引,即是B-tree索引。本文中涉及的数据库版本是Oracle8i。 一. 查看系统表中的用户索引 在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。 一般来说,应该尽量避免在SYSTEM表中存储非SYSTEM用户的对象。因为这样会带来数据库维护和管理的很多问题。一旦SYSTEM表损坏了,只能重新生成数据库。我们可以用下面的语句来检查在SYSTEM表内有没有其他用户的索引存在。select count(*) fr
SCN的一点小知识
在ORACLE 8I以下,可通过如下语句取得CURRENT SCNselect max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;在ORACLE 9I,使用如下语句取得CURRENT SCNselect dbms_flashback.get_system_change_number from dual;系统检查点scn(v$database(checkpoint_change#))数据文件检查点(v$datafile(checkpoint_change#))数据文件终止scn(v$datafile(last_change#))数据文件中存放的检查点启动scn (v$datafile_header(checkpoint_change#)1、系统检查点scn当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中。select checkp
AS4.0安装oracle
在as4上面安裝要打補丁的﹐装前先要安装4198954 Oracle PreInstall Patch。 Unzip p4198954.zip 会生成4198954目录,并生成compat-oracle-rhel4-1.0.5.i386.rpm、compat-libcwait-2.0.2.i386.rpm 和README.txt 。 着两个rpm包安装需要xorg-x11-deprecated-libs 和 xorg-x11-deprecated-libsdevel包文件,安装着两个rpm包:rpm -ivh compat-oracle-rhel41.0.5.i386.rpm rpm -ivhcompat-libcwait-2.0.2.i386.rpm另外,我还打了p3006854_9204_LINUX.zip 这个补丁才安装,不知不打有没有什么坏处.安装时不要选择建库,在打了下面两个补丁后再建库
solaris9自动启动oracle
数据库自动启动与关闭1、修改oratab文件dbstart, dbshut会读Sun Solaris目录下/var/opt/oracle/oratab, 或者linux目录下/etc/oratab 文件。 先确认这里参数已正确设置:#你要启动的数据库sid:ORACLE_HOME:Y 例如:orawic:/app/oracle/product/9.2.0:Y如果有两个在用的数据库,这里oratab里可以是两行。例如:orawic:/app/oracle/product/9.2.0:Yorawap:/app/oracle/product/9.2.0:Y2、编写脚本以root权限的用户在Sun Solaris目录/etc/init.d下, 或者linux目录/etc/rc.d/init.d下编写脚本dbora(名字可随便起).#!/bin/shOPT_=$1case "
进入新公司三个月了,随便写些东西记录一下
到今天,已经来到新的公司三个月了,试用期应该是过了,但是领导还是没有什么表态,唯有等待了。在这三个月里,感觉过得挺快的,但是总体感觉,在技术上提高得不大,因为在这个岗位上可以提高自己的地方真的不多,原以为,来到新的公司可以更快地提高自己的技术,结果被外派到一个地方,在这里没有人指导,环境也不复杂,有的只能靠自己去看书,但是没有实践,是很高提高自己的。而且在这里每天都在忙这忙那一些极琐碎的事,把时间都耽搁了。说了这么多怨气,真的不想,呵呵,现在说说我这三个月都有什么收获吧。主要工作是系统和数据库的
丢失控制文件的情况
RMAN中如果丢失控制文件,用下面的方法恢复SQL>shutdown immediatestartup force nomountrman target /set dbid= XXXXXXXXXX (这个具体数值需要看平时备份的日志,所以备份日志最好保留一份)指定特定的备份集才行: restore controlfile from '/opt/rman_backup/control.bak';然后再根据情况来进行数据库恢复如果出现恢复出来的控制文件与数据文件的SCN不相同时,极有可能需要重建控制文件,重建语法如下CREATE CONTROLFILE REUSE DATABASE orcl NORESETLOGS ARCHIVELOG MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXDAT
oracle没有备份,丢失数据文件的恢复
--创建表空间SQL> create tablespace myspace datafile 'D:ORACLE_BASEdatafilesmyspace.dbf'size 10M;Tablespace created.--建立测试数据,位于myspace表空间SQL> CREATE TABLE MYTEST(ROW_ID INT) tablespace myspace;Table created.SQL> INSERT INTO MYTEST VALUES(1);1 row created.SQL> INSERT INTO MYTEST VALUES(2);1 row created.SQL> COMMIT;Commit complete.SQL> SHUTDOWN ABORT;ORACLE instance shut down.SQL> EXITDisconnected from Oracle9i Enterprise Edition Release 9.2.0.1.0 - ProductionWith t
Sun Cluster 安装步骤
Sun Cluster 安装步骤本文出自:http://www.chinaunix.net [Solaris]版 作者:kdkboy (2002-05-24 06:02:00)sun cluster 的服务号称是sun公司的金牌服务,价值40 - 50 多万,只可以sun的 工程师来做,诸位安装成功了就可以看到其实cluster也并不是很难,(服务赚钱啊) 难就难在相关技术有欠缺的地方,例如怎样接阵列,怎样做卷,还有就是对cluster 的概念不清楚。 以下只是我以前做cluster的记录,当时偷懒,现在就只有这些了 澄清一些概念: 共享盘一定要两台主机都可以看到 心跳线是指两个网卡专门用于cluster通讯,有四口网卡更好 quru
(转帖)DNS攻略(一)
[原创]DNS攻略(一) 作者:sunmarmot 发表时间:2002/10/16 10:38pm好容易有点时间,再写点东东........头都写肿掉了,一天贴一点,也不知道有没人看 配置和管理域名服务器 1.主机名字解析和域名系统 1.1主机名解析介绍主机名解析是主机名到IP地址的映射过程。这个过程通常用来寻找给定主机名的IP地址。当知道某个特定主机的IP地址而需要获取特定的主机名时需要用到反向域名解析,在许多情况下需要反向域名解析,包括使用诸如rlogin和rcp等命令。通常可以通过不同的技术来完成这个过程。在Solaris 8中可以使用多种主机名的解析方法᠋
DNS查询过程
本文的目的在于阐述DNS名称解析过程。为了给出一个例子,我们假设某个用户试图从客户机ftp到ftp.internic.net。 该客户机将经历如下解析步骤: 1. 客户机根据/etc/nsswitch.conf文件来确定名字解析的顺序。在本例中,假定的顺序是:首先是本地文件,其次 NIS+服务器,最后是DNS。 2. 客户机查找本地/etc/inet/hosts文件,没有发现匹配项。 3. 客户机向NIS+服务器发起关于ftp.internic.net地址的查询,仍然没有找到。 4. 客户机根据/etc/resolv.conf文件确定名称解析搜索列表和本地DNS服务器的地址。 5. 客户机解析例程向本地DNS服务器发起
遇到一个怪问题,sqlplus居然连接出错(ORA-09925)
$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.5.0 - Production on Wed Nov 9 17:18:30 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.ERROR:ORA-09925: Unable to create audit trail fileSVR4 Error: 2: No such file or directoryAdditional information: 9925ORA-09925: Unable to create audit trail fileSVR4 Error: 2: No such file or directoryAdditional information: 9925Subject: ORA-09925: WHEN CONNECTING INTERNAL Type: PROBLEM Status: PUBLISHED Content Type: TEXT/PLAIN C
Redhat AS3 下Oracle9204异步I/O的实现
Redhat AS3 下Oracle9204异步I/O的实现 最近一个生产数据库IO性能比较差,用户目前暂时无升级硬件系统的打算,因此只能在系统和数据库上面做文章。在metalink上查找了一番,正好看见一篇有关《Asynchronous I/O (aio) on RedHat Advanced Server》(Note:225751.1)的文章,于是经过实验后,成功将数据库改成异步IO模式。现将基本步骤贴出来,供大家讨论:1,Linux系统环境和Oracle版本要求不是所有的Linux版本都可以实现异步IO,根据metalink上的文档,目前只支持Red Hat Advanced Server release 或者 UnitedLinux / SUSE。Oracle数据库
Veritas Cluster Server 4.0安装指南
Veritas Cluster Server 4.0安装指南作者:kamus出处:http://www.eygle.com/blog日期:July 02, 2005浏览次数: 150本文链接:http://www.eygle.com/archives/2005/07/veritas_cluster.html« 贴一张小图 | Blog首页 | 如何在SqlLoader中装载日期型的数据 » UU的实验室里面有一组放在那里不用的双机+盘阵,于是尝试从头开始安装一套cluster。硬件简述:1. Node1: Netra 20 (2 X UltraSPARC-III+, 2048M RAM, 72G*2 HardDisk)2. Node2: Netra 20 (2 X UltraSPARC-III+, 2048M RAM, 72G*2 HardDisk)3. Shared Storage: D1000 (36G*3
使用Oracle9i的blockrecover新特性修复数据库中的坏块
参考这里http://www.eygle.com/archives/2005/06/eoaoracle9iaebl.html[@more@]使用Oracle9i的blockrecover新特性修复数据库中的坏块
检测数据库文件坏块的方法
RMAN> backup datafile 8;启动 backup 于 02-8月 -04使用通道 ORA_DISK_1通道 ORA_DISK_1: 正在启动 full 数据文件备份集通道 ORA_DISK_1: 正在指定备份集中的数据文件输入数据文件 fno=00008 name=E:ORACLEORADATATESTTEST01.DBF通道 ORA_DISK_1: 正在启动段 1 于 02-8月 -04RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03009: failure of backu
rman备份,未使用catalog,控制文件丢失的解决办法
[Oracle] DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法 作者:Fenng 日期:July 19 2004 情况描述客户报告数据库故障,新来的系统管理员误操作。删掉了一些文件。询问:删掉了那些文件?答曰:所有重要数据文件,所有控制文件。数据库原来是归档模式,用rman备份数据,rman 使用控制文件。幸运的是,最后一次rman full 备份是包括了控制文件在内。系统没有设定自动备份控制文件.现在状况是数据库无法启动. 不用说,客户的备份方案不够完善,但是这时候再去说这些话责备用户有事后诸葛亮之嫌,用户是上帝,不要去得
手工建库
建库步骤: 1、手工创建相关目录 D:Oracleadmintest D:Oracleadmintestadhoc D:Oracleadmintestbdump D:Oracleadmintestcdump D:Oracleadmintestcreate D:Oracleadmintestexp D:Oracleadmintestpfile D:Oracleadmintestudump D:Oracleoradatatest D:Oracleoradatatestarchive 2、手工创建初始化启动参数文件:D:Oracleadmintestpfileinittest.ora,内容: db_name = "test" instance_name = test service_names = test db_files = 1024 control_files = ("D:Oracleoradatatestcontrol01.ctl", "D:Oracleoradatat
Oracle企业管理器(OEM)常见问题解答
Oracle企业管理器(OEM)常见问题解答OracleEnterpriseManager(Oracle企业管理器,简称oem)是通过一组Oracle程序,为管理分布式环境提供了管理服务。oem包括了一组DBA工具,一个repository,以及一个图形化显示的控制台。oem控制台与每一个服务器上的智能化代理(IntelligentAgent)相对应。 智能化代理能够监控系统的特定事件并且执行任务(作业)就象你在系统本地一样。事件和作业的结果会被送回控制台,这样可以在一个地方管理所有的系统。 oem与ServerManagerMotif相比,有以下优点: 1)从适用范围看,oem可以同时监控管理多个系统上
(转帖)RedHat Advance Server 3上安装oracle 9.2.0, 并升级到9.2.0.4
今天花了一天的时间来装Oracle,在网上找了不少的资料,结果发现十个人有十种安装方法 参考了其中的四种,然后自己安装了一遍,等于是综合了大家的智慧,完成了Oeacle的安装 我把自己总结的文档发在这里,希望对大家有所帮助,绝对的原创啊 下面所讲的安装方法可能也适用于RedHat9,有兴趣的朋友可以试一试 首先,准备安装需要的软件包和补丁包: 1.用rpm -qa│grep compat 查看系统中是否安有以下几个软件包: compat-libstdc++-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122 compat-db-4.0.14-5 compat-gcc-7.3-