exname stuname source
王海 数学 86
佼佼 数学 95
芳儿 数学 93
锅炉 数学 95
周学军 数学 93
王海 语文 86
佼佼 语文 95
芳儿 语文 93
按学科和分数排名。排名有2种方式,一种是排名重复则不显示下一名 一种重复也继续显示。
排名一:
select t.exmename,
t.stuname ,
rank() over(partition by t.exmename order by t.soure desc)
from test_techer t;
结果:
化学 佼佼 1
数学 佼佼 1
数学 锅炉 1
数学 芳儿 3
数学 周学军 3
数学 王海 5
物理 芳儿 1
语文 佼佼 1
语文 锅炉 1
语文 芳儿 3
语文 周学军 3
语文 王海 5
rank() 分析函数自动进行排名。按exmename 分组排名,排名的主要依据是soure 的排序。
由于有重复第一名,所以第2名没有直接跳到第三名 。
排名方法二:
select t.exmename,
t.stuname ,
dense_rank() over(partition by t.exmename order by t.soure desc)
from test_techer t;
dense_rank()能显示重复名次,并且继续显示下一个名次。
前N名取法:
select a.exmename, a.stuname, a.taxis
from (select t.exmename,
t.stuname,
rank() ......
本身这个步骤很多高手都已经贴过了,只是我在使用中发现大体上大家写的都有些复杂,于是,我总结了个超级简化版的,方便大家使用:
1.安装LOGMNR包,需要本步骤没什么可多说的,只是需要注意在连接数据库的时候默认最好使用本地验证方式
C:\>sqlplus /nolog
SQL> conn / as sysdba
SQL> @D:\oracle\product\10.2.0\db_2\RDBMS\ADMIN\dbmslm.sql
SQL> @D:\oracle\product\10.2.0\db_2\RDBMS\ADMIN\dbmslmd.sql
SQL> @D:\oracle\product\10.2.0\db_2\RDBMS\ADMIN\dbmslms.sql"
SQL> show parameter utl;
2.创建数据字典
SQL> alter system set utl_file_dir='d:\oracle\logmnr' scope=both;
SQL> EXECUTE dbms_logmnr_d.build('dictionary.ora','d:\oracle\logmnr');
3.添加日志文件
SQL> EXECUTE dbms_logmnr.add_logfile(LogFileName=>'D:\1_15969.dbf',Options=>dbms_logmnr.new);
SQL> EXECUTE dbms_logmnr.add_logfile(LogFileName=>'D:\1_15969.dbf',Options=>dbms_logmnr.addfile);
或
SQL> begin
sys.dbms_logmnr.add_logfile(LogFileName=>'D:\1_15969.dbf',options =>dbms_logmnr.addfile) ......
在ORACLE数据库中,需要对SQL语句进行优化的话需要知道其执行计划,从而针对性的进行调整.ORACLE的执行计划的获得有几种方法,下面就来总结下
1、EXPLAIN的使用
Oracle RDBMS执行每一条SQL语句,都必须经过Oracle优化器的评估。所以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语句有很大的帮助。Explain可以用来迅速方便地查出对于给定SQL语句中的查询数据是如何得到的即搜索路径(我们通常称为Access Path)。从而使我们选择最优的查询方式达到最大的优化效果。
1.1 、安 装 &nbs ......
作者:eygle |English Version 【转载时请以超链接形式标明文章出处和作者信息及本声明】
链接:http://www.eygle.com/archives/2010/01/oracle_dba_notebook.html
今天,收到了出版社快递而来的《Oracle DBA手记》一书的24小时小样,这个小样通过之后,书就可以成批印刷,指日可待了。最快的估计是下周可以上市了。
拿到这本书时,心里的感觉是异样而欣喜的。周老师说她放下心来,我的心却是跳动起来。
当我读了杨小勤(博文视点设计总监,本书美编)的设计思路时,明白了这种异样的来源。这本书的名字里有手记两个字,所以小勤将书本的设计创意朝着"记事薄"的方向发散,我拿在手上第一个异样的感觉就是由此而来:仿佛是一个笔记本一样熟悉,没有书本的生硬。
我细细体味了小勤的设计思路,想不到封面的每一个元素都是自有其含义的精心之思,这就是设计,我从不熟悉的领域得到了设计的质感和触手那一刻设计给我的额外体验。
欣喜来自于书籍的排版与印刷,清晰、清秀的板式,代码的处理,图片的排列,甚至每个章节的布局,都是精心设计的,这一切远远超出我的预期,Kamus再也没有理由嘲笑我的书都是打印版的Word文档了。那一刻的欣喜让我产生了再写一本书的 ......
-- 序列操作 --
-- 创建序列
CREATE SEQUENCE u_sales_SEQ INCREMENT BY 1 START WITH 1 MINVALUE 1 NOCYCLE NOCACHE NOORDER;
-- 查出所有存在的序列
SELECT * from user_sequences
-- 删除序列
DROP SEQUENCE U_SALES_SEQ;
-- 查出下一个序列ID
SELECT U_SALES_SEQ.nextval from DUAL
-- 查出当前序列的ID
SELECT U_SALES_SEQ.currval from DUAL;
2、Alter Sequence
你或者是该sequence的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有
sequence参数.如果想要改变start值,必须 drop sequence 再 re-create .
Alter sequence 的例子
ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000后从头开始
NOCACHE ;
影响Sequence的初始化参数:
SEQUENCE_CACHE_ENTRIES =设置能同时被cache的sequence数目。
可以很简单的Drop Sequence
DROP SEQUENCE order_seq;
--建触发器
......
一:建立用户,用户组:
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
passwd oracle
二:修改说明,改为as4
vi /etc/redhat-release
修改后的内容:
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
#Red Hat Enterprise Linux Server release 5.4 (Tikanga)
三:改host(不必,网上说网络检查通不过,其实可以不进行网络监察,在安装oracle时有一步是检查,把网络监察的勾去掉即可)
vi /etc/hosts
修改后的内容:
192.168.10.172 localhost.localdomain localhost
四:export LC_ALL=en_US(如果as5安装时是english时,不必)
五:在/etc/sysctl.conf添加
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
使之生效:
/sbin/sysctl -p
六:在/etc ......