版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OracleDatabase日常维护手册
目录
1.登陆到数据库......................................
1.1.服务器端配置Listener.................................................................
1.2.客户端tnsnames............................................................................
1.3.检杳OracleListener......................................................................
14登陆数据库的方式..............................
15数据库的启动..................................
16关闭数据库....................................
2用户管理...........................................
2.1.检察用户profile.............................................................................
2.2.查看用户profle参数............................
1检查数据库基本状况.................................
3.1.检查数据库创建日期.............................
32检查数据库版本信息.............................
3.3.检查实例状态...................................
34查看前台进程...................................
35查看数据库连接的session...........................................................
36查看连接到数据库的模式.........................
37查看并发连接数.................................
3.8.查看最大的连接'processes'..........................................................
3.9.监控系统后台进程...............................
3.10.查看数据库初始化参数..........................
3.11.检查PGA使用情况.............................
3.12.检查SGA状态.................................
3.13.检查Oracle服务进程...........................
3.14.检查Oracle监听状态............................
3.15.检查监听进程是否存在..........................
3.16.检查操作系统日志文件..........................
3.17.检查oracle日志文件.............................
3.18.检查Oracle核心转储目录........................
3.19.检查Root用户和Oracle用户的email......................................
4.检查Oracle对象状态.................................
4.1.检查Oracle控制文件状态........................
42检查Oracle在线日志状态........................
4.3.检查Oracle表空间的状态........................
4.4.检查Oracle所有数据文件状态....................
45检查无效对象...................................
4.6.检查所有回滚段状态.............................
4.7.检查用户下的表.................................
4.8.检查用户默认表空间.............................
49检查当前用户角色及权限.........................
4.10.检查用户下的各个表的大小......................
4.11.检查一个表的创建时间..........................
4.12.检查某个表的大小..............................
4.13.检查每个表占用磁盘空间情况....................
5.检查Oracle相关资源的使用情况.......................
5.1.检查Oracle初始化文件中相关参数值...............
52检查数据库连接情况.............................
53检查系统磁盘空间...............................
54检查表空间使用情况.............................
55检查一些扩展异常的对象.........................
5.6.检查表空间碎片情况.............................
5.7.检查system表空间内的内容.......................
5.8.检查对象的下一扩展与表空间的最大扩展值.........
5.9.检查flashrecoveryarea空间........................
6.检查Oracle数据库性能...............................
6.1.查询表空间读写情况.............................
62杳询redologbuffer的繁忙程度.....................
6.3.判断undo表空间的使用情况......................
6.4.分析日志组切换频率.............................
6.5.查看等待事件...................................
6.6.检查数据库cpu、I/O、内存性能...................
67内存使用情况....................................
6.8.系统I/O情况...................................
6.9.系统负载情况...................................
6.10.查看是否有僵死进程............................
6.11.检查缓冲区命中率..............................
6.12.检查共享池命中率..............................
6.13.检查排序区....................................
6.14.检查日志缓冲区................................
6.15.检查失效的索引................................
6.16.检查不起作用的约束............................
6.17.检查无效的trigger......................................................................
6.18.检查尚未建立索引的表..........................
6.19.检查运行时间长的SQL............................................................
6.20.检查性能差的前10条SQL......................................................
6.21.查看占io较大的正在运行的session................................
6.22.检查消耗CPU最高的PID对应的SQL..............................
6.23.检查占用CPU多的session......................................................
6.24.检查表空间的I。...............................
6.25.检查临时表空间IO....................................................................
6.26.检查锁和等待..................................
工检查数据库安全性...................................
7.1.检查系统安全日志信息...........................
72检查登录失败的日志:...........................
73检查用户修改密码...............................
当数据表空间日常维护.................................
8.1.查看表空间的一些信息...........................
82创建表空间.....................................
8.3.表空间扩容.....................................
84创建大数据文件.................................
85数据表空间文件迁移.............................
8.6.不停机移动表空间文件...........................
2存储过程管理.......................................
9.1.找出特定用户的存储过程........................
9.2.通过表名找出存储过程...........................
9.3.查看存储过程内容...............................
四触发器管理........................................
10.1.找出数据库中所有触发器........................
10.2.找出特定用户的触发器..........................
103找出当前用户定义的触发器......................
10.4.查看某个用户自定义的触发器内容................
10.5.查看某个表关联的触发器........................
10.6.查看当前用户所有触发器及存储过程..............
11.RedoLog管理.....................................
11.1.离线迁移日志文件.............................
112在线更改RedoLog文件容量.....................
1.登陆到数据库
1.1.服务器端配置Listener
LISTENER二
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS二(PROTOCOL=IPC)(KEY=racdbl))
ADR_BASE_LISTENER=/uOl/叩p/oracle
SID_UST_USTENER=
(SID_LIST=
(SID_DESC=
#BEQUEATHCONFIG
(GLOBAL_DBNAME=racdbl)
(SID_NAME=racdbl)
#PRESPAWNCONFIG
(PRESPAWN_MAX=20)
(PRESPAWN_LIST=
(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=
1))
GLOBAL_DBNAME=racdbl
Service名称,在客户端一定配置和他相同
SID_NAME=racdbl
实例名称,这个要和SID相同
GLOBAL_DBNAME可以不等于SID_NAME
客户端根据tnsname.ora中的SERVICE_NAME和地址(ADDRESS=
(PROTOCOL=TCP)(HOST=racdbl)(PORT=1521)),到这个地址去访
问监听器。然后监听器根据文件lisnter.ora文件中的GLOBAL_NAME
来判断是否有一个GLOBAI^DBNAME和SERVICE_NAME相等。
如果相等,则建立客户端到SID标识的服务端实例的连接,在客户端上
我们可以使用tnsping命令来测试
1.2.客户端tnsnames
racdbl-
(description=
(address_list=
(address=(protocol二tcp)(host二)(port=1521))
)
(connect_data=
(service_name=racdbl)(ur=a)
)
)
这里的service_name=racdbl就是在服务器端的GLOBAL_DBNAME
二racdbl
[oracle@racdbl〜]$tnspingracdbl
ductionon21-JAN-201514:51:49
Copyright(c)1997,2009,Oracle.Allrightsreserved.
TNS-03502:Insufficientarguments.Usage:tnsping<address>
[<count>]
[oracle@racdbl〜]$tnspingracdbl
ductionon21-JAN-201514:51:55
Copyright(c)1997,2009,Oracle.Allrightsreserved.
Usedparameterfiles:
UsedTNSNAMESadaptertoresolvethealias
Attemptingtocontact(description=(address_list=(address=(protocol=
tcp)(host=racdbl)(port=1521)))(connect_data=(service_name=
racdbl)(ur=a)))
OK(0msec)
1.3.检查OracleListener
Isnrctlstop
Isnrctlstart
Isnrctlstatus
Isnrctlservice
1.4.登陆数据库的方式
修改登陆oracle认证模式
默认情况下我们oracle安装好后是使用操作系统用户的验证,所以这
里如果我们使用sys用户不用密码就可以登录,如果我们想使用oracle
密码文件验证的话我们就要进入下列文件夹
cd修改sqlnet.ora
增加下列命令
SQLNET.AUTHENTICATION_SERVICES=NONE
配置了tnsnames登录数据库方式
[oracle@racdbl〜]$sqlplusscott/111111@racdbl
sqlplus/nolog
使用scott登陆到指定数据库racdbl
connsys/111111@racdblASSYSDBA;
察看登陆到了哪个数据库实例
selectinstance_namefromv$instance
使用sys用户登陆
connsys/change_on_installerassysdba
用sysdba登陆
conn/assysdba
使用sys用户登录
connsys/change_on_installassysdba;
conn/assysdba连接数据库
connscott/111111使用scott进行连接
1.5.数据库的启动
数据库启动方式
方式含义
startup启动实例、装载数据库、打开数据库
startupnomount启动实例,不加载数据库
startupmount启动实例,加载数据库但不打开数据库
startuprestrict启动过程中限制访问数据库
startupforce强制数据库启动
startup
使用非缺省参数文件启动数据库,以特定文件中指定参数启动数
pfi1e=/orade/app/oracle/product/1Og
据库,本仞U为"/oracle/app/oracle/product/11g/dbs/initminos.ora
/dbs/initminos.ora
startup
启动实例、装载数据库、打开数据库
startupopenracdbl
startupnomount
启动数据库实例,该步骤只是启动了一个数据库实例.
在此状态下我们可以访问下列结构文件
Select*fromv$instance;
Select*fromv$bgprocess;
Select*fromv$sga;
利用以前读取的参数文件查找控制文件,这些控制文件包含数据文件
名和重做日志名,然后将数据库装载.
alterdatabasemount
一旦这一步完成我们就可以看到下列状态
select*fromv$database;
select*fromv$tablespace;
select*fromv$log;
实例验证数据文件及日志文件并启动数据库
alterdatabaseopen;
打开数据库
startuprestrict
启动过程中限制访问数据库
altersJystemenablerestrictedsession
grantrestrictsessiontoscott
上述命令是只有用户拥有restrict权限才可以连接
启动数据库后起的进程
selectname,DESCRIPTIONfromv$bgprocesswherepaddr<>'00';
1.6.关闭数据库
shutdownnormal?
等待用户完成工作然后关闭
Shutdowntransactional
等待用户完成工作但是强制关闭连接
shutdownimmediate??
立即关闭,当前所有做工作回滚到一致状态,断开其连接
shutdownabort
强制关闭,非干净关闭,下次重起后要回滚日志
2.用户管理
2.1.检察用户profile
selectusername,profilefromdba_userswhereusername='SCOTT';
2.2.查看用户profile参数
select*fromdba_profileswhereprofile='DEFAULT;
3.检查数据库基本状况
3.1.检查数据库创建日期
SelectCreated,Log_ModeFromV$Database;
CREATEDLOG_MODE
2014/8/171NOARCHIVELOG
3.2.检查数据库版本信息
SelectversionfromProduct_component_versionwhere
SUBSTR(PRODUCT,1,6户Oracle?
3.3.检查实例状态
SQL>SELECTinst_id,instance_name,host_name,VERSION,TO_C
HAR(startup_time,'yyyy-mm-ddhh24:mi:ss')startup_time,status,archi
ver,database_statusFROMgv$instance;
SELECTinst_id,dbid,NAME,TO_CHAR(created,'yyyy-mm-ddhh2
4:mi:ss')created,log_mode,TO_CHAR(version_time,'yyyy-mm-ddhh2
4:mi:ss')version_time,open_modeFROMgv$database;
INST_IDDBIDNAMECREATEDLOG
_MODEVERSION_TIMEOPEN_MODE
其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“D
ATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTI
VE”。
SQL>selectnamejog_mode,open_modefromv$database;
NAMELOG_MODEOPEN_MODE
RACDB1ARCHIVELOGREADWRITE
其中“LOG_MODE”表示Oracle当前的归档方式。“ARCHIVELOG”
表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运
行在非归档模式下。在我们的系统中数据库必须运行在归档方式下。
3.4.查看前台进程
ps-Coracle-o'rsz,sid,cmd'|grepLO
free-m|egrep-v*total|buffers||awk'{print$1,$3}*
Oracle的前台进程是操作系统进程,它和oraclesession对应,官
方建议,oraclesesson
=1.5*process+20
3.5.查看数据库连接的session
SQL>selectcount(*)fromv$session;
3.6.查看连接到数据库的模式
selectprogramfromv$processorderbyprogram;
selectd.NAME,s・NAMEfromv$dispatcherd,v$shared_servers,v$circuitcwhere
d.PADDR=c.DISPATCHERands.PADDR=c.SERVER
(S012)以sOOl等就是共享模式连接
3.7.查看并发连接数
selectcount(*)fromv$sessionwherestatus=1ACTIVE,;
3.8.查看最大的连接'processes'
SQL>selectvaluefromv$parameterwherename='processes'
3.9.监控系统后台进程
SQL>Selectname,DescriptionFromV$BGPROCESSWherePaddro*001;
3.10.查看数据库初始化参数
selectname,valuefromv$parameterwhereisbasic='TRUE'orderbyname;
这些参数是当前数据库已经应用的参数
3.11.检查PGA使用情况
selectname,valuefromv$pgastatwherenamein('maximumPGA
allocated','totalPGAallocated');
3.12.检查SGA状态
SELECTrequest_misses,request_failuresFROM
v$shared_pool_reserved;
Selectcomponent,current_size,min_size,max_sizefrom
v$sga_dynamic_components;
REQUEST_MISSESREQUEST_FAILURES
00
期望结果:request_misses和request_failures应该接近于0。
巡检说明:requesjmisses是保留列表没有满足请求的可用内存片从而
开始利用LRU列表刷新对象的次数;request_failures是未找到满足请
求的内存次数。
3.13.检查Oracle服务进程
[oracle@racdbl〜]$ps-ef|grepc)ra_|grep-vgrep&&ps-ef|grepora_|grep
-vgrep|wc?1
oracle44591015:5300:00:00ora_pmon_racdb1
oracle44611015:53?00:00:17ora_vktm_racdbl
oracle44651015:53?00:00:00ora_gen0_racdb1
oracle44671015:5300:00:00ora_diag_racdb1
oracle44691015:5300:00:00ora_dbrm_racdb1
oracle44711015:5300:00:00ora_psp0_racdbl
oracle44731015:53?00:00:02ora_dia0_racdb1
oracle44751015:53?00:00:00ora_mman_racdb1
oracle44771015:53?00:00:00ora_dbw0_racdbl
oracle44791015:53?00:00:01ora_lgwr_racdb1
oracle44811015:53?00:00:05ora_ckpt_racdb1
oracle44831015:53?00:00:00ora_smon_racdb1
oracle45271015:53?00:00:00ora_arc0_racdb1
oracle44851015:53?00:00:00ora_reco_racdbl
在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:
.Oracle写数据文件的进程,输出显示为:"ora_dbwO_racdbl"
.Oracle写日志文件的进程,输出显示为:"ora_lgwr_racdbl"
.Oracle监听实例状态的进程,输出显示为:"ora_smon_racdbl”
.Oracle监听客户端连接进程状态的进程,输出显示为:
“ora_pmon_racdbl”
.Oracle进行归档的进程,输出显示为:"ora_arcO_racdb1"
.Oracle进行检查点的进程,输出显示为:"ora_ckpt_racdbl"
.Oracle进行恢复的进程,输出显示为:"ora_reco_racdbl"
3.14.检查Oracle监听状态
[oracle@racdbl~]$Isnrctlstatus
Copyright(c)1991,2009,Oracle.Allrightsreserved.
Connectingto
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=racdbl)))
STATUSoftheLISTENER
AliasUSTENER
StartDate21JAN-201512:37:48
Uptime0days4hr.22min.53sec
TraceLeveloff
SecurityON:LocalOSAuthentication
SNMPOFF
ListenerLogFile
/u01/app/oracle/diag/tnslsnr/racdbl/listener/alert/log.xml
ListeningEndpointsSummary...
(DESCRIPTION二(ADDRESS=(PROTOCOL=ipc)(KEY=racdbl)))
ServicesSummary-
Service"racdbl"has1instance(s).
Instance"racdbl",statusUNKNOWN,has3handler(s)forthisservice...
Instance"racdbl",statusREADY,has1handler(s)forthisservice...
Instance"racdbl",statusREADY,has1handler(s)forthisservice...
Thecommandcompletedsuccessfully
aServicesSummary"项表示Oracle的监听进程正在监听哪些数据库
实例,输出显示中至少应该有"racdblXDB”这一项。
3.15.检查监听进程是否存在
[oracle@racdbl〜]$ps-ef|grepIsn|grep-vgrep
oracle21401012:37?
3.16.检查操作系统日志文件
[root@racdbl~]#cat/var/log/messages|grepfailed
查看是否有与Oracle用户相关的出错信息。
3.17.检查oracle日志文件
SQL>selectvaluefromv$diag_infdwherename='DiagTrace';
VALUE
/uOl/app/oracle/diag/rdbms/racdbl/racdbl/trace
cat/uOl/app/oracle/diag/rdbms/racdbl/racdbl/trace/alert_racdbl.log|
grepora-
cat/uOl/app/oracle/diag/rdbms/racdbl/racdbl/trace/alert_racdbl.log
greperr
[oracle@racdbltrace]$cat
/uOl/app/oracle/diag/rdbms/racdbl/racdbl/trace/alert_racdbl.log|grep
fail
Oracle在运行过程中,会在警告日志文件(alert_SID.lo0中记录数据库
的一些运行情况:数据库的启动、关闭,启动时的非缺省参数;数据
库的重做日志切换情况,记录每次切换的时间,及如果因为检查点
(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;
对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数
据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA
—600)等。定期检查日志文件,根据日志中发现的问题及时进行处理:
问题处理
启动参数不对检查初始化参数文件
因为检查点操作或归档操作没有如果经常发生这样的情况,可以考虑增加重
完成造重做日志不能切换做日日志文件组;想办法提高检查点或归档
操作的效率;
有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;
如有必要,撤消某些用户的系统权限
出现坏块检查是否是硬件问题(如磁盘本生有坏块),
如果不是,检查是那个数据库对象出现了坏
块,对这个对象进行重建
表空间不够增加数据文件到相应的表空间
出现0RA-600根据日志文件的内容查看相应的TRC文件,
如果是Oracle的bug,要及时打上相应的
补丁
3.18.检查Oracle核心转储目录
SQL>selectvaluefromv$parameterwherename='core_dump_dest';
VALUE
/uOl/app/oracle/diag/rdbms/racdbl/racdbl/cdump
[oracle@racdblcdump]$Is
/uOl/app/oracle/diag/rdbms/racdbl/racdbl/cdump/*.trc|wc-1
如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心
转储。这说明某些用户进程或者数据库后台进程由于无法处理的原因
而异常退出。频繁的核心转储特别是数据库后台进程的核心转储会导
致数据库异常终止。Oracle常用日志文件位置查询
select*fromv$parameterwherename='background_dump_dest';
select*fromv$parameterwherename='user_dump_dest';
select*fromv$parameterwherename='core_dump_dest';
select*fromv$parameterwherename='audit_file_dest';
select*fromv$parameterwherename='audit_syslog_level';
3.19.检查Root用户和Oracle用户的email
[oracle@racdblracdbl]$tail-n200/var/mail/oracle
[oracle@racdblracdbl]$tail-n200/var/mail/root
查看有无与Oracle用户相关的出错信息。
4.检查Oracle对象状态
在本节主要检查相关Oracle对象的状态,包含:检查Oracle控制文件
状态,检查Oracle在线日志状态,检查Oracle表空间的状态,检查
Oracle所有数据文件状态,检查Oracle所有表、索引、存储过程、触
发器、包等对象的状态,检查Oracle所有回滚段的状态,总共六个部
分。
4.1.检查Oracle控制文件状态
SQL>selectstatus,namefromv$controlfile;
STATUSNAME
/uOl/app/oracle/oradata/racdbl/controlOl.ctl
/uOl/app/oracle/flash_recovery_area/racdbl/control02.ctl
输出结果应该有2条以上(包含2条)的记录,“STATUS”应该为
空。状态为空表示控制文件状态正常
4.2.检查Oracle在线日志状态
SQL>selectgroup#,status,type;xnemberfromv$logfile;
GROUP#STATUSTYPEMEMBER
3ONUNE
/uOl/app/oracle/oradata/racdbl/redo03.log
2ONLINE
/uOl/app/oracle/oradata/racdbl/redo02.log
1ONUNE
/uOl/app/oracle/oradata/racdbl/redo01.log
输出结果应该有3条以上(包含3条)记录,“STATUS”应该为非
“INVALID",非“DELETED”。注:"STATUS”显示为空表示
正常。
4.3.检查Oracle表空间的状态
SQL>selecttablespace_name,statusfromdba_tablespaces;
TABLESPACE_NAMESTATUS
SYSTEMONLINE
SYSAUXONLINE
UNDOTBS1ONLINE
TEMPONLINE
USERSONLINE
SCOTTSPACE06ONUNE
6rowsselected
输出结果中STATUS应该都为ONLINE。
4.4.检查Oracle所有数据文件状态
SQL>selectname,statusfromv$datafile;
NAME
STATUS
/uOl/app/oracle/oradata/racdbl/systemOl.dbf
SYSTEM
/uOl/app/oracle/oradata/racdbl/sysauxOl.dbf
ONLINE
/uOl/app/oracle/oradata/racdb1/undotbsO1.dbf
ONLINE
/uOl/app/oracle/oradata/racdbl/usersOl.dbf
ONLINE
/uOl/app/oracle/oradata/racdbl/SCOTTSPACE06.dbf
ONLINE
输出结果中“STATUS”应该都为“ONLINE"。或者:
SQL>selectfile_name,statusfromdba_data_files;
FILE_NAME
STATUS
/uOl/app/oracle/oradata/racdbl/usersOl.dbf
AVAILABLE
/uOl/app/oracle/oradata/racdbl/undotbsO1.dbf
AVAILABLE
/uOl/app/oracle/oradata/racdbl/sysauxOl.dbf
AVAILABLE
/uOl/app/oracle/oradata/racdb1/systemO1.dbf
AVAILABLE
/uOl/app/oracle/oradata/racdbl/SCOTTSPACE06.dbf
AVAILABLE
输出结果中“STATUS”应该都为“AVAILABLE”。
4.5.检查无效对象
selectowner,object_name,object_typefromdba_objectswhere
status!='VALID'andowner!='SYS'andowner!='SYSTEM';
norowsselecte
如果有记录返回,则说明存在无效对象。若这些对象与应用相关,那
么需要重新编译生成这个对象,或者
SELECTowner,object_name,objecjtypeFROMdba_objectsWHERE
status='INVALID';
4.6.检查所有回滚段状态
SQL>selectsegment_name,statusfromdba_rollback_segs;
SEGMENT_NAMESTATUS
SYSTEMONLINE
11rowsselected
输出结果中所有回滚段的“STATUS”应该为“ONLINE”。
4.7.检查用户下的表
select*fromuser_tables;
4.8.检查用户默认表空间
selectusername,default_tablespace,temporary_tablespacefromdba_users
whereUSERNAME='SCOTT;
4.9.检查当前用户角色及权限
select*fromdba_role_privswhereGRANTEE='SCOTT';
select*fromdba_sys_privswhereGRANTEE='SCOTT';
select*fromdba_tab_privswhereGRANTEE='SCOTT;
4.10.检查用户下的各个表的大小
SelectSegment_Name,Sum(bytes)/l024/1024MBFromdba_Extents
whereOWNER='SCOTT'GroupBySegment_Nameorderby
sum(bytes)/1024/1024desc;
4.11.检查一个表的创建时间
selectobject_name,createdfromdba_objectswhere
object_name=upper('&table_name');
4.12.检查某个表的大小
selectsum(bytes)/(1024*1024)as"size(M)"fromdba_segments
wheresegment_name=upper('&table_name');
4.13.检查每个表占用磁盘空间情况
selectb.file_idfile_ID,b.tablespace_nametablespace_name,b.bytesBytes,
(b.bytes-sum(nvl(a.bytes,0)))used,sum(nvl(a.bytes,0))free,
sum(nvl(a.bytes,0))/(b.bytes)*100Percentfromdba_free_space
a,dba_data_filesbwherea.file_id=b.file_idgroupby
b.tablespace_name,b.file_id,b.bytesorderbyb.file_id;
5.检查Oracle相关资源的使用情况
在本节主要检查Oracle相关资源的使用情况,包含:检查Oracle初始
化文件中相关的参数值,检查数据库连接情况,检查系统磁盘空间,
检查Oracle各个表空间使用情况,检查一些扩展异常的对象,检查
system表空间内的内容,检查对象的下一扩展与表空间的最大扩展值,
总共七个部分。
5.1.检查Oracle初始化文件中相关参数值
SQL>selectresource_name,max_utilization,initial_allocation,
limit_valuefromv$resource_limit;
RESOURCE_NAMEMAX_UTILIZATION
INITIAL_ALLOCATIONLIMIT_VALUE
processes63150
150
sessions72247
247
enqueue_locks343010
3010
enqueue_resources381304
UNLIMITED
ges_procs00
0
ges_ress00
UNLIMITED
ges_locks00
UNLIMITED
ges_cache_ress00
UNLIMITED
ges_reg_msgs00
UNLIMITED
ges_big_msgs00
UNLIMITED
ges_rsv_msgs00
0
gcs_resources00
0
gcs_shadows00
0
dml_locks01084
UNLIMITED
temporary_table_locks0UNLIMITED
UNLIMITED
transactions0271
UNLIMITED
branches0271
UNLIMITED
cmtcallbk1271
UNLIMITED
max_rollback_segments11271
65535
sort_segment_locks1UNLIMITED
UNLIMITED
RESOURCE_NAMEMAX_UTIUZATION
INITIAL_ALLOCATIONUMIT_VALUE
k2q_locks0494
UNLIMITED
max_shared_servers1UNLIMITED
UNLIMITED
parallel_max_servers010
3600
23rowsselected
若UMIT_VALU-MAX_UTIUZATION<=5,则表明与RESOURCE_N
AME相关的Oracle初始化参数需要调整。可以通过修改Oracle初始
化参数文件$ORACLE_BASE/admin/racdbl/pfne/initORCL.ora来修改。
5.2.检查数据库连接情况
SQL>selectcount(*)fromv$session;
selects.osuseros_user_name,
decode(sign(48-command),
1,
to_char(command),
'ActionCode#'||to_char(command))action,
gramoracle_process,
statussession_status,
s.terminalterminal,
gramprogram,
s.usernameuser_name,
s.fixed_table_sequenceactivity_meter,
"query,
0memory,
0max_memory,
0cpu_usage,
s.sid,
s.serial#serial_num
fromv$sessions,v$processpwheres.paddr=p.addrands.type
='USER'
orderbys.username,s.osuser;
SQL>selectsid,serial#,username,program,machine,statusfromv$session;
其中:SID会话(session)的ID号;
SERIAL#会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME建立该会话的用户名;
PROGRAM这个会话是用什么工具连接到数据库的;
STATUS当前这个会话的状态,ACTIVE表示会话正在执行某些任
务,INACTIVE表示当前会话没有执行任何操作;
如果建立了过多的连接,会消耗数据库的资源,同时,对一些“挂死”
的连接可能需要手工进行清理。如果DBA要手工断开某个会话,则
执行:(一般不建议使用这种方式去杀掉数据库的连接,这样有时候
session不会断开。容易引起死连接。建议通过sid查到操作系统的spid,
使用ps-eflgrepspidno的方式确认spid不是ORACLE的后台进程。
使用操作系统的kill-9命令杀掉连接)
altersystemkillsession1SID,SERIAL#1;
注意:上例中SID为1到10(USERNAME列为空)的会话,是Oracle
的后台进程,不要对这些会话进行任何操作。
5.3.检查系统磁盘空间
[oracle@racdblracdbl]$df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/mapper/VgMasterRoot-LogVolRoot
9.5G433M8.6G5%/
tmpfs935M315M621M34%/dev/shm
/dev/mapper/VgMasterUOl-LogVolUOl
20G6.7G12G37%/uOl
/dev/sdal9.5G91M9.0G1%/boot
/dev/mapper/VgMasterHome-LogVolHome
9.5G72M9.0G1%/home
/dev/mapper/VgMasterTemp-LogVolTmp
3.7G7.7M3.5G1%/tmp
/dev/mapper/VgMasterUsr-LogVolUsr
9.5G1.3G7.8G15%/usr
/dev/mapper/VgMasterVar-LogVolVar
9.5G118M8.9G2%/var
5.4.检查表空间使用情况
SELECTdf.file_id,df.file_name,d£size_mb,NVL(free.maxfree,0)
maxfree_mb,
ROUND(NVL(free.free_mb,0),2)free_mb,100-ROUND(100.0
*NVL(free.free_mb,0)/d£size_mb,2)pct_used,
ROUND(100.0*NVL(free.free_mb,0)/df.size_mb,2)pct_free
FROM(SELECTfile_id,file_name,tablespace_name,BYTES/1048576
size_mbFROMdba_data_files)df,
(SELECTfilejd,SUM(BYTES)/1048576free_mb,TRUNC
(MAX(BYTES/1024/1024),2)maxfree
FROMdba_free_spaceGROUPBYfilejd)freeWHEREdf.filejd
=free.印e_id(+)ORDERBY7;
TABLESPACE_NAMETOTAL
FREE%Free
SYSTEM6806
1
SYSAUX53028
5
USERS53
60
UNDOTBS19070
78
SCOTTSPACE0654
80
sQL>selectA.tablespace_name,
(1-(A.total)/B.total)*l00used_percent
from
(selecttablespace_name,
sum(bytes)total
fromdba_free_space
groupbytablespace_name
)A,
(selecttablespace_name,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年教育创新:《拿来主义》课件教学新视角
- 历史的轨迹:2024年汽车产业变革详解
- 2024届新疆阿克苏市农一师中学高考临考冲刺化学试卷含解析
- 音乐与教学的完美结合:《童心是小鸟》课件
- 第47届世界技能大赛管道与制暖项目江苏省选拔赛评分表
- 2024年音乐课堂:《上学歌》教案设计
- 针对20以内加减法的教案创新:2024年教育趋势探讨
- 2024年课堂变革:《比例的意义》课件的革新之路
- 2024年交通安全:掌握交通标志
- 探索2024年Axure原型设计的无限可能
- 国家开放大学《政治学原理》章节自检自测题参考答案
- 智慧树知到《走进故宫》2019期末考试答案
- 医院人才梯队建设情况汇报
- 学校三年发展规划落实情况评估报告(通用3篇)
- 术后谵妄演示课件
- 人教版二年级数学上册第六单元《表内乘法(二)》单元分析(学校集体备课)
- 常用孔轴卡簧规格尺寸
- 课件:幼儿园中小学防拐骗安全教育主题班会必备
- DB12-T 1145-2022牛粪卧床垫料生物安全管理规范
- 封条模板A4直接打印版
- 风管系统安装检验批质量验收记录(Ⅰ)(送、排风、防排烟、除尘系统)1
评论
0/150
提交评论