自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一花一草一世界

学习笔记

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 remap_tablespace修改数据库表空间

首先,以schemas方式导出用户JCMS24的全部数据:expdp system/system directory=data_pump_dir dumpfile=test_user.dmp schemas=JCMS24说明:使用system导出是为了导出JCMS24 schema中的全部内容,包括用户创建和权限授予部分,使用用户本身导出则不包含这些内容。其次,drop用户及其全部对象

2015-12-29 10:54:05 7778

原创 SQL优化

d数据库系统性能调整SQL优化包括三个步骤1.通过查看系统中过去执行的历史可用信息,根据系统资源和应用程序确定高负载的SQL语句;2.根据AWR报告结合系统动态视图确定高负载的SQL;3.通过检查高负载SQL语句的执行计划,并提出优化方案。确定高负载的SQL高负载的SQL一般性能比较差,并且耗费系统中更多资源,可以通过下面的方法来确定1.SQL TRACE2.I

2015-12-24 15:00:53 440

原创 PGA资源的管理

PAG_AGGREGATE_RAEGET的使用情况,比如:PGA cache hit percentage 可以使用以下视图观察:监控PGA work area 的几个视图:v$sql_workarea_histogramv$pgastatv$sql_workarea_activev$sql_workareav$sql_tempseg_usage指定PGA wo

2015-12-24 14:50:34 414

原创 表空间的一些知识

1.创建表空间create tablespace xxx datafile 'd:\...\book.dbf'size 32M autoextend on next 10M maxsize 1000M;注:表空间一般放置位置D:\app\qianx\oradata\orcl2.设置默认表空间alter database default tablespace xxx;comm

2015-12-23 14:36:52 410

原创 oracle创建本月日历

with x1 as/*1、给定一个日期*/(select to_date('2015-07-01','yyyy-mm-dd') as cur_date from dual),x2 as/*2、取月初*/(select trunc(cur_date,'mm') as 月初,            add_months(trunc(cur_date,'mm'),1) as 下

2015-09-17 15:05:02 696

原创 extract用法

与to_char一样,extract可以提取时间字段中的年月日时分秒。不同的是,extract的返回值确实number类型。create table test as select extract(year from systimestamp) as "year"from dual;desc test;可以发现返回的是number类型。区别:1.如上述2.extrac

2015-09-15 16:48:23 2230

原创 日期常用取值

select date,          to_number(to_char(date,'hh24')) 时,          to_number(to_char(date,'mi')) 分,          to_number(to_char(date,'ss')) 秒,          to_number(to_char(date,'dd')) 日,        

2015-09-14 16:10:03 655

原创 查询oracle用户IP

创建触发器create trigger on_logon_triggerafter logon on databasebegin      dbms_application_info,set_client_info | sys_contxt | ‘userenv’,'ip_address'));end;进行查询select client_info,machine fro

2015-09-14 11:15:30 1441

原创 oracle查询用户下每张表的信息

SELECT t1.Table_Name AS "表名称",t3.comments AS "表说明", t1.Column_Name AS "字段名称",t1.Data_Type AS "数据类型",t1.Data_Length AS "长度",t1.NullAble AS "是否为空",t2.Comments AS "字段说明",t1.Data_Default

2015-09-14 10:58:10 437

原创 查看oracle数据库的使用状态

查看每个session的CPU的占用情况;比较哪个session的CPU占用时间最多,然后查看该session的具体情况:下列找出当前session中最高的logical和Physical I/O比率:统计session中每个用户下cpu占用情况:

2015-09-14 10:48:50 738

原创 分析函数lead()over(),lag()over()

select no,          name,          hiredate,          lead(hiredate) over(order by hiredate) lead_hd,          hiredate,          lag(hiredate) over(order by hiredate) lag_hdfrom tabname

2015-09-11 14:17:01 4561

原创 枚举法计算全年周内星期几的次数

with x0 as (select to_date('2015-01-01','yyyy-mm-dd') as 年初 from dual),x1 as(select 年初,add_months(年初,12) as 下年年 from x0),x2 as(select 年初,下年初,下年初-年初 as 天数 from x1),x3 as/*生成列表*/(select 年初

2015-09-11 14:10:19 859

原创 计算两个日期之间的工作天数

返回A,B两个员工聘用日期之间的工作天数create table test as select level as idfrom dualconnect by levelselect sum(case                   when to_char(min_hd+test.id-1,'DY','NLS_DATE_LANGUAGE=American') i

2015-09-11 13:47:05 515

原创 oracle简单小知识

1.约束constraint constraint_name check(codition)constraint constraint_name unique(column_name)constraint constraint_name foreign key (column_name)reference table_name(column_name)on de

2015-09-10 14:31:29 386

原创 计算百分比-比例函数ratio_to_report

select no as 部门,                     工资合计,                     总合计,                     round((工资合计/总合计)*100,2) as 工资比列from (select no,工资合计,sum(工资合计) over() as 总合计          from (select no,s

2015-09-10 13:58:46 2111

原创 取最大值最小值

分析函数select no,          eno,          max(name) keep(dense_rank first order by sal) over(partition by no) as 最小值,          max(name) keep(dense_rank last order by sal) over(partition by no) as

2015-09-10 11:50:32 473

原创 关于函数row_number,rank,dense_rank排序

eg:返回排名前三的用户select no,          sal,          row_number() over(partition by mo order by sal desc) as row_number,          rank() over(partition by mo order by sal desc) as rank,          de

2015-09-10 11:16:02 761

原创 数据库系统的工作流程

step1:DBMS首先对数据查询语句进行语法检查,而后从数据字典中找到该用户对应的外模式,同时进行权限检查。若发现错误,则将错误信息返回给用户;step2:DBMS根据找到的外模式,利用概念模式/外模式映像,将其映像到概念模式,确定概念模式应该读入哪些数据;step3:DBMS利用内模式/概念模式映像,将概念模式映像到内模式,确定数据库应读入哪些物理记录及其具体的地址;step4:D

2015-09-09 15:04:21 1395

原创 计算累计差

思路:先将需要进行累积的值变成负值,再进行累加,即得到累计差with x as(select rownum as seq,a.*from (select 编号,项目,金额 from detail order by 编号) a)select 编号,          项目,          金额,          sum(case when seq=1 then 金额

2015-09-09 14:45:51 2549

原创 oracle中with table as临时表

with table as 是用于创建临时表,它是用来创建临时表,主要是在进行查询的时候,做一个测试用个人感觉好处有如下几点:1.起到一个测试作用,不需要创建实体表;2.当你需要进行一个复杂的查询时,可以从中提取单表或者多表的一些公共内容,这样不会造成很大的查询语句;3.对一些数据量比较大的多项查询时,可以使用它先产生有一个中间结果,而它是可以被语句中的select语句使用,可以提

2015-09-09 14:17:45 3405

原创 根据表中的行创建一个分隔列表

比如name中的A,B,Coracle11.2的分析函数listaggselect cid,           sum(sal) as total_sal,           listagg(ename,' ,') within group by(order by ename) as total_namefrom tabnamegroup by cid;如上结果所示

2015-09-08 10:23:59 401

原创 oracle中的正则表达式

1.regexp_replace   相当于同时执行了多个replace()函数;   实例在前面的文章中已经有了介绍2.regexp_like比如查询只包含字母或数字型的数据select a from vwhere regexp_like(a,'^[0-9a-zA-Z]+$');注:"$"该符号在方括号外,表示字符串的结束。regexp_like对应普通的

2015-08-21 16:04:44 731

原创 将字符和数字分离

1.可以使用正则表达式:select regexp_replace(a,'[0-9]',' ') d,       regexp_replace(a,'[^0-9]',' ') efrom table;注:[0-9]一种表示方式,代表[0123456789],还可以写成[[:digit:]];"^"表示否定2.

2015-08-21 15:43:00 1304

原创 从字符串中删除不需要的字符

比如删除‘abc’,三种方法1.select str1,replace(translate(str1,'abc','eee'),'e'.' ') str  from table;2.select str1,translate(str1,'1abc','1') str  from table;3.使用更简单的正则函数regexp_replace,直接把[]内列举的字符替换为空

2015-08-21 10:52:48 566

原创 计算字符在字符串中出现的次数

比如‘a,b,c’这个字符串中计算子串个数,我们一般都是计算其中的逗号个数加1create view v as select 'a,b,c' as str from dual;oracle11g给出了新函数regexp_countselect regexp_count(str,',')+1 as cnt from v;而在11g之前没有这个函数,我们可以用regexp_re

2015-08-21 10:43:51 702

原创 PLSQL Developer连接Oracle11g 64位数据库配置详解

PLSQL Developer连接Oracle11g 64位数据库配置详plsql developer暂时没有64bit版本的,所以无法连接到64bit的oracle上,经过一番折腾,终于成功连接到数据库上,现记录下配置过程,以便查看。1. 下载instantclient-basic-win32-11.2.0.1.0(oracle官网下载地址:http://www.oracle.com/t

2015-08-20 17:29:47 818

原创 linux挂载

1.linux系统中有时会出现当机房停电或者重启服务器后导致存储掉了对于这种情况,可采用自动挂载的方式:使用cat /etc/fstab命令查看(/etc/fstab用来定义需要自动挂载的文件系统,fstab中每一行代表一个挂载配置)在最后一行可添加一行这样的命令,格式如下:/dev/sdb3              /mnt2           ext4     defaul

2015-08-20 17:17:50 320

原创 oracle获取当前用户下所有的表名和表注释

1.select table_name from user_tables;当前用户select table_name from all_tables;所有用户select table_name from dba_tables;包括系统表select table_name from where owner='用户名';/*用户名要大写*/

2015-08-20 17:10:39 1689

原创 装数据库的准备工作

1.查看cpu    cat /proc/cpuinfo2.查看磁盘   df -m3.看内存   free4.fdisk -l 分区5.uname -r 看内核6.cat /ect/redhat-relese7.file /sbin/init 看多少位8.ipconfig   setup配置网络   注意:重启网卡要一个个的重启   ifup

2015-08-20 16:51:42 458

原创 oracle常见报错总结

ORA-00028:您的回话已被删除                    oracle请求服务过长,导致数据传输中断ORA-00932:不一致的数据类型,要求得到的却是blob                    blob字段不许distinct,insert,update等操作,他是特殊的对象,其实数据库里记录的只是一个类似指针的对象,就像一个试图的概念ORA-01427:单

2015-08-20 16:49:37 608

原创 oracle去重

1.oracle查找表中的重复数据    select testid,count(1)    from table    group by testid   having count(1)>1;   testid 标签号2.去重   detele from tab_name a    where col1,col2 in(

2015-08-20 16:37:32 760

原创 删除oracle表中名称重复的记录

介绍三种方法:1.建立组合索引   create index idx_name_id on table(name,id);   delete from table  a   where exists(select null from table b                        where b.name=a.name                     

2015-08-20 16:00:17 623

原创 浅谈中国式项目

为什么叫中国式项目了?其实是源于上次跟公司一个高级项目经理交谈得到的一个很片面的叫法。他提到一个目前中国做项目的一个现象:项目是没有明确的起点的。怎么来解释了?他说当你所在的公司从事某特定一个行业,当国家出台一个新的策略,或者出现一种新的行业时,项目在那时可能是已经开始了;你的公司会委派相关人员与甲方和谈,谈论关于项目建设的问题,甲方可能对目前的形势及以后的动态并不是很清楚,正处在犹豫期阶

2015-08-14 14:35:36 421

原创 合并merge into

语法:merge into t1 using t2on(t1.c1=t2.c3)when matched thenupdate/delete/.. set t1.c2=t2.c4when not matched theninsert(c1,c2) values(t2.c3,t2.c4);要点:1.语句merge into t1  只能更改t1的数据2.updat

2015-08-14 10:36:07 565

原创 oracle查看写法效率

sql语句的执行方法有很多种,当不知道如何判断写法效率是否高效,可采用查看plan的方式

2015-08-14 09:40:38 561

原创 PL/SQL学习笔记

1. PL/SQL(Precedural Language SQL)是Oracle在标准SQL的基础上增加了过程化处理,把DML和select语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作,实现复杂的功能或者计算的程序语言。2. 与java不同的是PL/SQL将复杂的业务逻辑写入过程、函数中,再调用。3. PL4. PL/SQL块分为:declare声明部分;beg

2014-04-28 20:28:58 868

原创 关于Oracle11g的了解——事务

事务重要性:关于事务,不得不说它在oracle中占据了重要的地位。概念:从概念来讲,它包含一组数据库命令,构成单一逻辑工作单元的操作集合;是访问并可能更各种数据项的一个程序执行单元,是不可分割的工作逻辑单元;是并发操作的最小控制单位。简单来说,事务是一组DML语句和commit/rollback组成,是改变数据最小逻辑单元;如果是commit,表示数据入库,如果是rollbac

2013-11-08 15:03:30 811

oracle四大宝典

此文档分为四个部分:sql基础,管理员基础,备份和还原,性能优化.rar

2015-12-25

空空如也

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

TA关注的人

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