自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长期深耕于云计算、大数据、数据库领域!

云贝学院院长 | AWS解决方案架构师 | 阿里云ACE | ITPUB论坛认证版版主

  • 博客(78)
  • 资源 (2)
  • 收藏
  • 关注

原创 Oracle体系结构概述

一、   Oracle体系结构的组件 Oracle体系结构包括很多基本组件下面我们详细介绍一下这些组件。1、Oracle服务器:Oracle服务器中包含多种文件结构、进程结构和内存结构;但是,处理 SQL语句时,并非所有这些结构都会用到。某些结构用于提高数据库的性能,确保该数据库在遇到软件或硬件错误时可以恢复,或者执行维护该数据库所需的其它任务。Oracle服务器包括一个

2013-02-28 08:16:25 10498 7

原创 数据字典

官方文档:Book => REF => Reference => Part II Static Data Dictionary Views数据字典是Oracle数据库的一个重要组成部分,是元数据的存储地点。我们可以通过数据字典来获取数据库相关信息。数据字典由四部分组成:内部RDBMS(X$)表、数据字典表、静态数据字典视图、动态性能视图。 Oracle的内核层引用了DSI,

2013-02-27 02:44:12 2722

原创 索引

一、什么是索引 常见的索引有B-TREE索引、位图索引、全文索引,位图索引一般用于数据仓库应用,全文索引由于使用较少,这里不深入介绍。B-TREE索引包括很多扩展类型,如组合索引、反向索引、函数索引等等,以下是B-TREE索引的简单介绍: B-TREE索引也称为平衡树索引(Balance Tree),它是一种按字段排好序的树形目录结构,主要用于提升查询性能和唯一约束支持B-TREE索引的内

2013-02-26 20:36:02 2171 1

原创 序列

一、什么是序列序列像表、视图一样,被称为数据库对象,它可以产生1、2、3、4……等等顺序增加的有序数。当然,也可以是1,3,5,7……,也可以由大到小。只要是有序数列,都可以有序列产生。下面我们看一下序列的创建和使用。二、序列的创建序列的创建语法如下:CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVA

2013-02-26 18:12:22 2314

原创 视图

一、什么是视图: 在ORACLE中,称视图为逻辑表。逻辑二字还是说明了视图不是真正的表。因为视图内根本就没有数据。视图的全部家当,也就是你创建视图时的SELECT语句。二、创建视图:1、创建视图的主法是: CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view  [(alias[, alias]...)] AS subqu

2013-02-26 17:08:20 2598

原创 同义词

一、同义词同义词相当于为对象起的别名。如果对象名比较长,输入起来不方便,可以为对象起一个短一点的同义词。比如,EMPLOYEES表,我为它起个同义词T1:gyj@OCM> create synonym t1 for hr.employees;Synonym created.对T1进行操作是,ORACLE为把T1转换为表名:hr.employees。gyj

2013-02-26 12:53:35 2598 1

原创 约束

约束是针对列的。在用户添加或修改列数据时,它用来对列数据用出一些限制。例如,非空约束限制了列不能为空。这就是约束。一、非空约束 NOT NULL   我们可以在创建表的同时,创建约束。也可以先创建表,以后在有需要时,添回约束。下面我们先说在创建表的同时,创建约束。1、建立表时指定约束 先看一个例子:gyj@OCM> drop table t2;Tab

2013-02-26 08:08:18 1854 1

原创

一、数据的对象包括表、索引、序列、视图、同义词等结构。 这节课我们主要介绍表的操作,索引、序列、视图、同义词这块内容我们下一节介绍。二、表的创建1、数据库中主要主要保存数据,而数据是以什么形式保存的呢?表由行、列两个重要元素构成。   行结构行由头、长度、行值组成。2、表名和列名命名的规则:(1)必须只包含字母a - z、a - z,0 - 9,_,$,#

2013-02-25 10:26:14 1546

原创 操丛数据

DML(Data Manipulation Language):数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。如INSERT、DELETE、UPDATE、SELECT、MERGE(插入、删除、修改、检索、合并)等都是DML操作。好,下面我们对INSERT、DELETE、UPDATE、SELECT、MERGE做详细介绍。一、INSERT  INSERT语句用来向

2013-02-24 17:12:44 3693 2

原创 多表连接

*********************************************** ORACLE的连接(非SQL99的连接)***********************************************一、多表连接的起因1、关系数据库的设计范式(1)第一范式(1NF):属性不可分。 (2)第二范式(2NF):非主属性完全依赖于码。 (3)第三

2013-02-22 17:14:24 3205

原创 集合运算

一、Oracle支持4种集合运算符:UNION、UNION ALL、INTERSECT及MINUS。集合运算符将两个或更多SELECT语句的结果合并成一个结果集。其与连接的区别就在于连接是用来将不同表中的列组合起来形成一行。 二、所有进行集合运算的查询都必须符合下面的条件:1、所有的输入查询必须返回相同数目的列。2、每一列的数据类型必须与对应的其他输入查询一致。(数据类型可以不直接

2013-02-22 11:59:43 2969 1

原创 子查询

一、子查询一般形式 表T1有一个SALARY,薪水列。我想知道都是谁的薪水比Joe的薪水多。这样的需求,我们共需要两个查询,才能完成,第一个查询是找出Joe的薪水是多少,第二个查询在此基础上,查找比Joe薪水多的人。命令的形式为:gyj@OCM> select name from t1 where salary > (select salary from t1 where name='

2013-02-22 11:30:04 1409

原创 分组与组函数

一、求和与求平均1、什么是组函数组函数就是我们前面我说过的多行函数。它主要针对表进行操作。因为只有表中,才有多行数据。下面我们以SUM和AVG这两个组函数为例,先从它们开始,介绍组函数的特性。2、SUM 求和函数gyj@OCM> select sum(salary) from t1;SUM(SALARY)-----------     315888 ORAC

2013-02-21 21:34:54 2327 1

原创 函数

一、什么是函数1、函数与命令的区别。select是命令,命令不返回结果,只完成某种操作,函数都返回结果。2、函数一般有如下形式:函数名(参数1,参数2,……) 参数是你想传递给函数的数据。如Power(2,3)。这个函数的作用是计算2的3次方。2和3就是参数。参数会被传给函数,函数根据传过来的参数进行计算,并返回计算结果。上例中结果是8。我们可以如下显示它的结果: gyj@OC

2013-02-21 16:38:43 2283 1

原创 表的查询

一、SELECT1、了解| [ ] {}在命令介绍中的意义,以及基本的SELECT查询表中数据,主要使用SELECT命令。SELECT *|{[DISTINCT] column|expression [alias],...} FROM table;在这种命令描述方式中:| :表示或者,像上面的*|{……},也就是你可以使用*,它表示显示所有列,也可以使用大括号中的内容。{}:表示必

2013-02-20 21:05:45 1935 1

原创 WHERE条件和排序

一、条件简介了解条件的一般形式最普通的条件如下形式:gyj@OCM> Select * from t1 where name='gyj2';        ID NAME           SALARY---------- ---------- ----------         2 gyj2             8000  条件只能跟在WHERE之后,

2013-02-20 15:17:41 2357 1

原创 一致性读保证了读不阻塞写

再深入一步,为大家测试下,如果手动将buffer Header中Buffer Pin内存位设置为1,这就等同于加上了共享Buffer Pin锁,这时另开一个会话,更新这个块,会有什么情况呢?1、取T1表的第一行数据做测试:SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_blo

2013-02-20 05:39:45 1965

原创 SQLPlus环境设置

一、替换变量二、SET命令三、格式控制命令四、配置环境脚本************************************          替换变量************************************一、替换变量1.当我们在SQL*Plus中执行命令时,可以使用替换变量,让用户每次执行语句前,为语句传送不同的数据。例如:

2013-02-19 15:59:20 3461 1

原创 Oracle软件安装及手工建库

一、阅读官方文档  二、安装数据库软件(参考实验手册)1、上传oracle软件包并解压缩  unzip p10404530_112030_Linux-x86-64_1of7.zip  unzip p10404530_112030_Linux-x86-64_2of7.zip2、建组、用户   groupadd oinstall   groupadd dba

2013-02-19 09:30:13 2271

原创 Linux安装维护(为安装Oracle做准备)

一、      安装前的预备知识                                1、硬件:(1)主机       CPU—>Cache(L1-L2-L3)—>内存—>SSD硬盘—>网络—>硬盘(硬件性能从高到低)      CPU及内存:缓存数据访问、比较、排序、事务检测、sql确析、函数或逻辑运算      MEM:程序需要占用总内存数 ,物理内存大小 +

2013-02-19 09:00:20 2301

原创 如何确认第二个sskgslcas就是获得Buffer Pin锁

从dtrace日志中贴出部分日志:   0  51768           kcbgtcr:entry i=643 PID::entry:==pid1555:oracle:kcbgtcr:entry fffffd7ffac27cd8 0 2fe 0 23dede0 fffffd7fffdfa790   0  51769           sskgslcas:entry i=644 PI

2013-02-18 16:06:42 1955

原创 cursor_sharing=force导致的ora-600错误的分析

1、在alert_lxdb.log日志中报600错误Errors in file /u01/app/oracle/admin/lxdb/udump/lxdb_ora_50379.trc:ORA-00600: internal error code, arguments: [kkslhsh1], [101], [], [], [], [], [], []注意这个问题可能会导致产生非常大的

2013-02-18 05:15:42 1617

原创 dbms_stats 使用方式

1.创建存放统计信息的表:exec DBMS_STATS.CREATE_STAT_TABLE (ownname=>'GYJ', stattab=>'STAT_TAB',tblspace=>'STAT_TP1'); 2.导出备份统计信息:exec dbms_stats.export_table_stats(ownname=>'GYJ',tabname=>'LOG_PREPAY_INF

2013-02-18 01:06:21 1614

原创 逻辑读产生Cache Buffer Chain(简称CBC) Latch的解析

测试环境:版本11gR2SQL> select * from v$version where rownum=1;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.

2013-02-17 15:20:14 6580

原创 查Oracle的隐藏参数

我都是放在$ORACLE_HOME/rdbms/admin下,看起来像个Oracle提供的脚本$ cat show_para.sql  col p_name for a40col p_DESCRIPTION for a50col p_value for a30set linesize 10000SELECT   i.ksppinm p_name,    i.ksppde

2013-02-16 18:54:14 2061

原创 linux NTP 配置时间同步

在RAC节点上配置时间同步1.时间没同步在节点二上修改vi /etc/ntp.conf# --- OUR TIMESERVERS ----- #server 0.pool.ntp.org    (注释掉)server 10.10.10.212       (修改成节点1的私网IP)#server 2.pool.ntp.org    (注释掉)2.在两个节点上

2013-02-07 02:29:43 1815

原创 手动清除CRS信息

Linux上安装RAC失败,彻底清楚CRS步骤如下:1、在所有节点停止nodeapps srvctl stop nodeapps -n nodename 2、删除crs自动启动程序 rm /etc/oracle/*rm -f /etc/init.d/init.cssdrm -f /etc/init.d/init.crsrm -f /etc/init.d/init.c

2013-02-07 02:26:30 2284

原创 配置ssh互信

在安装rac RAC时,首先要配置ssh互信,下面我们介绍详细下如何配置ssh互信。    假设目前有两台机器,分别是 ocm1 和 ocm2 , 我们准备在这两台机器上进行ssh互信的配置:     首先,我们先了解下配置ssh互信的原理,ssh互信,说白了,就是在目标机器上,预先设置好经过认证的key文件,当需要访问目标机器时,目标机器通过key文件,对访问者进行自动认证,从而实现

2013-02-07 02:21:33 2681

原创 一个SQL逻辑读异常的解决方法

P1A项目上线后,发现一个SQL的逻辑读相当高,这个SQL语句是一个很简单的分页语句,按照开发人员提供给我的SQL,我实际执行了一遍,逻辑读只有30左右,但是在awr报告中,平均逻辑读是300。  百思不得其解,怀疑是绑定变量的问题,由于看不到实际的变量值,我作了一个10046 level8的trace,果然不出所料,虽然外表看起来是分页的语句,但是每次传入的变量都是从1到最后一页,由于分页语

2013-02-07 00:22:15 1979

原创 ASM 磁盘头信息备份

ASM磁盘头信息保存在每个磁盘的前4K里面,这个信息的备份对于ASM的恢复非常重要,有下面的几种方法1.直接做dd来备份磁盘的前4K,磁盘头信息丢失时,dd回来备份:dd if=/dev/raw/raw1    of=/gyj/asmheader.dd   bs=4096 count=1恢复:dd if=/gyj/asmheader.dd    of=/dev/raw/raw1

2013-02-07 00:19:56 2524

原创 数据库状态检查综合脚本

----查询物理文件是否有offlineselect name, bytes, status from v$datafile where status = 'OFFLINE';复制代码----查询失效对象SELECT owner, object_name, object_type  FROM dba_objectsWHERE st

2013-02-07 00:00:20 2890 1

原创 DDL会产生两次commit操作

以下是我做的测试,在ddl完成之前 就提交了。1.、会话1上的操作SQL> select * from t2;no rows selectedSQL> insert into t2 values(1,'gyj1');1 row created.SQL> drop table t200;drop table t200*ERROR at line 1:O

2013-02-06 23:49:22 1812

原创 update的内部原理

用ORACLE内部原理描述以下过程:1、sqlplus user/passwd@orcl2、update t set a=1 where b='ss';3、commit;4、exit1、sqlplus user/passwd@orcl(1)、客户端SQLPLUS连接监听(2)、监听收到连接请求,Fork一个Oracle进程,作为服务器进程,同时分配一小块PGA内存。

2013-02-06 23:43:58 2244

原创 Linux5.3上装Oracle出现乱码的处理

乱码其实是主要设置了中文是默认系统语言,只要设回英文就解决了乱码。为防止Oracle安装过程中出现乱码,建议还是使用英文作为系统语言,进行Oracle的安装工作  回复Hobby 22:37:30解决一:设语言为英文,重启系统[root@zfdb ~]# more /etc/sysconfig/i18n LANG="en_US.UTF-8"SYSFONT="latarcyrhe

2013-02-06 23:38:15 1349

原创 RedHat Linux AS 4.5 下DNS的配置步骤

RedHat Linux AS 4.5 下DNS的配置步骤

2013-02-06 23:35:56 1418

原创 求t表中x的第2大的值,有多少种方法?

create table t(x int);insert into t values(1);insert into t values(3);insert into t values(5);insert into t values(7);insert into t values(9);commit;SQL> select * from t;         X--

2013-02-06 23:32:32 2457 1

原创 nvl() 与decode()两个函数哪个性能更佳?

1.创建一个测试表test,并插入一条数据SQL> create table test(id int);Table created.SQL> insert into test values(1);1 row created.SQL> commit;Commit complete.2.创建一个函数,用来延时,调到到这个函数会在这里循环500

2013-02-06 23:21:30 4247 1

原创 分区表添加分区的问题

oracle  range分区表已经有了MAXVALUE 分区,如何添加分区?要不能删除MAXVALUE分区里的数据,不影响在线应用。1、创建个分区表SQL> create table p_range_test  2  (id number,name varchar2(100))  3  partition by range(id)(  4  partition

2013-02-06 23:18:43 1607

原创 列转行函数

1、列转成行,如下数据      ID NAME---------- ------------------------------        10 ab        10 bc        10 cd        20 hi        20 ij        20 mn6 rows selected2、调用oracle的函数SQL

2013-02-06 23:14:38 1734

原创 创建自治事务

CREATE OR REPLACE PACKAGE BODY EBS_TRADE IS-- 获取数据库中的错误信息PROCEDURE MakeErrorMessage(Head IN EbsHeadObject, ErrorCode IN VARCHAR2,ResBuffer OUT VARCHAR2)ASPRAGMA AUTONOMOUS_TRANSACTION;

2013-02-06 23:04:02 1213

Oracle Core_ Essential Internals for DBA - Lewis_Jonathan

一本非常经典的讲Oracle内部原理的书。研究Oracle必备的书籍。

2013-02-27

LINUX与UNIX SHELL编程指南

本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。

2013-02-27

空空如也

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

TA关注的人

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