原帖由 大漠孤星 于 2005-10-19 22:35 发表
把文章直接贴上来吧。分享你的其他章节,给你加大精华。
传附件是为了下载LU XDJM方便,呵呵
还没有整理完呢,继续整理中.......
先直接发部分:
-----------------------------
1-5章
-----------------------------
第一章 架构
oracle 2部分组成实例和Database
database一个物理存在,数据组合。
实例就是操作Oracledatase的一种手段。后台进程和内存结构
实例(instance):memory structure,background process;
memory structure--SGA:sharedpool,database buffer cache,redo log buffer cache,large pool,java pool。
后台进程-- MON,SMON,DBWR,LGWR,CKPT,Others--ARCHIVE,RECOVER (可选和必须2部分)
等。
database 必须的文件:数据文件(data files),Control files,redo log files。
可选的文件:parameters file,passwordfile,archived log files。
用户进程和Server进程。是1对1的用户和Server进程。Oracle用户进程无法直接修改Databse的数据,只能通过连接服务器进程来修改数据。
control file是用来连接实例和database的桥梁。
startup nomount--开启一个实例
alter database mount;--读取控制文件
alter database open;--对database和数据文件和控制文件的一致性验证。
database ---- instance 是1对多的关系。
set wrap off
set linesize 200
select * from v$bgprocess;----所有可能会使用倒的后台进程。并不是所有的进程都是必须的。
必须的进程:select * from v$bgprocess where paddr<>'00';
PMON,SMON,DBWR,LGWR,CKPT,RECO.
database的物理结构:
3类文件,可能有多个文件组成。
select * from v$controlfile;
select * from v$datafile;
select * from v$logfile;
oracle 内存结构:
SGA--,系统一级可以share的,包括shared pool,database buffer cache,redo log buffer cache,large pool,java pool,lock,latch等。
PGA--,Server 进程特用的,不能共享的。
SGA定义:
show parameter shared;
show parameter db_cache_size;
show parameter log_buffer; oracle 9i 可以动态调整,但是SGA总和不能超过SGA_MAX_SIZE
alter session set nls_language=american;
alter system set db_cache_size=64m;
l;
c /64/20/
run
shared_pool_size:
--library cache : 当前库经常执行的SQL、PL/SQL等执行计划,编译数,以及文本等,提高代码共享性
SQL语句--library cache检索是否有已经编译的执行计划--有直接执行|没有--语法分析--编译--得到执行计划后执行。提高性能的重要参数,保持在99%上。使用LRU算法,最近使用法。只能通过shared_pool_size来定义。
--data dictionary cache : 用户的权限信息,访问数据对象,database结构信息,又称为行Cache(row cache)具体包括:数据文件信息,表信息,index信息,表列信息,用户信息,权限信息和其他数据对象信息的缓存。÷
不同cache_size 大小
db_cache_size:
db_16k_cache_size:
db_2K_cache_size:
db_block_buffers racle 8 i,块数量的大小;4096 =4k
block_size=4096 那么db_buffer大小为:4096×db_block_buffers M.
database buffer cache:
db_cache_size:
db_keep_cache_size:
db_recycle_size:
可以动态调整:
db_cache_advice racle系统建议值。
alter system set db_cache_advice=on; 根据系统运行Oracle给出的建议db_cache_size大小
redo_log_buffer_cache:
主要用于系统恢复
largepool:backup and restore;mts 方式(共享服务器方式)主要用有放置UGA的内存;可以动态改变
java pool:java_pool_size:
PGA:程序全局区,
dedicated server:Stack Space,Session information, sort area,cursor information;
shared server:Stack Space, sort area,cursor information;
process information:进程信息
用户进程----服务进程----后台进程
用户进程:客户端发起,不能直接操作数据
服务进程:根据用户进程开启的服务端进程,
后台进程:select * from v$bgprocess where paddr<>'00';
后台进程:
DBWn,写入修改后的数据(将DBBuffer中的dirtys数)
条件:check point,Buffer到阀值,no free buffer,timeout 3s,表空间的offline,表空间备份,表空间的readonly,
表结构清空和删除。
LGWR,日志写进程,把日志中Buffer中写道日志
条件:commit命令,1/3满Buffer,1M的redo,每3秒,开始写数据。
写日志优先:即写数据前必须先开始写日志。
SMON,系统监控进程
负责instance 恢复,
系统自由空间的整理
临时断的清空:
PMON,进程监控进程用户进程数据回滚清空整理,释放Lock,释放其它资源,重启死调的dispatchers(调度器,sharedServer mode)
CKPT,同步用,强制把Buffer中的数据写到datafiles;
更新数据文件和控制文件的Header,同步所需要的信息。实现数据库的信息的周期性同步。
ARCn,自动备份再线日志。
数据库的Logic Structure:
tablespaces,
segments,
extents,分区,空间的分配单位
block,空间的使用单位,如读,写等。
第二章 Oracle入门工具
主要内容:基本DBA工具,Oracle 安装工具OUI,OFA优化结构,口令文件,OEM管理工具。
OUI:安装升级,删除,
DBCA:建库工具,配置帮手
口令文件:可以管理特权用户的认证。
SQL/pLUS,
OUI:安装升级,修改Oracle应用组建,
安静的安装模式:
./runInstaller -responsefile myrespfile -silent
--myrespfile为指定的安装参数文件,
--sielt 表示安静安装模式,无需人工干预
DBCA:
OFA:Optimal Flexible Architechture
直观的管理Oracle的体系架构,可以支持多Database和多racle banb
DBA user:sys和system
sys/change_on_install:Owner of the database data dictionary
system/manager:Owner of additional internal tables and views userd by Oracle tools.
DBA 认证(authentication)方法:
Os authentication:借助操作系统的认证。
create os user id,
create os group-ora_dba,ora_fox_dba
ora_oper,ora_fox_oper
add os user id to ora_dba group
edit sqlnet.ora "sqlnet.authentication_services=(nts)
?就可通过connect / as sysdba 来连接数据库
use a password file:用于在数据库启动前的用户验证,可以启动、关闭数据库。
1。orapwd file=d:\oracle\ora90\database\pwdfox.ora password=admin1 entries=10;(需要重启DB后生效)
2。edit initSID.ora file:
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
3.GRANT SYSDBA TO USER02; (select * from v$pwfile_users;)revoke sysdba from user02;
sqlplus/sqlplusw:
set autocommit on;
set linesize 1000;
是一个工具,有自己的一套命令,同时也可以运行标准的SQL命令,和pl/SQL编程语言。
oracle 9i 开始停用svrmgrl
OEM,是一个三层结构的应用工具,它通过各种Agent来实现对多个Oracle数据的集中管理:
独立登陆:可以直接连上数据库,但是不能做一些操作如备份之类
OEM服务登陆:OEM CONSOLE---Repository(资料库)---oracle agent
必须先配置服务器
OEM工具:
第三章 管理Oracle Instance
任务:
Create和管理,修改initSID.ora文件
配置OMF,配置Oracle表空间,日志文件的路径等。
Oracle启动和关闭过程-nomount,mount,open.
3.1 初始化参数文件:
系统参数文件,spfile 一个二进制文件,不可以直接修改,可以alter system 命令修改。
初始化参数文件initSID.ora,可以修改
在Oracle参数中,如果没有特别指定,就使用默认值。分为2类:显试和隐含
SPFILE,可以动态修改内存参数
Oracle启动过程初始化参数文件的优先级:spfileSID.ora---spfile.ora---initSID.ora
create spfile from pfile;
create pfile from spfile;
实例:
create spfile='d:\oracle\admin\pfile\spfile.ora' from pfile;
create pfile='d:\oracle\admin\pfile\pfilebak.ora' from spfile;
3.2 OMF Oracle managed file
db_create_file_dest string #create tablespace default db_files dir;
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
3.3 Instance startup and down process;
start process:
nomount--读初始化参数文件,写alertSID.ora文件,分配物理内存,启动后台进程,定位到控制文件
用于create db,create controlfile
mount--打开控制文件,确认databaes结构信息,只能访问数据库结构信息和内存信息,不能访问用户信息。
用于修改归档模式,rename db_file,恢复数据库
open--打开所有在控制文件中描述和当前Instance相关的文件,如果需要(如shutdown abort)对文件进行完整性校验,即recover。
用正常操作数据。
startup [nomount|mount|open] [read only]
pfile=
restrict #限制用户连接模式 只有拥有restricted权限的用户可以登陆
recovery
force #忽略现有内存中的Instance,强制启动。
数据是否启用read only 只有在启动时候觉定,启动后无法修改。
shutdown 模式:
normal:等待当前的Session、和事务(transactional)完毕,
transactional:等待当前的事务(transactional)完毕,
immediate:不等待,直接关闭库。对已经做的事情做Rollback
abort:没有做check point 和关闭文件。需要在下次启动时候做Recovery
在shutdown abort 和instance启动失败,或startup force后需要对数据库做Recovery,过程如下:
Redo log对已做的事情进行重做--回滚段对已做的操作进行Rollback没有Commit的作业--释放资源
通过监控诊断文件来管理Instance:
3类诊断文件:
AlertSID.log:记录Oracle内部信息,出现Oracle系统的错误信息。一般每天检查。放置background_dump_dest参数指定。
后台转存文件:后台进程出现错误的时候做日志记录。目录同AlertSID.log
用户跟踪文件:缺省关闭,如果启动需要设定参数。放在USER_DUMP_DEST指定目录 sql_trace=true或者alter session set sql_trace=true;
第四章 create database 和管理
topic:
准备工作
DBCA建库
手工建库
4.1 准备工作
特权用户,建立口令文件,足够的内存和磁盘空间。
规划存储位置:
至少2份不同位置的控制文件
多份Redo log文件
为了均衡系统负载,数据分开存放。系统表空间不要存放用户数据。
设定系统环境变量:UNIX
ORACLE_BASE: d:\oracle 第一节子目录
ORACLE_HOME: d:\oracle\9.2.0\ 管理文件所在的位置
ORACLE_SID: 实例名称
ORA_NLS33: 语言环境变量,和字符集有关
PATH:
LD_LIBRARY_PATH: 文件库所在的路径
设定系统环境变量:windows
set ORACLE_SID=calay
setenv ORACLE_BASE=D:\oracle
4。2 DBCA建库
可以修改,删除,建立库,管理模板。
4。3 手工创建库
1.确认唯一 的SID。
2。确认字符集。
3。设定系统变量:ORACLE_HOME 等
4。编辑、修改初始化参数文件。
5。启动实例。startup nomount
6。执行create database 命令
7。执行常用的Scripts和字典库的视图等。
如果是windows下,需要 创建实例:(创建口令文件和Service)
1.set ORACLE_SID=ca1;
2.oradim -NEW -sid ca1 -INTPWD admin -pfile D:\oracle\product\10.2.0\db_1\database
3.修改INITSID.ora文件:controlfile和DB_BLOCK_SIZE大小
CREATE DATABASE "ca1"
DATAFILE 'd:\oracle\product\10.2.0\oradata\ca1\system1.dbf' SIZE 50M AUTOEXTEND ON NEXT 4M MAXSIZE 128M
logfile group 1 ('d:\oracle\product\10.2.0\oradata\ca1\redo01a.log','d:\oracle\product\10.2.0\oradata\ca1\redo01b.log') SIZE 16384K,
group 2 ('d:\oracle\product\10.2.0\oradata\ca1\redo02a.log','d:\oracle\product\10.2.0\oradata\ca1\redo02b.log') SIZE 16384K,
group 3 ('d:\oracle\product\10.2.0\oradata\ca1\redo03a.log','d:\oracle\product\10.2.0\oradata\ca1\redo03b.log') SIZE 16384K
sysaux DATAFILE 'd:\oracle\product\10.2.0\oradata\ca1\sysaux.dbf' SIZE 50M
undo tablespace UNDO
datafile 'd:\oracle\product\10.2.0\oradata\ca1\undo01.dbf' size 10m
default temporary tablespace TEMP
tempfile 'd:\oracle\product\10.2.0\oradata\ca1\temp1.dbf' size 10m
character set ZHS16GBK
maxdatafiles 254
maxinstances 8
maxlogfiles 32
;
手工建库过程:
1.create database ..
2.运行buildall.sql---catalog.sql
3。catproc.sql建立标准的数据库包,和数据类型。
4.sqlplus/admin/pupbld.sql 建立SQLPLUS运行环境。以system用户登陆运行
5。sqlplus/help/helpbld.sql 建立SQLPLUS帮助环境
第五章 数据字典内容和用途
数据字典 data dictionary
在数据库创建过程中,会自动建立下面2类表:
1 Data dictionary table:存放数据字典的静态信息。是只读,加密的系统表。用于描述Database的对象信息以及用户的权限信息,包括:
base table:和database相关的结构信息。加密信息,无法直接查看。
data Dictionary view: 显示base table 的信息
2 Dynamic performace table :启动时候创建,关闭的时候删除的临时表,存放运行中的性能信息,是数据库优化的重要依据。
5。1 数据字典的具体内容:
1。数据库的逻辑和物理结构
2。定义和分配对象的空间分配和使用。
3。完整性约束。
4。用户
5。角色
6。权限
7。审计信息。(可以记录到其它地方——)
5。2 数据字典的用处:
1。存储用户、数据对象、存储结构的信息。
2。通过DDL语句来修改数据字典信息。
5。3 数据字典分类:
1 DBA_XXX,所有的数据对象
2 ALL_XXX,可以访问到的数据对象信息。如自己拥有或者授权的对象。
3 USER_XXX,用户自己用有的对象。
5。4 查询数据字典视图和动态性能视图
所有的视图:select * from dictionary;
查看动态视图:select * from V$fixed_table; |