摘要: Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。下面例子中使用的表来自Oracle自带的HR用户下的表,如果没有安装该用户,可以在SYS用户下运行$ORACLE_HOME/demo/schema/human_resources/hr_main.sql来创建。除本文内容外,你还可参考:ROLLUP与CUBE http://xsb.itpub.net/post/419/29159分析函数使用例子介绍:http://xsb.itpub.net/post/419/44634本文如果未指明,缺省是在 阅读全文
posted @ 2011-09-17 22:17 老猫-DB 阅读(287) 评论(1) 推荐(0) 编辑
摘要: 今天我们都在谈DBA 2.0,而此前的模式就被归结为DBA 1.0,那么DBA 1.0的时代是什么样子的呢? 我简单做了如下一幅图示,将DBA的工作分为三个部分:Pre-DBA、DBA、Post-DBA DBA 1.0也许是我们都熟悉的模样,结合上图回想一下曾经我们的工作:在Pre-DBA阶段,可能我们需要进行数据库的安装部署工作,然后为了监控数据库的运行状况,我们需要编写一系列的脚本来监控数据库的运行,监控的内容有很多,包括ORA-错误信息、警告信息、空间使用情况、负载信息等,当然如果是我们自己来进行这些开发工作,你会发现甚至每个企业每个数据库的监控脚本都全然不同,我们的DBA在不停的发明. 阅读全文
posted @ 2011-09-17 22:14 老猫-DB 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。 一、用户 查看当前用户的缺省表空间SQL>SELECT username,default_tablespace FROM user_users; 查看当前用户的角色SQL>SELECT * FROM user_role_privs; 查看当前用户的系统权限和表级权限SQL>SELECT * FROM user_sys_privs;SQL>SELECT * FROM user_tab_privs; 二、表 查看用户下所有的表SQL>SELECT* FROM user_tables; 查看名称包含log字 阅读全文
posted @ 2011-09-17 22:13 老猫-DB 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 众所周知,数据库设计的好坏直接关系到数据库运行的效率。根据笔者的经验,对于提升数据库性能来说,合理的数据库设计,比升级服务器的硬件配置,还要来的有效。但是,笔者无论是在跟同事合作,又或者是在论坛上跟相关同行交流的时候,总是会发现有些人有一些不好的数据库设计习惯,影响了数据库的性能,增加了数据库管理员的工作量。 笔者认为,为了提升数据库的性能,在Oracle数据库设计的时候,要做到五戒。 一戒:在小型表上不要建立索引。 毋庸置疑,索引可以提高数据库查询的效率。但是,俗话说,过之则不及。索引也必须用在合时的地方。如果索引设置不当,不但不会提升数据库的性能,反而会起到相反的作用。如在小型数据... 阅读全文
posted @ 2011-09-17 22:12 老猫-DB 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 在这样一个晚上写下这样一个题目,是因为最近有越来越多的人问起我这个问题,我想还是试着把我的想法写下来。 1.快速有多快? 很多人都喜欢寻找捷径,所以经常问起快速,但是我经常反复告诉大家的是,没有捷径,或者说没有轻而易举的捷径可循。 当然快速两个字也是有意义的,这是这个快速的社会对于年轻人的要求,我说过这样一段话:随着技术以及时代的不断进步,社会留给DBA的成长时间越来越短,一个DBA从入门到成长为资深的时间不会超过2年……张爱玲说过,成名要趁早。做技术的也是如此,成长越早越好,越快越好。 2.如何获得成功? 无疑每个人都热切的期待成功,那么如何才能获得成功? 我曾经总结了一个简单的公式,罗列了 阅读全文
posted @ 2011-09-17 22:11 老猫-DB 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 1.Y或YY或YYY 年的最后一位,两位或三位SQL> Select to_char(sysdate,'Y') from dual;TO_CHAR(SYSDATE,'Y')--------------------7SQL> Select to_char(sysdate,'YY') from dual;TO_CHAR(SYSDATE,'YY')---------------------07SQL> Select to_char(sysdate,'YYY') from dual;TO_CHAR(SYS 阅读全文
posted @ 2011-09-17 22:05 老猫-DB 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1 创建表空间 CREATE TABLESPACE CPORTAL LOGGING DATAFILE '/dev/raw/raw1' SIZE 30000M REUSE EXTENT MANAGEMENT LOCAL 2 创建用户CREATE USER CPORTAL PROFILE DEFAULT IDENTIFIED BY CPORTAL DEFAULT TABLESPACE CPORTAL TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;GRANT CONNECT TO CPORTAL;GRANT RESOURCE TO CPORTAL; 阅读全文
posted @ 2011-09-17 22:04 老猫-DB 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 如果想建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改,可以建立dblink。dblink可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。创建dblink的语法很简单,但要求用户具备创建dblink的权限。权限可以由管理员赋予。创建dblink的语法如下:1>已配置本地服务:CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;2>未配置本地服务:CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 阅读全文
posted @ 2011-09-17 22:03 老猫-DB 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 引言 在过去几年中,我们将敏捷方法应用于数据库设计中。我们总结出一些技巧,使得当应用程序发展时,数据库也能够进化,这是敏捷方法的一个重要属性。我们的方法是通过持续集成以及自动重构,通过数据库管理人员(DBA)和应用开发人员的紧密合作。这些技巧在应用开发的各个时期都有效。 1敏捷方法学 近年来,出现了一种新的软件开发方法学—敏捷方法学。这给数据库设计提出了一些新的、巨大的需求。这些需求的一个中心就是进化设计。在一个敏捷项目中,需要假定我们并不能事先确定系统的需求。因此在项目的初期有一个详细设计阶段的想法是不现实的。系统的设计必须随着软件的变化而进化。敏捷方法,尤其是极限编程(XP),通过一些实践 阅读全文
posted @ 2011-09-17 22:01 老猫-DB 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 一、基础1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:\mssql7backup\MyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4、说明:创建新表createtabletabname(col1type1[notnull][primarykey],col2 阅读全文
posted @ 2011-09-17 22:00 老猫-DB 阅读(199) 评论(0) 推荐(0) 编辑