Oracle运维手册Word格式文档下载.docx

上传人:b****6 文档编号:17887609 上传时间:2022-12-11 格式:DOCX 页数:40 大小:37.88KB
下载 相关 举报
Oracle运维手册Word格式文档下载.docx_第1页
第1页 / 共40页
Oracle运维手册Word格式文档下载.docx_第2页
第2页 / 共40页
Oracle运维手册Word格式文档下载.docx_第3页
第3页 / 共40页
Oracle运维手册Word格式文档下载.docx_第4页
第4页 / 共40页
Oracle运维手册Word格式文档下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

Oracle运维手册Word格式文档下载.docx

《Oracle运维手册Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Oracle运维手册Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。

Oracle运维手册Word格式文档下载.docx

16

7.3查看等待(wait)情况17

7.4回滚段查看17

7.5回滚段的争用情况18

7.6监控表空间的I/O比例18

7.7监控文件系统的I/O比例18

7.8监控SGA的命中率18

7.9监控SGA中字典缓冲区的命中率19

7.10监控SGA中共享缓存区的命中率,应该小于1%19

7.11临控SGA中重做日志缓存区的命中率,应该小于1%19

7.12监控内存和硬盘的排序比率,最好使它小于0.10,增加sort_area_size20

7.13监控当前数据库谁在运行什么SQL语句20

7.14监控字典缓冲区20

7.15查看Lock20

7.16捕捉运行很久的SQL22

7.17查看数据表的参数信息22

7.18查看还没提交的事务23

7.19查找object为哪些进程所用23

7.20查看catchedobject23

7.21查看V$SQLAREA24

7.22有关connection的相关信息24

8.备份26

8.1数据逻辑备份26

8.1.1exp26

8.1.2imp27

8.2控制文件备份28

8.3初始参数备份28

8.4其它28

9.常见问题解决28

9.1安装后常用参数设置28

9.2杀死僵死连接29

9.3AIX内存溢出30

9.4某一功能特别慢32

9.5统计信息失效导致执行计划走全表扫瞄32

9.6中银32

9.7日志文件太小引起的切换过于频繁35

9.8Oracle连接中断问题37

9.9查询委托返回记录不对38

9.10Linux+Oracle10gRAC的平台上,发生节点重启故障39

9.11联机日志损坏41

9.12控制文件损坏41

9.13ORA-01555错误41

9.14HPProliantDL585G2机器安装42

有一定Linux/Unix操作系统、Oracle数据库基础的工程人员和维护人员,证券公司信息技术人员等。

本手册可作为工具,Oralce运维提供帮助。

2.简单命令使用

2.1进入SQL*Plus

$sqlplus?

用户名/密码

2.2退出SQL*Plus

SQL>

exit

2.3在sqlplus下得到帮助信息

列出全部SQL命令和SQL*Plus命令

help

列出某个特定的命令的信息

help?

命令名

2.4显示表结构命令DESCRIBE

DESC?

表名

2.5SQL*Plus中的编辑命令

Ø

显示SQL缓冲区命令

L

修改SQL命令

首先要将待改正行变为当前行

n

用CHANGE命令修改内容

c/旧/新

重新确认是否已正确

使用INPUT命令可以在SQL缓冲区中增加一行或多行

i

输入内容

2.6调用外部系统编辑器

edit?

文件名

可以使用DEFINE命令设置系统变量EDITOR来改变文本编辑器的类型,在login.sql文件中定义如下一行

DEFINE_EDITOR=vi

2.7运行命令文件

START?

test

@test

2.8关于侦听

1、新建/修改/删除侦听

以oracle用户登录,运行netca,会跳出图形配置界面。

2、打开侦听

lsnrctlstart

3、查看侦听

Lsnrctlstatus

4、关闭侦听

lsnrctlstop

3.ORACLE的启动和关闭

3.1在单机环境下

要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下

su?

-?

oracle

启动oracle数据库命令:

$sqlplus/nolog

Copyright(c)1982,2005,Oracle.Allrightsreserved.

conn/assysdba

已连接到空闲例程。

startup

ORACLE例程已经启动。

FixedSize1249080bytes

RedoBuffers7139328bytes

数据库装载完毕。

数据库已经打开。

关闭oracle数据库命令:

$sqlplus/nolog

已连接。

shutdownimmediate

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

3.2在双机环境下

要想启动或关闭crs服务必须首先切换到root用户,如下

root

启动crs服务:

启动CRS

#$CRS_HOME/crs/bin/crsctlstartcrs

查看CRS状态

#$CRS_HOME/crs/bin/crsctlcheckcrs

关闭CRS

#$CRS_HOME/crs/bin/crsctlstopcrs

查看CRS内部各资源状态

#$CRS_HOME/crs/bin/crs_stat–t

启动数据库服务

#srvctlstart?

database-dtdb#tdb为数据库名

4.数据库管理员日常工作

4.1检查alterSID.log

这个日志文件位于参数BACKGROUND_DUMP_DEST指定的目录,可能通过以下命令来查看。

SHOWPARAMETERbackground_dump_dest

在出现大故障前,数据库有可能会报一些警告或错误信息,应该充分重视这些信息,未雨绸缪,避免更大错误的发生。

检查alterSID.log的什么内容。

检查数据库是否出现过宕机(可能在晚间重启而维护人员不知道)

Oracle出错信息,通过$grepORA-alterSID.log查找

产品有关的问题:

ORA-00600/ORA-07445等错误

相应的TRACE文件

4.2环境确认

数据库实例是否正常工作

SQL>

selectstatusfromv$instance;

数据库监听器是否正常工作

-$lsnrctlstatus

是否存在故障表空间

-SQL>

selecttablespace_name,statusfromdba_tablespace;

控制文件、日志文件是否正常

select*fromv$controlfile;

select*fromv$log;

select*fromv$logfile;

性能监测

每天按业务峰值情况,对数据库性能数据进行定时采集

每天检查数据库的主要性能指标

每天检查最消耗资源的SQL语句变化情况。

每天检查是否有足够的资源

检查所有表空间的剩余情况

识别出一些异常的增长

检查CPU、内存、网络等是否异常

5.数据库日常操作SQL

5.1查看表空间物理文件的名称及大小

selecttablespace_name,

file_id,

file_name,

round(bytes/(1024*1024),0)filesize

fromdba_data_files

orderbytablespace_name;

5.2查询表空间使用情况

selecta.tablespace_name"

表空间名称"

100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2)"

占用率(%)"

round(a.bytes_alloc/1024/1024,2)"

容量(M)"

round(nvl(b.bytes_free,0)/1024/1024,2)"

空闲(M)"

round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2)"

使用(M)"

to_char(sysdate,'

yyyy-mm-ddhh24:

mi:

ss'

)"

采样时间"

from(selectf.tablespace_name,

sum(f.bytes)bytes_alloc,

sum(decode(f.autoextensible,'

YES'

f.maxbytes,'

NO'

f.bytes))maxbytes

fromdba_data_filesf

groupbytablespace_name)a,

(selectf.tablespace_name,sum(f.bytes)bytes_free

fromdba_free_spacef

groupbytablespace_name)b

wherea.tablespace_name=b.tablespace_name

orderby2desc;

5.3查询表空间的碎片程度

selecttablespace_name,count(tablespace_name)

fromdba_free_space

groupbytablespace_name

havingcount(tablespace_name)>

10;

altertablespaceHS_USER_DATAcoalesce;

altertablenamedeallocateunused;

5.4碎片程度

altertablespacenamecoalesce;

createorreplaceviewts_blocks_vas

selecttablespace_name,block_id,bytes,blocks,segment_name

unionall

fromdba_extents;

select*fromts_blocks_v;

selecttablespace_name,sum(bytes),max(bytes),count(block_id)

groupbytablespace_name;

?

?

查看碎片程度高的表

SELECTsegment_nametable_name,COUNT(*)extents

FROMdba_segments

WHEREownerNOTIN('

SYS'

'

SYSTEM'

GROUPBYsegment_name

HAVINGCOUNT(*)=(SELECTMAX(COUNT(*))

GROUPBYsegment_name);

5.5查看回滚段名称及大小

selectsegment_name,

tablespace_name,

r.status,

(initial_extent/1024)InitialExtent,

(next_extent/1024)NextExtent,

max_extents,

v.curextCurExtent

Fromdba_rollback_segsr,v$rollstatv

Wherer.segment_id=v.usn(+)

orderbysegment_name;

5.6查看控制文件

selectnamefromv$controlfile;

5.7查看日志文件

selectmemberfromv$logfile;

5.8查看表空间的使用情况

selectsum(bytes)/(1024*1024)asfree_space,tablespace_name

SELECTA.TABLESPACE_NAME,

A.BYTESTOTAL,

B.BYTESUSED,

C.BYTESFREE,

(B.BYTES*100)/A.BYTES"

%USED"

(C.BYTES*100)/A.BYTES"

%FREE"

FROMSYS.SM$TS_AVAILA,SYS.SM$TS_USEDB,SYS.SM$TS_FREEC

WHEREA.TABLESPACE_NAME=B.TABLESPACE_NAME

ANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;

5.9查看数据库对象

selectowner,object_type,status,count(*)count#

fromall_objects

groupbyowner,object_type,status;

5.10查看数据库的版本

Selectversion

FROMProduct_component_version

WhereSUBSTR(PRODUCT,1,6)='

Oracle'

;

5.11查看Oracle字符集

select*fromsys.props$wherename='

NLS_CHARACTERSET'

5.12在某个用户下找所有的索引

selectuser_indexes.table_name,

user_indexes.index_name,

uniqueness,

column_name

fromuser_ind_columns,user_indexes

whereuser_ind_columns.index_name=user_indexes.index_name

anduser_ind_columns.table_name=user_indexes.table_name

orderbyuser_indexes.table_type,

user_indexes.table_name,

column_position;

5.13表、索引的存储情况检查

selectsegment_name,sum(bytes),count(*)ext_quan

fromdba_extents

wheretablespace_name='

&

tablespace_name'

andsegment_type='

TABLE'

groupbytablespace_name,segment_name;

selectsegment_name,count(*)

wheresegment_type='

INDEX'

andowner='

owner'

groupbysegment_name;

5.14查看数据库的创建日期和归档方式

SelectCreated,Log_Mode,Log_ModeFromV$Database;

5.15显示所有数据库对象的类别和大小

selecttype,

count(name)num_instances,

sum(source_size)source_size,

sum(parsed_size)parsed_size,

sum(code_size)code_size,

sum(error_size)error_size,

sum(source_size)+sum(parsed_size)+sum(code_size)+

sum(error_size)size_required

fromdba_object_size

groupbytype

orderby1;

步骤:

1.以SYSDBA身份登陆2个节点,执行

altersystemsetcluster_database=falsescope=spfilesid=’*’;

设置归档路径

altersystemsetlog_archive_start=truescope=spfile;

2.2个节点

shutdownimmediate

3.在一个节点上执行

startupmount

alterdatabasearchivelog;

shutdownimmediate;

alterdatabaseopen;

altersystemsetcluster_database=truescope=spfilesid=’*’;

4、分别启动2个节点,修改完毕

6.AWR报告

与9i中的statspack相似,awr报告也需要两个快照,才能生成这两个时间点之间的性能报告。

$sqlplus/assysdba

生成快照一(10g中自动会每个整点都会生成一个快照)

execdbms_workload_repository.create_snapshot();

(间隔一段时间)生成快照二

生成报告

@?

/rdbms/admin/awrrpt.sql

7.Troubleshooting

常用性能相关SQL,监控数据库性能的SQL语句。

7.1监控事务的等待

selectevent,

sum(decode(wait_Time,0,0,1))"

Prev"

sum(decode(wait_Time,0,1,0))"

Curr"

count(*)"

Totol"

fromv$session_Wait

groupbyevent

orderby4;

selectsid,event

fromv$session_wait

whereeventnotlike'

SQL%'

andeventnotlike'

%ipc%'

查看是否存在下面等常见的等待事件:

bufferbusywaits,

freebufferwaits,

dbfilesequentialread,

dbfilescatteredread,

enqueue,latchfree,

logfileparallelwrite,

logfilesync

7.3查看等待(wait)情况

SELECTv$waitstat.class,

v$waitstat.countcount,

SUM(v$sysstat.value)sum_value

FROMv$waitstat,v$sysstat

WHEREv$sysstat.nameIN('

dbblockgets'

consistentgets'

groupbyv$waitstat.class,v$waitstat.count;

  

7.4回滚段查看

selectrownum,

sys.dba_rollback_segs.segment_nameName,

v$rollstat.extentsExtents,

v$rollstat.rssizeSize_in_Bytes,

v$rollstat.xactsXActs,

v$rollstat.getsGets,

v$rollstat.waitsWaits,

v$rollstat.writesWrites,

sys.dba_rollback_segs.statusstatus

fromv$rollstat,sys.dba_rollback_segs,v$rollname

wherev$rollname.name(+)=sys.dba_rollback_segs.segment_name

andv$rollstat.usn(+)=v$rollname.usn

orderbyrownum;

7.5回滚段的争用情况

selectname,waits,gets,waits/gets"

Ratio"

from

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1