ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10g学习(2)

10g学习(2)

原创 Linux操作系统 作者:lhl1212 时间:2012-09-16 22:27:20 0 删除 编辑
10g学习(2)

控制文件布局:
***************************************************
推荐在每套日志文件的副本的磁盘上保留一个控制文件副本,最小化控制文件和日志文件损坏的风险

控制文件的容量
***************************************************
在10.2.0以前,如果需要修改MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXINSTANCES,那么需要重建控制文件。但是如果在10.2.0以后,将不在需要重建,可以自动扩张

重建控制文件
***************************************************
在重建完控制文件并打开数据库后,检查ALERT日志中,看看是否出现控制文件中的数据库文件列表和数据字典中的数据文件列表不一致的警告。
如果一个数据文件在数据字典中存在,但是在控制文件中没有包含,那么数据库将在控制文件中创建一个替位符来标示这个数据文件(MISSINGnnnn),并记录这个控制文件是OFFLINE或者需要介质恢复。
如果MISSINGnnnn是一个只读文件或者OFFLINE NORMAL,那么可以重命名MISSINGnnnn为正确名称。如果不符合这种情况,那么不能重命名文件,那么需要DROP该数据文件所在的表空间

REDO RECORD
***************************************************
REDO RECORD由一组CHANGE VECTORS组成,每个CHANGE VECTORS描述数据库改变的一个但一块。如果改变了一条记录,将在REDO中记录如下块的CHANGE VECTORS:修改了的数据块,对应的UNDO段数据块,对应的UNDO段的事务表

LOG_ARCHIVE_TRACE
***************************************************
1 Track archival of redo log file.
2 Track archival status for each archivelog destination.
4 Track archival operational phase.
8 Track archivelog destination activity.
16 Track detailed archivelog destination activity.
32 Track archivelog destination parameter modifications.
64 Track ARCn process state activity.
128 Track FAL (fetch archived log) server related activities.
256 Supported in a future release.
512 Tracks asynchronous LGWR activity.
1024 RFS physical client tracking.
2048 ARCn/RFS heartbeat tracking.
4096 Track real-time apply
如果需要多个TRC,那么把需要的等级加起来就可以了

BIGFILE***************************************************
使用bigfile的表空间,可以减少数据文件信息的SGA空间使用,已经控制文件的大小
bigfile tablespace 只支持 locally managed tablespaces,automatic segment space managemen
不要在没有条带化的环境中使用bigfile

临时表空间相关视图
***************************************************
V$SORT_SEGMENT,V$TEMPSEG_USAGE

表空间组
***************************************************
不需要明确的来建立一个表空间组(也不可能),在为表空间组分配一个表空间时,自动创建这个表空间组
临时表空间组可以减轻一个表空间不足而导致的问题,能使并行执行服务器的一个单一的并行查询操作使用多个临时表空间
DBA_TABLESPACE_GROUPS
ALTER TABLESPACE lmtemp TABLESPACE GROUP group2;
ALTER TABLESPACE lmtemp3 TABLESPACE GROUP '';
ALTER DATABASE sample DEFAULT TEMPORARY TABLESPACE group2;

FORCE LOGGING
***************************************************
传输了一个FORCE LOGGING的表空间到另一个数据库,该表空间的FORCE LOGGING属性会丢失,需要重新设置

TABLESPACE OFFLINE
***************************************************
NORMAL是首选方式,这种情况下ORACLE发出一个CHECKPOINT,当将表空间ONLINE时不需要RECOVER,如果NORMAL方式不行,则选用TEMPORARY方式 ,使用此方式OFFLINE后,在ONLINE时只需RECOVER有ERROR的数据文件。最后一种方式就是IMMEDIATE方式,此种方式不发出CHECKPOINT,ONLINE时需要RECOVER.

TABLESPACE READONLY
***************************************************
如果表空间readonly长时间不能返回,那使用如下方法查找影响操作的SESSION
SELECT SQL_TEXT, SADDR
FROM V$SQLAREA,V$SESSION
WHERE V$SQLAREA.ADDRESS = V$SESSION.SQL_ADDRESS
AND SQL_TEXT LIKE 'alter tablespace%';
SQL_TEXT SADDR
---------------------------------------- --------
alter tablespace tbs1 read only 80034AF0

SELECT SES_ADDR, START_SCNB
FROM V$TRANSACTION
ORDER BY START_SCNB;
SES_ADDR START_SCNB
-------- ----------
800352A0 3621 --> waiting on this txn
80035A50 3623 --> waiting on this txn
80034AF0 3628 --> this is the ALTER TABLESPACE statement
80037910 3629 --> don't care about this txn

READ_ONLY_OPEN_DELAYED
***************************************************
当只读表空间位于慢速访问的设备或者分层次的存储上,你需要考虑设置READ_ONLY_OPEN_DELAYED
为TRUE。这样可以加速打开数据库的操作,因为只有在该只读表空间在第一次访问时才去访问该表空间。
一个损坏的或者丢失的只读的数据文件在数据库打开时将不能被发现,在有在第一次访问时才可以
ALTER SYSTEM CHECK DATAFILES将不检查只读的数据文件
ALTER TABLESPACE...ONLINE将不检查只读的数据文件
V$RECOVER_FILE, V$BACKUP和V$DATAFILE_HEADER中见不在能查询只读表空间的相关信息,只会显示"DELAYED OPEN",其他列上显示0
V$DATAFILE将不显示只读表空间的详细信息,只显示0
V$RECOVER_LOG不能在访问只读的文件,其需要的恢复用的日志记录不会添加进去
ALTER DATABASE NOARCHIVELOG不在访问只读文件
如果使用一个备份的控制文件,那么一些只读文件可能不正确

重命名表空间
***************************************************
ALTER TABLESPACE users RENAME TO usersts;
在表空间有数据文件OFFLINE时,将不能RENAME

SYSAUX
***************************************************
V$SYSAUX_OCCUPANTS
各个特性的包有存储过程可以移动原来在SYSAUX中的对象到其他表空间中去

DBMS_SPACE_ADMIN(具体的问题没遇到过,先记录)
***************************************************
诊断和修复本地管理的表空间中的问题。
修正如下问题:
分配的块被标记为FREE时修复位图(非Overlap)
删除一个损坏的段
当报告Overlap时,修复位图
修正位图块的介质损坏
从字典管理的表空间迁移到本地管理的表空间(做SYSTEM表空间转换时,需要检查一些条件)

V$TEMP_EXTENT_MAP V$TEMP_EXTENT_POOL
***************************************************
V$TEMP_EXTENT_MAP 在所有本地管理的临时表空间中的所有盘区信息
V$TEMP_EXTENT_POOL 本地管理的临时表空间中的被CACHE的和使用的临时空间

DB_FILES
***************************************************
该参数将指出系统启动时,SGA中分配来保存数据文件系统的空间以及实例中能创建的最大数据文件的个数。
当DBWn进程启动时,其将打开所有的online数据文件。但是,如果操作系统限制了能打开的文件数目,当到达这个数目是,ORACLE会关闭某些数据文件,然后打开新的数据文件,不过交换,这样会严重影响性能。

删除数据文件
***************************************************
ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/users03.dbf' OFFLINE FOR DROP;
该操作只会DELETE数据字典中的数据,还需要用如下命令删除:
ALTER TABLESPACE ... DROP DATAFILE
<如上操作在非归档下>
ALTER TABLESPACE example DROP DATAFILE '+DGROUP1/example_df3.f';(数据文件必须是空的)
ALTER TABLESPACE lmtemp DROP TEMPFILE '/u02/oracle/data/lmtemp02.dbf';
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP INCLUDING DATAFILES;

DBMS_FILE_TRANSFER
***************************************************
以前在搭建DG的时候用过,但是其还支持第三方的文件传输。用来拷贝裸设备时比较有用。对于ASM设备,可以用FTP访问
可以使用V$SESSION_LONGOPS来监视

Mapping Files to Physical Devices(先进行个记录)
***************************************************
当使用基于主机的LVM或者RAID时,用来确定数据文件对应的驱动器映射
可以通过V$视图来访问,为了创建这些视图,需要存储厂商提供mapping libraries。
其使用FMON进程来与外部的非ORACLE进程进行通信
使用DBMS_STORAGE_MAP包来进行相关操作
V$MAP_FILE_IO_STACK,V$MAP_FILE,V$MAP_FILE_EXTENT,V$MAP_ELEMENT
V$MAP_EXT_ELEMENT,V$MAP_SUBELEMENT,V$MAP_COMP_LIST,V$MAP_FILE_IO_STACK

UNDO_RETENTION与UNDO表空间大小
***************************************************
如果是固定大小的UNDO表空间,那么UNDO_RETENTION参数将被忽略
如果是自动增长中的UNDO表空间,ORACLE将基于UNDO_RETENTION设置的时间来维护

Retention Guarantee
***************************************************
为支持长时间的查询和Flashback操作,可以开启retention guarantee,已保证UNDO最少维护UNDO_RETENTION设定的时间
开启Retention Guarantee将导致多种DML操作失败
在创建表空间时或者使用ALTER TABLESPACE的RETENTION GUARANTEE子句来开启

UNDO_RETENTION自动调整
***************************************************
如果undo表空间是个固定值,那么Oracle根据系统负载的数据文件大小来确定
如果undo表空间是可以扩展的,那么将根据此时系统最长时间的查询执行的时间来估计该值
select to_char(begin_time, 'DD-MON-RR HH24:MI') begin_time,
to_char(end_time, 'DD-MON-RR HH24:MI') end_time, tuned_undoretention
from v$undostat order by end_time;

Undo Advisor
***************************************************
基于AWR进行分析
DECLARE
tid NUMBER;
tname VARCHAR2(30);
oid NUMBER;
BEGIN
DBMS_ADVISOR.CREATE_TASK('Undo Advisor', tid, tname, 'Undo Advisor Task');
DBMS_ADVISOR.CREATE_OBJECT(tname, 'UNDO_TBS', null, null, null, 'null', oid);
DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'TARGET_OBJECTS', oid);
DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'START_SNAPSHOT', 1);
DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'END_SNAPSHOT', 2);
DBMS_ADVISOR.SET_TASK_PARAMETER(name, 'INSTANCE', 1);
DBMS_ADVISOR.execute_task(tname);
end;
/
输出在DBA_ADVISOR_*中查看

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/611609/viewspace-743714/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 10g学习(1)
下一篇: 10g学习(3)--ASM
请登录后发表评论 登录
全部评论

注册时间:2008-12-08

  • 博文量
    252
  • 访问量
    493590