系统架构师
一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。
原文转自:http://blog.csdn.net/cang_rong2046/article/details/5549950 网络文献参考方法一: 借助于unetbootin,可以快速的将你的U盘制作成类似启动盘的功能。
1、专有和共享服务进程: 专有服务(dedicated server process): 一般有两种常见的情况下使用专有服务进程:1,、进行一个批处理作业的时候 2、用rman去备份,还原,恢复一个数据库的时候。
转自一沙弥的世界的博文:原文地址:http://blog.csdn.net/robinson_0612/article/details/5542983 Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载。
1、启动数据库: 1,、数据库启动的方式:一般有三种方式可以启动数据库,sqlplus,recovery manager(传说中的RMAN),enterprise manager(传说中的EM)。
1、理解创建数据库的语句: 下面介绍若干创建数据库时用到的语句,详细解释其意义,以上节创建数据库的脚本为例: CREATE DATABASE mynewdb USER SYS IDENTIFIED BY liu123 USER SYSTEM IDENTIFIED BY manager ——这两句为用户sys,用户system创建了密码,如果创建的时候忽略了这两个子句,那就用默认的值:change_on_install和manager,并且在alert log中记录下来,是使用的默认值。
原文:http://www.askmaclean.com/archives/incremental-checkpoint-update-controlfile.
学习操作系统已经有两年了,惭愧的是至今没有好好复习一下课本上关于进程这一章节的内容,以至于到现在很多概念性的东西,很多深层次的东西理解起来总是不通顺,所以我决定花自己一个下午的时间,好好把这一章节整理出来,给自己总结一下,也供自己以后回顾,也希望各位童鞋能给我些指导,让我有更深层次的理解。
1. 第一行必须是"#!/bin/sh" 它不是注释,"#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在; 如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell. 如果脚本被编写为在Kornshell ksh中运行,而默认运行shell脚本的为C shell csh,则脚本在执行过程中很可能失败。
一般来说,linux系统中一般有两类例程,周期性的例程和一次性的例程。我们如何达到定期或者定时执行某个例程呢?一般会用的两个指令:at 和 crontab另外还有这两个指令涉及到的一些文件。
源自:http://www.eygle.com/archives/2005/03/sysopereioaaeei.html 缺省的SYSOPER可以起停数据库,但是不能查询数据字典。
1、删除数据库: 在linux下删除一个数据库很简单,只要删除相应的文件就可以了。来,咱开始: 1、进入$ORACLE_HOME/dbs 删除本数据库的初始参数文件 、密码文件: [oracle9@frogger dbs]$ pwd/u01/app/oracle/product/10.2.0.1/dbs[oracle9@frogger dbs]$rm init$ORACLE_SID.ora ——这时我试着启动数据库,报01078错误,不能加载系统参数。
1、区分dba,sysdba ,sysoper三者区别: dba:只是一个角色。这个角色有个各种权限。 sysdba:这个难于理解,但是我可以把它理解成 拥有特定权限的一个身份。
1、数据库克隆技术: a、克隆oracle home:复制oracle home 目录下已经配置的,已经打好补丁的二进制文件,当然还有子目录到目的主机然后启动一个实例,自己创建数据库。
原文整理自网络: Oracle支持两种类型的聚簇: 索引聚簇和哈希聚簇 1. 什么是聚簇 聚簇是根据码值找到数据的物理存储位置,从而达到快速检索数据的目的。
oracle 主要有3中高可用的方案,下面分别描述下: 1、RAC 多个Oracle服务器组成一个共享的Cache,而这些Oracle服务器共享一个基于网络的存储。
整理自网络,不是本人作品,原文链接找不到了抱歉。 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.也可以在first_rows(n)这样加一个参数,表示先取出多少行。
1、shell脚本概述 什么是 shell script 呢? shell 我们在 认识 bash 当中已经提过了,那是一个文字接口底下让我们与系统沟通的一个工具接口,那么 script 是啥? 字面上的意义, script 是『脚本、剧本』的意思。
什么是聚簇?tom给出的解释是这样的,如果一组表有一些共同的列,那么就把这些表存储在相同的数据库块上,也可以认为把相关的数据存储在一个块上,例如我可以这样理解,如emp表中部门好为10的员工全部都放在一个数据块中,
关于索引的入门参照博客:http://blog.csdn.net/changyanmanman/article/details/7097318 索引组织表(index organized table, IOT)就是存储在一个索引结构中的表。
1、切换用户后就不能用sqlplus了,每次都得关机重启: 这要从su 和 su - 这两个切换用户的名令说起了,前者只是切换了身份,但SHELL环境仍然是原用户的SHELL;而后者连用户和SHELL环境一起切换成新用户的了。
1、服务器准备: 1、确认自己电脑的平台是什么: 输入 uname -a 查看自己系统是什么样的平台。我x86的。 2、查看自己磁盘剩余量: 用 df -a ; h ; lh 命令都可以可。
6、ITL事物槽: http://blog.csdn.net/changyanmanman/article/details/7081699 更详细的ITL事务槽的测试实验参考我的博客: 一个修改事务的开始执行: 1) 首先当一个事...
5、分析redo redo的管理是数据库的一个串行点,每个oracle数据库实例都只有一个LGWR进程,所有的事务都会要求LGWR进程去管理,写他们的各自的redo,每个操作的LGWR写的越多,就会使系统越慢。
1、oracle 的日志分3类: 警告日志-=Alert log files ; 跟踪日志--Trace files用户和进程); 重做日志--redo log 录数据库的更改)。
以下内同整理自网络: 分区索引分为本地(local index)索引和全局索引(global index)。 1、本地索引: 其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。
以下内容整理自网络: 索引跳跃式扫描(index skip scan)是Oracle9i用来提高性能的新特性,对于使用复合索引的数据库应用程序意义尤为重大。
http://www.itpub.net/thread-942639-1-1.html 回滚段头中,有一项非常重要的信息,就是事务表。对事务表频繁的访问,可能会造成回滚段头的争用.
AWR 基线 使用AWR 基线进行比较性能分析 • AWR 基线包含了“目标或参考”时段的一组AWR 快照 • 基线对性能优化很关键,可用于: – 指导预警阈值的设置 – 监视性能 – 比较指导报表 使用AWR 基线进行比较性能分析 应对性能度量设置什么样的阈值才是恰当的?您要检测什么?如果希望知道性能度量值指示服务器接近容量限制,则应设置绝对值。
GRUB 是引导装入器(boot loader) -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。
5、一致性读和当前读的深入理解: 在CSDN里经常会遇到一些特别有学习劲头的朋友,有这样一个朋友,在学习Tom的经典书 《oracle 9i/10g编程艺术》 人民邮电出版的 P244 --7.
开发多用户数据库应用,最大的难题之一是:一方面要力争最大的并发访问,而同时还要确保每一用户 能以一致的方式读取和修改数据。力争最大的并发访问需要用锁定机制,而确保一致读和修改数据则需要一些并发控制机制。
7、enqueue: 什么是enqueue enqueue可以做名词,也可以做动词来解释。 做名词时,指的的是一种锁的类型,比如Tx enqueue。 做动词时,则是指将锁请求放入到请求队列的操作。
5、变量键盘读取、数组与宣告: read, array, declare read:用于读取键盘输入的变量,常用在shell script的编写当中,下面先看基本功能: [root@linux ~]# read [-pt] variable 参数:-p ...
默认情况下 T@ora>create table t1 as select * from t ; Table created. Elapsed: 00:00:00.
1、锁的理解: 一般来说,以我现有的知识理解锁,可能认为锁是针对数据行,或者数据表的,但是oracle中对锁的适用范围是对所有oracle内的共享资源,比如,一个存储过程,一个触发器。
1、关于时间显示参数 SQL> alter session set nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss'; 会话已更改。
1、如何决定数据扩展分配的数量与容量: 每个段的定义中包含了数据扩展的存储参数,这个参数可以表征数据创建表或者索引的时候为数据扩展分配多少数据块,或者限定 一个表(一个数据段)最多可以有多少 数据扩展。
(一) 一直以来对“块”的概念总是含混不清,从字面意义理解,只知道这是ORACLE存放数据的最小单位,然而它的内部世界如何呢,本人打算从今天开始连载几篇文档,对它进行深度分析。
关于resetlog的作用是将日志序列重置,这样以前的归档就作废。请高人指点,是什么样的一个工作机制? 首先一定要明白oracle工作的基本原理,归档情况下:大家一定要同步,谁也不能滞后或者超前,也就是SCN号,如果学oracle不懂scn的作用,那oracle就很难学懂了。
1、按照部门的编号,分组,求出每个部门的平均薪水?最高薪水? 实现:SQL>select deptno,avg(sal) from emp group by deptno; DEPTNO AVG(SAL) ---------- ---------- 10 2916.
1、temp表空间: temp表空间可以认为是PGA的SWAP区,这样就一下子明了了。PGA里放不下的都可以放到这个temp表空间中,来顺便回忆一下pga的结构,pga大致分为三个部分,分别是会话内存,私有sql区,游标和sql区(这个还不太了解。
1、什么是注册: 注册就是将数据库作为一个服务注册到监听程序中,客户端不需要知道数据库的数据库名和实例名,只需要知道该数据库对外提供的服务名就可以访问数据库。这个服务名我们可以自己取名字,这样就可以不跟实例同一个名了。
1、listener解析: 首先对listener做一个介绍:oracle的listener包括三个文件,分别是sqlnet.ora , tnsnames.ora, listener.ora 其放置的目录在$ORACLE_HOME/network/admin 下面。
*Latch Contention with KQR X PO consuming lots of memory and Database Hang [ID 289717.
1、数据库的结构: 1、控制文件(ctl):其中有四类信息,分别是 数据库的物理结构信息, 数据库的归档历史信息, 各个数据文件的scn号和check point(系统检查点) rman源数据。
第一章:引起数据库性能的因素: 1、对于高度并发的系统,可以在数据库与用户之间用软件搭建一个中间层,其目的是构建一个缓冲池,对用户访问数据库前进行处理,这就是中间件服务。
这只是我个人的笔记,不适合各位网友学习,因为个人的程度水平不一,况且我记录的比较散乱,不适合系统学习。 oracle学习步骤: plsql——数据库体系结构(各种文件,内存块等)——数据库备份恢复——数据库优化——rac(真正应用集群)(rac 优化,工作机制)——sql语句的执行计划,sql语句的各种优化。
数据库安全: 先来介绍几个定义吧: 1、用户安全域:每个用户都有一个对应的安全域(security domain),所谓安全域实际上是一组属性,这组属性决定了: 用户可执行的操作(权限(privilege)或角色(role)) 用户的表空间限额(tab...