13.笔记:监视与管理存储结构
1.联机与归档重做日志文件的存储 重做日志具有双重目的:对于在实例失败事件中防止数据库讹误来说,联机日志文件是必不可少的; 对于在介质失败事件中的恢复来说,归档日志文件是必需的。 1.1 磁盘I/0与联机重做日志文件 提交过程表明:在提交时,LGWR进程会将内存中的重做数据写至磁盘上的联机重做日志文件。 LGWR进程决定性能的方面为:某位用户执行提交语句时,指定会话在LGWR进程将日志缓冲区的内容转储至磁盘之前将被挂起。 如果联机日志文件组的两个成员位于相同的物理磁盘设备上,那么只能执行顺序的写
012.笔记:用于调整OracleDatabase10g的工具
1.顾问程序的方法 顾问程序能够帮助确定性能的原因并给出建议的解决方案 事件类视图:V$SYSTEM_WAIT_CLASS 所有性能调整都基于统计量。实例参数STATISTICS_LEVEL控制了收集统计量的详细级别。2.ADDM 在默认情况下,快照由MMON进程收集,并且每隔一小时被存储至AWR。因些,ADDM默认每隔一小时运行一次。 修改快照默认值的方法: (1)Database Control (2)execute dbms_workload_repository.modify_snapshot_settings(retention=>20160,interval=>20);--保留两周,20分钟收集一次 execute dbms_workload_repository.m
011.笔记:检测与恢复数据库的讹误
1.块讹误及其原因 块讹误具有下列两种方式:介质讹误或逻辑讹误(也称为软件讹误) 介质讹误是内容没有任何意义的数据块。 逻辑讹误是ORACLE格式化正确,但是其内部内容不一致的数据块2.与讹误相关的参数 DB_BLOCK_CHECKSUM:默认值TRUE DB_BLOCK_CHECKING:默认值FALSE 为论怎样设置上述参数,始终都会为SYSTEM表空间启用校验和计算以及数据块检查 3.检测块讹误 3.1 ORA-01578说明存在讹误数据块。 告警日志中会有详细信息。 Corrupt Block Found: RFN:文件号 BLK:块号 TSNAME:表空间名 TSN:表空间编
010.笔记:恢复用户错误
1.FLASHBACK DROP (1)为了尽量避免 连接错误模式或登录错误实例删除正确的表,可以编辑$ORACLE_HOME/sqlplus/admin,增加一条设置 set sqlprompt "_user'@'_connect_identifier> " (2)FLASHBACKUP DROP方法只应用于表,但是除了外键约束之外的所有关联对象也将被恢复 (3)ORACLE10G删除表,实际是重命名 (4)DROP后的表在回收站能查到,实际上这些表使用的还是他们原来占用的表空间。RENAME不会改变对象的物理位置。 (5)使用Flashback Drop drop table <table_name> purge; flashback table <tab
009.笔记:FLASHBACK_DATABASE
可用的闪回方法有三种:FLASH DATABASE/FLASH QUERY/FLASH DROPFLASH DATABASE 依赖闪回缓冲区、闪回日志FLASH QUERY 依赖撤销段FLASH DROP 1.配置FLASH DATABASE(1)select log_mode,flashback_on from v$database;(2)alter system set db_recovery_file_dest='/home/oracle/db/flash_recovery_area'; alter system set db_recovery_file_dest_size=8G; alter system set db_flash_retention_target=240;--闪回保留目标,单位是分钟,默认保留目标是1天。(3)shutdown immediate; startup mount; alter database flashback on; alte
008.笔记:数据库的不完全恢复
delete obsolete1.完全恢复练习 create tablespace rectest datafile '/home/oracle/rectest.dbf' size 2m; create table t_recover (c1 varchar2(1)) tablespace rectest; backup database; mv /home/oracle/rectest.dbf /home/oracle/rectest2.dbf --linux4.8:使用RM,如果不重启DB,不报错 insert into t_recover values('a'); commit; run { sql "alter tablespace rectest offline immediate"; restore tablespace rectest; recover tablespace rectest delete archivelog; sql "alter tablespace rectest onlin"
007.笔记:恢复非关键的损失
一、恢复受损的临时表空间 1.临时数据通常具有两种形式:排序数据与全局临时表 排序数据与全局临时表数据首先会占用空闲内存,如果内存已用完,他们会将数据写入临时表空间。 2.临时空间的配置 v$tablespace v$tempfile dba_temp_files database_properties--数据库的临时表空间 2.DBWn进程以及其他后台进程并不完成对临时文件的写操作,这类操作由为需要一些临时表空间的会话提供服务的服务器进程完成。 因此,即使某个临时文件在数据库启动时不可用,数据库仍然能够被打开。不过,DBWn进程会在告警日志中写下一条消息。 3
006.su与 su - ,su - root的区别
在RHEL4.8测试发现su:切换至root用户,使用原用户的环境配置文件su -或su - root:切换至root用户,使用root的环境配置文件[@more@]
005.spfile中参数错误导致数据库不能启动
解决方法:1.查看spfile的命令 strings2.编辑(init<SID>.ora)pfile(新建一个),加两行spfile='/home/oracle/db/product/10.2.0/db_1/dbs/spfiledb131.ora' #引用spfile,为了使 alter system ...scope=spfile能成功log_archive_dest_2='location=/home/oracle/db/oradata/archive2/' #修改spfile中的错误,否则启动还会失败3.用pfile启动startup pfile='/home/oracle/db/admin/db131/pfile/init.ora.tmp'4.使用alter system ... scope=spfile更正spfile中的错误[@more@]
004.ERROR: NMO not setuid-root (Unix-only)
使用EM的RMAN备份时出现如下错误提示:ERROR: NMO not setuid-root (Unix-only)解决方法:1.用ORACLE身份连接到主机2.关掉EM3.用ORACLE环境,切换到root用户4.执行$ORACLE_HOME/root.sh5.重启em[@more@]
003.学习SQL优化的一点体会--让优化器愉快地工作
优化器在没有统计信息或统计信息不准确时,制定的执行计划会产生糟糕的性能。这就好比我们使用计算器进行数学运算,我们期望计算器提供正确的结果,但首选要保证输入是正确的。作为DBA应该保证优化器的输入是正确的(准确的统计信息),而统计信息是需要手工收集地。这就要求DBA能够制定合理的策略,及时地更新统计信息。 服务模型:DBA=》优化器=》期望的性能 数据仓库项目统计信息收集策略: 1、模型参考ODS->FDS->ADS 2、数据仓库的数据在每日的批处理后都会发生很大的改变,所以适合在数据发生改变之后,使用数据之
002.RHEL4.8安装ORACLE10G注意事项
RHEL4.8安装ORACLE10G需要注意的几点:1.安装rpm包libaio-0.3.96如果使用libaio-0.3.105,点下check复选框2.修改内核参数修改文件:/etc/sysctl.confkernel.shmall = 2097152 kernel.shmmax = ……kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=262144 ne t.core.rmem_max=262144 net.core.wmem_default=262144 net.core.wmem_max=262144sysctl –p 让内核参数生效3.网络问题:Checking Netwo
001.整理下ORACLE知识分类
关于ORACLE技术,我了解的两个大的发展方向:1、ORACLE管理DBA;2、ORACLE开发。ORACLE开发主要学习的知识点:SQL、PL/SQL、SQL调优。ORACLE管理DBA需要掌握的技术:1、数据库规化、安装:存储规化数据库安装、RAC部署、DG部署等等;2、调优:整体性能优化、SQL优化等;3、故障排除:排除日常警告,排除数据库故障等;4、数据恢复:恢复丢失的数据、对象等。 [@more@]