2005-10-19 18:28
charly
[原创]Oracle学习笔记,1-5章,6,7,8,9
Oracle学习笔记,1z0031,1-5章,共享一下。
9,更新--11。30
[[i] 本帖最后由 charly 于 2005-11-30 00:01 编辑 [/i]]
2005-10-19 19:52
banker
辛苦,多谢
2005-10-19 22:35
大漠孤星
把文章直接贴上来吧。分享你的其他章节,给你加大精华。
2005-10-19 23:14
charly
[quote]原帖由 [i]大漠孤星[/i] 于 2005-10-19 22:35 发表
把文章直接贴上来吧。分享你的其他章节,给你加大精华。 [/quote]
传附件是为了下载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。
后台进程--:PMON,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:oracle 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:oracle系统建议值。
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;
2005-10-19 23:20
charly
第六章 管理维护控制文件
第六章 管理维护控制文件
记录Database的结构信息,如数据文件、临时文件
在系统运行中,会周期性的同步database信息。
内容:
a。控制文件的用途
b。控制文件的内容
c。多份控制文件的分开存放
d。OMF对控制文件的挂你
e。获取控制文件的信息
控制文件是一个二进制文件,是连接实例和database的一个桥梁,它定义了当前数据库物理信息的状态。
要点:
1。控制文件如果全部丢失,那么需要恢复控制文件,介质恢复。
2。控制文件的Database在Mount的时候被Read。
3。需要能正常的被操作
4。1个控制文件只能连接到一个Database
5。必须多份存放。
6。CrontrolFile维护了Database的完整性。
7。文件的大小是在CreateDatabase的时候建立的。在Nomount的状态下用alter create crontrolfile 重建控制文件。
控制文件内容:
1。Database的内容和标识。select * from v$database;
2。Database的建立时间。
3。表空间的信息。select * from v$tablespace;
4。日志文件的信息。select * from v$logfile;
5。当前Redo日志文件的次序号。 select * from v$log;
6。数据库checkpoint同步信息。
7。回滚断的开始和结束。
8。RedoLog 归档信息。select * from v$archived_log;
9。备份信息。 select * from v$backup; (alter tablespace users begin backup;alter tablespace users end backup;)
多份Controlfile过程:
show parameter spfile;
select * from v$controlfile;
1。修改SPFILE
alter system set control_files =
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL04.CTL'
scope=spfile;
2。shutdown Database。
3。Startup Database.
查询ControlFile的信息:
show parameter control;
select * from v$controlfile_record_section;查询可以修改的信息
备份和重建控制文件:
alter database backup controlfile to 'c:\control.bak';
alter database backup controlfile to trace; #翻译城可以创建ControlFile的脚本。保存在UDMP目录下
2005-10-22 14:27
charly
第七章 Oracle Redo Log管理和维护
日志是记录数据库内容修改的任何记录。有2部分组成:在线日志文件和归档日志文件。
在线日志文件:可以重复利用
归档日志文件:把在线日志文件在覆盖前进行归档保存。
本章目标:
在线日志文件的目的。
在线日志文件的结构。
控制日志文件的Switch和Checkpoint。
多工和维护在线日志文件。
在OMF管理模式下管理在线日志文件。
7。1 使用Redo Log Files。
RedoLog文件记录了所有的数据内容修改,并为数据库的基于介质恢复提供依据。
Redo log文件以组来构成,每个数据库至少有2个或2个以上的组,每个组可以有多个日志文件,每个组中的文件称为成员。
Redolog 日志通过循环的方式来写,通过LGWR来写,在写满一个组,改为下一个组的工程称为Switch。
一个Switch过程会出发数据库的Checkpoint,即引起数据库同步。(写ControlFile和数据文件)可以通过命令来强行Switch:
alter system switch logfile;
alter system checkpoint; 来强制同步数据库
当表空间发生备份、Offeline、drop的时候会自动Checkpoint。
Mttr:mean time to recovery,
FAST_START_MTTR_TARGET:控制数据库做一次Recovery的时间;(即同步时间间隔)
FAST_START_IO_TARGET:ORACLE 8i参数。
LOG_CHECKPOINT_INTERNAL:
LOG_CHECKPOINT_TIMEOUT:
同步的频率越高,系统进行Recovery需要的时间越短。如果设定了FAST_START_MTTR_TARGET,Oracle会自动计算为FAST_START_IO_TARGET和 LOG_CHECKPOINT_INTERNAL2个参数。
7。2Redo log文件的常规操作
如果使用OMF管理文件,那么Oracle会自动产生相关文件和删除相关文件,并且按默认大小。
1。添加Redo Log日志组:
ALTER DATABASE ADD LOGFILE GROUP 4
'D:\oracle\product\10.2.0\oradata\orcl\redolog04a.log'
size 5M;
建议:Oracle的每个Redo组使用相同的成员数,而且每个组大小相同。
2。添加日志成员:
ALTER DATABASE ADD LOGFIEL MEMBER
'D:\oracle\product\10.2.0\oradata\orcl\redolog04b.log' TO GROUP 4;
注意:同一组内的成员大小相同
3。 删除组:
ALTER DATABASE DROP LOGFILE GROUP 4;
注意:RESTRICTED:Current log group,Active log group,unarchived 日志文件组不能被删除。
需要手工删除OS文件:
4。删除成员:
ALTER DATABASE DROP LOGFILE MEMBER
'D:\oracle\product\10.2.0\oradata\orcl\redolog04b.log';
组中的最后一个文件不能被删除。
7。3 Clear,重新定位,和Rename 日志文件
Clear--Reinit日志文件:
ALTER DATABASE CLEAR LOGFILE GROUP 2;
ALTER DATABASE CLEAR LOGFILE 'D:\oracle\product\10.2.0\oradata\orcl\redolog04b.log';
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3; -----------导致数据库的一个断点,需要做一个全库的备份。
先在OS中重命名'D:\oracle\product\10.2.0\oradata\orcl\redolog01.log'文件:
ALTER DATABASE RENAME FILE 'D:\oracle\product\10.2.0\oradata\orcl\redolog01.log' TO
'D:\oracle\product\10.2.0\oradata\orcl\redolog01a.log';
7。4 Redolog 配置:
都份成员必须放在不同的HDISK上。
7。5 使用OMF来管理Redolog:
show db_create_online_log_dest_n(n=1-5)来自动管理日志成员文件:
alter system set db_create_online_log_dest_1=
'D:\oracle\product\10.2.0\oradata\orcl\log\';
ALTER DATABASE ADD LOGFILE;
ALTER DATABASE DROP LOGFILE GROUP 3;
-----会自动创佳OS文件和删除OS文件:
7。6 查看Redolog信息;
v$log,V$logfile;
v$log:log group 信息
Status:/current/active/inactive/unused
v$logfile:成员,Status为空表示正在用。statle,不完整。delete,被删除
7。7 归档日志文件
归档模式的用处:
1。数据库恢复用,可以将数据库恢复到出现问题的时间点,通过归档日志来实现。
2。支持数据库的在线备份(hotbackup热备份)。
非归档模式只能做离线模式备份,只能做全备份。
归档---非归档转换
1)。shutdown immediate 干净的关闭数据库
2)。startup mount
3). alter database archivelog /noarchivelog;
4). alter database open;
5). Full DB backup ---------
6). archive log start; 开始自动归档
alter system archive log all; 手动归档
7)。archive log list; 检查模式;
查看所有的归档日志文件信息:(保存在控制文件中)
select * from v$archived_log;
7。8 logminer:
注意,在做前模拟数据修改:
1) set directory utl_file_dir
2) restartup db
3) create directory file (run catproc.sql)很慢
SQL>execute dbms_logmnr_d.build('testdict.ora','d:\oracle\testlog');
desc dbms_logmnr
4) add/remove log file;(被分析的日志文件加到目录下)
execute dbms_logmnr.add_logfile('d:\oracle\...\redo04a.log',dbms_logmnr.new);
dbms_logmnr.removefile
desc dbms_logmnr
5)start logmnr 启动分析
execute dbms_logmnr.start_logmnr(dictfilename='d:\oracle\testlog\testdict.ora');
6) view 结构:v$logmnr_content;----SQLredo/sQLundo
SQLredo:
SQLundo:
2005-10-30 21:27
charly
第八章 管理和维护表空间和数据文件
第八章 管理和维护表空间和数据文件
表空间:逻辑概念
数据文件:物理概念
本章目标:
描述逻辑结构Database,
Create 表空间
修改表空间大小,
为临时Segment分配空间,
修改表空间的状态,
修改表空间的存储配置信息,
实现OMF,
8。1 Oracle database逻辑结构
Database:3部分,datafiles/relologfiles/controlfiles;
database 层次结构:
逻辑:database----tablespace----segment----extent----OracleBlock
|| || ||
物理: datafiles--------------------------| OS Block
tablespace:数据库的逻辑结构
segment:特定的所占用逻辑结构空间集合,类型有:table/index/temp/rollback 四种段类型 ,一个表空间有多个Segment,一个段不可一跨表空间,单可以跨Datafile;
extent:是一个Oracle空间分配单位 ,多个OracleBlock组成,必须是BLOCK的整数倍。不可以块Datafile。
OracleBlock,是使用和存储单位
查看表空间和数据文件的关系:
select t1.name,t2.name from v$tablespace t1 ,v$datafile t2 where t1.ts=t2.ts;
8。2系统表空间和非系统表空间
系统表空间:数据字典信息和Undo segment,在database建立的时候创建。
非系统表空间:分离Segment,方便空间管理,控制用户对空间的使用。
8。3 create tablespace;
create tablespace xxx
[datafile 'xxx'] --OMF
[size] xxx --KB,MB
[extenet management local/dictionary]
[default storage (xxx)] --initial/next/pctincrease/minextents/maxextents 非local管理
create tablespace ca1
datafile 'd:\oracle\datafile\ca1.dbf' size 5M
extent management dictionary
default storage (
initial 100k
next 100k
pctincrease
offline)
;
create tablespace ca2
datafile 'd:\oracle\dbfile\ca2.dbf'
size 5m
extent management local
uniform size 1m
;
推荐使用本地管理方式:
减少数据字典表的争用。
空间分配或回收不会产生回滚段
没有碎片压缩的问题
8.4 修改表空间的属性
alter tablespace ca1
mininum extent 10;
alter table ca1
default storage(
initial 1m
next 1m
pctincrease 20
);
8.5 UNDO 表空间 回滚段
UNDO Segment:是一个存储的环路,用于存储已经改变的Old数据。不可放其他任何数据,而且表空间必须是本地管理。
主要作用:
1)存储被修改的数据(没有提交)
2)用有回滚数据,
3)提供数据读一致性。
Oracle 9开始允许Oracle自动管理回滚断,一般根据系统交易量来设定回滚断的存储参数。要尽量避免回滚断的争用。自动管理可以根据系统需要的量来自动管理
show parameter undo;
create undo tablespace ca4
datafile 'd:\oracle\dbfile\ca4.dbf'
size 10M
extent management local;
注意,系统回滚段肯定放置在系统表空间中。
8。6 Temp Segment 临时表空间
主要做排序用,不能存放永久的数据,建议使用本地管理表空间。
create temporary tablespace tempca5
tempfile 'd:\oracle\dbfile\tempca5.dbf' size 5m
extent management local;
Default temporary tablespace:每个用户可以指定自己的临时表空间,如果没有指定,就使用Default Temporary tablespace 避免使用系统表空间来当临时表空间,导致系统异常。
修改数据库的临时表空间:
alter database default temporary tablespace tempca5;
限制默认临时表空间:
临时表空间不能被drop,offline,readonly,不能被变成永久的表空间。
8。7 表空间的Offline/read only状态。
目的:可以修改数据文件名称和位置,对数据文件进行修复等。
可以部分的关闭数据库,除外:系统表空间,active undo tablespace ,default temporary space
alter tablespace users offline;
alter tablespace users read only; #可以删除数据对象,对系统表空间操作
8。8 drop tablespace
drop tablespace users
including contents and datafile;
8.9 resize tablespace
1) add datafile
2) set datafile autoextend
手工修改数据文件的大小
alter database datafile
'd:\oracle\dbfile\ca1.dbf'
autoextend on next 2m maxsize 30m
;
alter database datafile
'd:\oracle\dbfile\ca1.dbf'
resize 3m
; #resize 可以扩大或缩小
alter tablespace ca1
add datafile 'd:\oracle\dbfile\ca11.dbf'
size 1m
;
8.10 移动或改名数据文件
1)必须先Offline tablespace。
2)必须先OS Copy物理文件到目标地点。
alter tablespace ca1
rename datafile 'd:\oracle\dbfile\ca11.dbf'
to datafile 'd:\oracle\dbfile\ca12.dbf'
;
如果需要改变临时默认表空间、或系统表空间的名字和位置,需要SHutdown库,并到Mount状态下 。
alter database rename
file 'XXX'
to 'yyy';
YYY必须先存在准备好。
8。11 配置OMF
系统参数:DB_CREATE_FILE_DEST就是OMF默认的文件路径
配置后会自动管理Datafile如:
create tablespace ca1;
会自动创建文件名和大小(默认100M)
8.12 获取表空间的信息:
DBA_TABLESPACES V$TABLESPACE
DBA_DATAFILES V$DATAFILE;
DBA_TEMPFILES V$TEMPFILE;
2005-11-21 12:57
lakher
辛苦斑竹
2005-11-24 20:55
grissom
good
thanks very much
2005-11-25 11:42
弱智
顶!这样的东西要好好消化
2005-11-30 00:00
charly
[b]第九章 存储结构和相互关系[/b]
9。1段的类型(type of segment)
1)table
2)table partition:物理上多个表,逻辑上一个整表
3)cluster:多个逻辑表放在同意物理段里
4)index
5)index-organized table:经过Index排列的数据。
6)index partition:
7)undo segment:有序的循环使用
8) temporary segment:排序用
9)LOB Segment:放置大的数据对象如:BLOG,
10)Nested table:嵌套表
11)bootstrap segment:用于初始化Oracle实例,在启动的时候使用,用完后自动释放,无需维护和管理
9。2 oracle存储参数的3个级别:Default/tablespace/segment,优先级由低到高。
create table
calay.test1
(id int)
tablespace ca1
storage(initial 100k
next 100k);
这个存储参数就会覆盖default和tablespace的存储参数。
9.3 extent 分配和回收
分配:
create
extended
alter table calay.ca1
allocate extent (size 2m datafile 'd:\oracle\dbfile\ca1.dbf');
回收:
alter table calay.ca1
deallcote unused
keep 0;
25MIN
9.4 database block:oracle系统的IO最小单位
有多个OS的Block组成,在建表空间的时候指定,但是必须在系统参数中有相应的配置Block_cache_size.
alter system set db_16k_cache_size=10m;
create tablespace tb_ca2
datafile 'd:\oracle\dbfile\tb_ca2.dbf' size 2m
blocksize 16k;
Block 内容:header---free space--data ,从头和尾分别向中间写,直到满。
相关参数:
initrans:1
maxtrans:255
pctfree:预留多少空间
pctuserd:控制块使用最小的比例。
row migration:行一直。记录从一个Block到另外一个Block。增加IO开销。
segment( 段)空间管理:本地和字典
本地:
create tablespace tb_ca3
datafile 'd:\oracle\dbfile\tb_ca3.dbf' size 2m
extent management local uniform size 64k
segment space management auto;
相关的数据字典:
dba_tablespace,dba_data_file,dba_free_space;
dba_tablespace,dba_segments,dba_extents;
select sum(bytes) from dba_extents
where owner='calay' and segment_name='jobs';
2005-12-18 06:57
savelvka
ok
ok thank
ok thanks
ok thanks
2005-12-23 16:48
megaecho
棍!好东西
2006-1-25 11:59
wgwater
非常感谢 谢谢楼主
2006-4-11 10:06
huashengmi
3q!!!~~
2006-4-12 09:59
bin52311
大精华哦 ^_^
2006-4-12 14:16
myprime
感谢楼主的劳动
2006-8-8 13:28
zb100061888
顶顶顶
顶啊
2006-12-2 12:44
xinetd
thanks
2006-12-4 16:58
tianyi1107
非常感谢!!:victory:
2006-12-12 11:11
e_boy0408
感谢 ....精华啊。...谢谢。>~~~
2006-12-12 11:28
pangyi
非常感谢!!
2006-12-13 08:12
floyd008
是万分的感谢!
2007-2-1 16:49
hzzz
很久不用ORACLE,看起来很亲切。:victory:
页:
[1]
2
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.