OracleG日常维护手册_第1页
OracleG日常维护手册_第2页
OracleG日常维护手册_第3页
OracleG日常维护手册_第4页
OracleG日常维护手册_第5页
已阅读5页,还剩69页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle Database 日常维护手册目录登陆到数据库 . 服务器端配置 Listener 客户端 tnsnames 检查 Oracle Listener 登陆数据库的方式 数据库的启动 关闭数据库 用户管理 . 检察用户 profile 查看用户 profile 参数 检查数据库基本状况 . 检查数据库创建日期 检查数据库版本信息 检查实例状态 3.4. 查看前台进程 3.5. 查看数据库连接的 session .3.6.查看连接到数据库的模式 3.7.查看并发连接数 3.8.查看最大的连接 processes3.9.监控系统后台进程 3.10.查看数据库初始化参数 3.11.检查 P

2、GA使用情况 . 3.12.检查 SGA状态. 3.13.检查 Oracle 服务进程 . 3.14.检查 Oracle 监听状态 . 3.15.检查监听进程是否存在 3.16.检查操作系统日志文件 3.17.检查 oracle 日志文件 . 3.18.检查 Oracle 核心转储目录3.19. 检查 Root 用户和 Oracle 用户的 email 检查 Oracle 对象状态 .检查 Oracle 控制文件状态 检查 Oracle 在线日志状态 检查 Oracle 表空间的状态 检查 Oracle 所有数据文件状态 检查无效对象 检查所有回滚段状态 检查用户下的表 检查用户默认表空间 检

3、查当前用户角色及权限 检查用户下的各个表的大小 . 检查一个表的创建时间 . 检查某个表的大小 . 检查每个表占用磁盘空间情况 . 检查 Oracle 相关资源的使用情况 . 检查 Oracle 初始化文件中相关参数值 检查数据库连接情况 检查系统磁盘空间 检查表空间使用情况 检查一些扩展异常的对象 检查表空间碎片情况 检查 system 表空间内的内容 检查对象的下一扩展与表空间的最大扩展值 检查 flash recovery area 空间 检查 Oracle 数据库性能 . 查询表空间读写情况 查询 redo log buffer 的繁忙程度 判断 undo 表空间的使用情况 分析日志组

4、切换频率 查看等待事件 检查数据库 cpu、I/O 、内存性能 内存使用情况 系统 I/O 情况 系统负载情况 查看是否有僵死进程 . 检查缓冲区命中率 . 检查共享池命中率 . 检查排序区 . 检查日志缓冲区 . 检查失效的索引 . 检查不起作用的约束 . 检查无效的 trigger 检查尚未建立索引的表 . 检查运行时间长的 SQL检查性能差的前 10条 SQL查看占 io 较大的正在运行的 session . 检查消耗 CPU最高的 PID 对应的 SQL检查占用 CPU多的 session 检查表空间的 IO 检查临时表空间 IO 检查锁和等待 . 检查数据库安全性 . 检查系统安全日

5、志信息 检查登录失败的日志: 检查用户修改密码 数据表空间日常维护 . 查看表空间的一些信息 创建表空间 表空间扩容 创建大数据文件 数据表空间文件迁移 不停机移动表空间文件 存储过程管理 . 找出特定用户的存储过程 通过表名找出存储过程 查看存储过程内容 触发器管理 找出数据库中所有触发器 . 找出特定用户的触发器 . 找出当前用户定义的触发器 . 查看某个用户自定义的触发器内容 . 查看某个表关联的触发器 . 查看当前用户所有触发器及存储过程 . Redo Log 管理 离线迁移日志文件 . 在线更改 Redo Log 文件容量 . 登陆到数据库服务器端配置 ListenerLISTENE

6、R =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY =racdb1)ADR_BASE_LISTENER = /u01/app/oracleSID_LIST_LISTENER=(SID_LIST=(SID_DESC=#BEQUEATH CONFIG(GLOBAL_DBNAME=racd) b1( SID_NAME=racdb)1#PRESPAWN CONFIG(PRESPAWN_MAX=20)(PRESPAWN_LIST=(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIM

7、EOUT=1)GLOBAL_DBNAME=racdb1Service 名称,在客户端一定配置和他相同SID_NAME=racdb1实例名称,这个要和 SID 相同GLOBAL_DBNA可ME以不等于 SID_NAME客户端根据 tnsname.ora 中的 SERVICE_NAM和E地址(ADDRESS = (PROTOCOL = TCP)(HOST =racdb1 )(PORT = 1521) ,到这个地址去访问监听器。然后监听器 根据文件 lisnter.ora 文件中的 GLOBAL_NAM来E判断是否有一个 GLOBAL_DBNAM和E SERVICE_NAME相 等 。如果相 等,则

8、建立客户端到 SID 标识的服务端实例的连接 , 在客户端上我们可以使用 tnsping 命 令来测试客户端 tnsnamesracdb1 =(description =(address_list =(address = (protocol = tcp)(host = )(port = 1521)(connect_data =(service_name = racdb1 )(ur=a)这里的 service_name =racdb1 就是在服务器端的 GLOBAL_DBNAME=racdb1oracleracdb1 $ tnsping racdb1duction on 21-JAN-2015

9、14:51:49Copyright (c) 1997, 2009, Oracle. All rights reserved.TNS-03502: Insufficient arguments. Usage: tnsping oracleracdb1 $ tnsping racdb1duction on 21-JAN-2015 14:51:55Copyright (c) 1997, 2009, Oracle. All rights reserved.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting

10、to contact (description = (address_list = (address = (protocol tcp)(host = racdb1)(port = 1521) (connect_data = ( service_name = racdb1 )(ur=a)OK (0 msec)检查 Oracle Listener lsnrctl stoplsnrctl startlsnrctl statuslsnrctl service登陆数据库的方式修改登陆 oracle 认证模式默认情况下我们 oracle 安装好后是使用操作系统用户的验证 , 所以这里如果我们使用 sys

11、用户不用密码就可以登录 , 如果我们想使用 oracle 密码文件验证的话我们就要进入下列文 件夹cd 修改 sqlnet.ora增加下列命令SQLNET.AUTHENTICATION_SERVICES = NONE配置了 tnsnames 登录数据库方式oracleracdb1 $ sqlplus scott/111111racdb1sqlplus /nolog使用 scott 登陆到指定数据库 racdb1 conn sys/111111racdb1 AS SYSDBA;察看登陆到了哪个数据库实例 select instance_name from v$instance 使用 sys 用户

12、登陆 conn sys/change_on_installer as sysdba 用 sysdba 登陆 conn /as sysdba 使用 sys 用户登录 conn sys/change_on_install as sysdba; conn / as sysdba 连接数据库 conn scott/111111 使用 scott 进行连接数据库的启动数据库启动方式方式含义startup启动实例、装载数据库、打开数据库startup nomount启动实例,不加载数据库方式含义startup mount启动实例,加载数据库但不打开数据库startup restrict启动过程中限制访问数

13、据库startup force强制数据库启动startup使用非缺省参数文件启动数据库,以特定文件中pfile=/oracle/app/oracle指 定 参 数 启 动 数 据 库 , 本 例 为 ”/product/10g/dbs/initmin/oracle/app/oracle/product/11g/dbs/initmios.oranos.orastartup启动实例、装载数据库、打开数据库startup open racdb1 startup nomount启动数据库实例 , 该步骤只是启动了一个数据库实例 在此状态下我们可以访问下列结构文件Select * from v$inst

14、ance;Select * from v$bgprocess;Select * from v$sga;利用以前读取的参数文件查找控制文件 ,这些控制文件包含数据文件名和重做日志名 , 然后 将数据库装载 .alter database mount 一旦这一步完成我们就可以看到下列状态 select * from v$database;select * from v$tablespace;select * from v$log; 实例验证数据文件及日志文件并启动数据库 alter database open;打开数据库 startup restrict 启动过程中限制访问数据库 alter sy

15、stem enable restricted session grant restrict session to scott 上述命令是只有用户拥有 restrict 权限才可以连接 启动数据库后起的进程select name, DESCRIPTION from v$bgprocess where paddr00;关闭数据库shutdown normal? 等待用户完成工作然后关闭Shutdown transactional 等待用户完成工作但是强制关闭连接shutdown immediate?立即关闭 , 当前所有做工作回滚到一致状态 , 断开其连接 shutdown abort强制关闭 ,

16、非干净关闭 ,下次重起后要回滚日志2. 用户管理检察用户 profileselect username,profile from dba users where username=SCOTT;查看用户 profile 参数select * from dba profiles where profile=DEFAULT;检查数据库基本状况检查数据库创建日期Select Created, Log_Mode From V$Database;CREATED LOG_MODE2014/8/17 1 NOARCHIVELOG检查数据库版本信息Select version from Product_comp

17、onent_version where SUBSTR(PRODUCT,1,6)=Oracle;检查实例状态SQL SELECT inst id, instance name, host name, VERSION, TO CHAR (startup time, yyyy-mm-dd hh24:mi:ss) startup_time, status, archiver, database_status FROM gv$instance;SELECT inst id, dbid, NAME, TO CHAR (created, yyyy-mm-dd hh24:mi:ss) create d, lo

18、g_mode, TO_CHAR (version_time, yyyy-mm-dd hh24:mi:ss) version_time,open mode FROM gv$database;INST_IDDBID NAME CREATED LOG_MODE VERSION_TIMEOPEN_MODESQL select name,log_mode,open_mode from v$database;NAME LOG_MODE OPEN_MODERACDB1 ARCHIVELOG READ WRITE其中“ LOG_MOD”E表示 Oracle 当前的归档方式。 “ARCHIVELO”G表示数据库

19、运行在归档模 式下,“ NOARCHIVEL”OG表示数据库运行在非归档模式下。在我们的系统中数据库必须运 行在归档方式下。查看前台进程ps -C oracle -o rsz,sid,cmd|grep LO ree -m|egrep -v total|buffers|awk print $1,$3 Oracle 的前台进程是操作系统进程,它和 oracle session 一一对应,官方建议, oracle sesson =1.5*process +20查看数据库连接的 sessionSQL select count(*) from v$session;查看连接到数据库的模式select pr

20、ogram from v$process order by program;select d.NAME,s.NAME from v$dispatcher d,v$shared_server s,v$circuit c where d.PADDR=c.DISPATCHER and s.PADDR=c.SERVER(S012)以 s001等就是共享模式连接查看并发连接数select count(*) from v$session where status=ACTIVE;查看最大的连接 processesSQL select value from v$parameter where name = p

21、rocesses监控系统后台进程SQL Select name,Description From V$BGPROCESS Where Paddr00;查看数据库初始化参数select name,value from v$parameter where isbasic=TRUE order by name;这些参数是当前数据库已经应用的参数检查 PGA使用情况select name,value from v$pgastat where namei n (maximum PGAa llocated,totalPGAallocated);检查 SGA状态SELECT request_misses,

22、request_failures FROM v$shared_pool_reserved;Select component,current_size,min_size,max_size from v$sga_dynamic_components;REQUEST_MISSES REQUEST_FAILURES0 0期望结果: request_misses 和 request_failures 应该接近于 0。巡检说明: request_misses 是保留列表没有满足请求的可用内存片从而开始利用LRU列表刷新对象的次数; request_failures 是未找到满足请求的内存次数。检查 Ora

23、cle 服务进程oracleracdb1$ ps -ef|grep ora_|grep -v grep&ps -ef|grep ora_|grep -vgrep|wc ?loracle 44591 0 15:53 ?00:00:00 ora_pmon_racdb1oracle 44611 0 15:53 ?00:00:17 ora_vktm_racdb1oracle44650 15:53 ?00:00:00 ora_gen0_racdb1oracle44670 15:53 ?00:00:00 ora_diag_racdb1oracle44690 15:53 ?00:00:00 ora_dbrm

24、_racdb1oracle44710 15:53 ?00:00:00 ora_psp0_racdb1oracle44730 15:53 ?00:00:02 ora_dia0_racdb1oracle44750 15:53 ?00:00:00 ora_mman_racdb1oracle44770 15:53 ?00:00:00 ora_dbw0_racdb1oracle44790 15:53 ?00:00:01 ora_lgwr_racdb1oracle44810 15:53 ?00:00:05 ora_ckpt_racdb1oracle44830 15:53 ?00:00:00 ora_smo

25、n_racdb1oracle45270 15:53 ?00:00:00 ora_arc0_racdb1oracle44850 15:53 ?00:00:00 ora_reco_racdb1在检查 Oracle 的进程命令输出后,输出显示至少应包括以下一些进程:. Oracle 写数据文件的进程,输出显示为:“ ora_dbw0_racdb1”. Oracle 写日志文件的进程,输出显示为:“ ora_lgwr_racdb1 ”. Oracle 监听实例状态的进程,输出显示为:“ ora_smon_racdb1”. Oracle 监听客户端连接进程状态的进程,输出显示为:“ ora_pmon_r

26、acdb1”. Oracle 进行归档的进程,输出显示为:“ ora_arc0_racdb1 ”. Oracle 进行检查点的进程,输出显示为:“ ora_ckpt_racdb1 ”. Oracle 进行恢复的进程,输出显示为:“ ora_reco_racdb1 ”检查 Oracle 监听状态oracleracdb1 $ lsnrctl statusCopyright (c) 1991, 2009, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=racdb1)STATUS o

27、f the LISTENERAliasLISTENERStart Date21-JAN-2015 12:37:48Uptime0 days 4 hr. 22 min. 53 secTrace LeveloffSecurityON: Local OS AuthenticationSNMPOFFListenerFileLog /u01/app/oracle/diag/tnslsnr/racdb1/listener/alert/log.xml Listening Endpoints Summary.(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=racdb1)Ser

28、vices Summary.Service racdb1 has 1 instance(s).Instance racdb1, status UNKNOWN, has 3 handler(s) for this service.Instance racdb1, status READY, has 1 handler(s) for this service.Instance racdb1, status READY, has 1 handler(s) for this service.The command completed successfully“Services Summar”y 项表示

29、 Oracle 的监听进程正在监听哪些数据库实例,输出显示中至 少应该有“ racdb1XDB”这一项。检查监听进程是否存在 oracleracdb1 $ ps -ef|grep lsn|grep -v grep oracle 2140 1 0 12:37 ?检查操作系统日志文件rootracdb1 # cat /var/log/messages |grep failed查看是否有与 Oracle 用户相关的出错信息检查 oracle 日志文件cat /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log | grep o

30、ra-cat /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log | grep erroracleracdb1 trace$ cat /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert racdb1.log | grep failOracle 在运行过程中,会在警告日志文件 (alert_SID.log) 中记录数据库的一些运行情况: 数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换 的时间,及如果因为检查点 (checkpoint)

31、操作没有执行完成造成不能切换,会记录不能切 换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生 的错误,如表空间不够、出现坏块、数据库内部错误 (ORA 600) 等。定期检查日志文件, 根据日志中发现的问题及时进行处理:问题处理启动参数不对检查初始化参数文件因为检查点操作或归档操作没有完成造重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日 日志文件组;想办法提高检查点或归档操作的效 率;有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块检查是否是硬件问题 ( 如磁盘本生有坏块 ) ,如果 不是,检查是那

32、个数据库对象出现了坏块,对这 个对象进行重建表空间不够增加数据文件到相应的表空间出现 ORA-600根据日志文件的内容查看相应的 TRC文件,如果 是 Oracle 的 bug,要及时打上相应的补丁3.18. 检查 Oracle 核心转储目录SQL select value from v$parameter where name=core_dump_dest;VALUE/u01/app/oracle/diag/rdbms/racdb1/racdb1/cdump oracleracdb1 cdump$ ls/u01/app/oracle/diag/rdbms/racdb1/racdb1/cdum

33、p/*.trc|wc -l如果上面命令的结果每天都在增长, 则说明 Oracle 进程经常发生核心转储。 这说明某些用 户进程或者数据库后台进程由于无法处理的原因而异常退出。频繁的核心转储特别是数据 库后台进程的核心转储会导致数据库异常终止。 Oracle 常用日志文件位置查询 select * from v$parameter where name=background_dump_dest;select * from v$parameter where name=user_dump_dest;select * from v$parameter where name=core_dump_des

34、t;select * from v$parameter where name=audit_file_dest;select * from v$parameter where name=audit_syslog_level;3.19. 检查 Root 用户和 Oracle 用户的 emailoracleracdb1 racdb1$ tail -n 200 /var/mail/oracleoracleracdb1 racdb1$ tail -n 200 /var/mail/root查看有无与 Oracle 用户相关的出错信息。检查 Oracle 对象状态在本节主要检查相关 Oracle 对象的状态

35、,包含:检查 Oracle 控制文件状态,检查 Oracle 在线日志状态,检查 Oracle 表空间的状态,检查 Oracle 所有数据文件状态,检查 Oracle 所有表、索引、存储过程、触发器、包等对象的状态,检查 Oracle 所有回滚段的状态,总 共六个部分检查 Oracle 控制文件状态SQL select status,name from v$controlfile;STATUS NAME/u01/app/oracle/oradata/racdb1/control01.ctl/u01/app/oracle/flash_recovery_area/racdb1/control02.

36、ctl输出结果应该有 2 条以上(包含 2 条)的记录,“ STATU”S应该为空。状态为空表示控制文件状态正常检查 Oracle 在线日志状态SQL select group#,status,type,member from v$logfile;GROUP# STATUS TYPE MEMBER-3 ONLINE /u01/app/oracle/oradata/racdb1/redo03.log2 ONLINE /u01/app/oracle/oradata/racdb1/redo02.logONLINE /u01/app/oracle/oradata/racdb1/redo01.log输出

37、结果应该有 3 条以上(包含 3 条)记录,“ STATU”S应该为非“ INVALID”,非“DELETE”D 。 注:“ STATU”S 显示为空表示正常。检查 Oracle 表空间的状态SQL select tablespace_name,status from dba_tablespaces;TABLESPACE NAMESTATUSSYSTEM ONLINESYSAUX ONLINEUNDOTBS1 ONLINETEMP ONLINEUSERS ONLINESCOTTSPACE06 ONLINE6 rows selected输出结果中 STATUS应该都为 ONLINE。检查 Ora

38、cle 所有数据文件状态SQL select name,status from v$datafile;NAMESTATUS/u01/app/oracle/oradata/racdb1/system01.dbfSYSTEM/u01/app/oracle/oradata/racdb1/sysaux01.dbf ONLINE/u01/app/oracle/oradata/racdb1/undotbs01.dbfONLINE/u01/app/oracle/oradata/racdb1/users01.dbfONLINE/u01/app/oracle/oradata/racdb1/SCOTTSPACE0

39、6.dbfONLINE输出结果中“ STATU”S应该都为“ ONLINE”。或者:SQL select file_name,status from dba_data_files;FILE_NAME STATUS/u01/app/oracle/oradata/racdb1/users01.dbf/u01/app/oracle/oradata/racdb1/undotbs01.dbf/u01/app/oracle/oradata/racdb1/sysaux01.dbf/u01/app/oracle/oradata/racdb1/system01.dbf/u01/app/oracle/oradat

40、a/racdb1/SCOTTSPACE06.dbfAVAILABLEAVAILABLEAVAILABLEAVAILABLEAVAILABLE输出结果中“ STATU”S 应该都为“ AVAILABLE”检查无效对象select owner,object_name,object_type from dba_objects where status!=VALID and owner!=SYS and owner!=SYSTEM;no rows selecte 如果有记录返回,则说明存在无效对象。若这些对象与应用相关,那么需要重新编译生成 这个对象,或者SELECT owner, object na

41、me, object type FROM dba objects WHERE status= INVALID;检查所有回滚段状态SQL select segment_name,status from dba_rollback_segs;SEGMENT_NAMESTATUSSYSTEMONLINE11 rows selected输出结果中所有回滚段的“ STATU”S应该为“ ONLINE”检查用户下的表select * from user_tables;检查用户默认表空间select username,default_tablespace, temporary_tablespace from

42、dba_users where USERNAME=SCOTT;检查当前用户角色及权限select * from dba_role_privs where GRANTEE=SCOTT;select * from dba_sys_privs where GRANTEE=SCOTT;select * from dba tab privs where GRANTEE=SCOTT;检查用户下的各个表的大小Select Segment_Name,Sum(bytes)/1024/1024 MB From dba_Extents where OWNER=SCOTTGroup By Segment_Name o

43、rder by sum(bytes)/1024/1024 desc;检查一个表的创建时间selectobject_name,createdfromdba_objectswhereobject name=upper(&table name);检查某个表的大小select sum(bytes)/(1024*1024) as size(M) from dba_segments where segment_name=upper(&table_name);检查每个表占用磁盘空间情况select b.file_id file_ID, b.tablespace_name tablespace_name, b

44、.bytes Bytes, (b.bytes-sum(nvl(a.bytes,0) used, sum(nvl(a.bytes,0) free, sum(nvl(a.bytes,0)/(b.bytes)*100 Percent from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;检查 Oracle 相关资源的使用情况 在本节主要检查 Oracle 相关资源的使用情况,包含:检查 Oracle

45、 初始化文件中相关的参 数值,检查数据库连接情况,检查系统磁盘空间,检查 Oracle 各个表空间使用情况,检查 一些扩展异常的对象, 检查 system 表空间内的内容, 检查对象的下一扩展与表空间的最大 扩展值,总共七个部分。检查 Oracle 初始化文件中相关参数值SQL select resource_name,max_utilization,initial_allocation,limit_value from v$resource_limit;RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCATIONLIMIT_VALUE processes

46、63 150 150sessions72247247enqueue_locks3430103010enqueue_resources38 1304UNLIMITEDges_procs000ges_ress00UNLIMITEDges_locks00UNLIMITEDges_cache_ress00UNLIMITEDges_reg_msgs00UNLIMITEDges_big_msgs00UNLIMITEDges_rsv_msgs000gcs_resources000gcs_shadows000dml_locks01084UNLIMITEDtemporary_table_locks0 UNLIM

47、ITED UNLIMITEDtransactions0271UNLIMITEDbranches0271UNLIMITEDcmtcallbk 1 271 UNLIMITEDmax rollback segments11 271 65535sort segment locks1 UNLIMITED UNLIMITEDRESOURCE_NAMEMAX_UTILIZATION INITIAL_ALLOCATIONLIMIT_VALUEk2q locks0 494 UNLIMITEDmax shared servers1 UNLIMITED UNLIMITEDparallel max servers0

48、10 360023 rows selected若 LIMIT_VALU-MAX_UTILIZATION select count(*) from v$session;select s.osuser os_user_name,decode(sign(48 - command),1,to_char(command),Action Code # | to_char(command) ) action,gram oracle_process,status session_status,s.terminal terminal,gram program,s.username user_

49、name,s.fixed_table_sequence activity_meter,query,0 memory,0 max_memory,0 cpu_usage,s.sid,s.serial# serial_num from v$session s, v$process p where s.paddr=p.addr and s.type = USERorder by s.username, s.osuser;SQL select sid,serial#,username,program,machine,status from v$session;其中: SID 会话(session) 的

50、ID 号;SERIAL# 会话的序列号,和 SID 一起用来唯一标识一个会话;USERNAME建 立该会话的用户名;PROGRAM这 个会话是用什么工具连接到数据库的;STATUS 当前这个会话的状态, ACTIVE表示会话正在执行某些任务, INACTIVE表示当前会 话没有执行任何操作;如果建立了过多的连接,会消耗数据库的资源,同时,对一些“挂死”的连接可能需要手 工进行清理。如果 DBA要手工断开某个会话,则执行: (一般不建议使用这种方式去杀掉数 据库的连接,这样有时候 session 不会断开。容易引起死连接。建议通过 sid 查到操作系 统的 spid, 使用 ps ef|grep

51、 spidno 的方式确认 spid 不是 ORACLE的后台进程。使用操 作系统的 kill -9 命令杀掉连接 )alter system kill session SID,SERIAL#;注意:上例中 SID 为 1 到 10(USERNAM列E为空 )的会话,是 Oracle 的后台进程,不要对这 些会话进行任何操作。检查系统磁盘空间oracleracdb1 racdb1$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VgMasterRoot-LogVolRoot9.5G 433M 8.6G 5% /tmpf

52、s 935M 315M 621M 34% /dev/shm /dev/mapper/VgMasterU01-LogVolU0120G 6.7G 12G 37% /u01/dev/sda1 9.5G 91M 9.0G 1% /boot /dev/mapper/VgMasterHome-LogVolHome9.5G 72M 9.0G 1% /home/dev/mapper/VgMasterTemp-LogVolTmp3.7G 7.7M 3.5G 1% /tmp/dev/mapper/VgMasterUsr-LogVolUsr9.5G 1.3G 7.8G 15% /usr/dev/mapper/Vg

53、MasterVar-LogVolVar9.5G 118M 8.9G 2% /var检查表空间使用情况SELECT df.file_id, df.file_name, df.size_mb, NVL (free.maxfree, 0) maxfree_mb,NVLROUND (NVL (free.free_mb, 0), 2) free_mb, 100 - ROUND( 100.0 * (free.free_mb, 0) / df.size_mb, 2) pct_used,ROUND (100.0 * NVL (free.free_mb, 0) / df.size_mb, 2) pct_free

54、FROM (SELECT file_id, file_name, tablespace_name, BYTES / 1048576 size_mb FROM dba_data_files) df,(SELECT file_id, SUM (BYTES) / 1048576 free_mb, TRUNC (MAX (BYTES / 1024 / 1024), 2) maxfreeFROM dba_free_space GROUP BY file_id) free WHERE df.file_id free.file_id(+) ORDER BY 7;TABLESPACE NAMETOTAL FR

55、EE % Free TOC o 1-5 h z SYSTEM68061SYSAUX530285USERS5360UNDOTBS1 90 70 7880SCOTTSPACE06SQL select A.tablespace_name,(1-(A.total)/B.total)*100 used_percentfrom(select tablespace_name,sum(bytes) totalfrom dba_free_spacegroup by tablespace_name) A,(select tablespace_name,sum(bytes) totalfrom dba_data_f

56、ilesgroup by tablespace_name) Bwhere A.tablespace_name=B.tablespace_name;TABLESPACE_NAMEUSED_PERCENTUSERS31.25SCOTTSPACE0620SELECT D.TABLESPACE_NAME,FILE_NAME FILE_NAME,SPACE SUM_SPACE(M),SPACE-NVL(FREE_SPACE,0) USED_SPACE(M),ROUND(1-NVL(FREE_SPACE,0)/SPACE)*100,2) USED_RATE(%),AUTOEXTENSIBLEFROM (S

57、ELECT FILE_ID,FILE_NAME,TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2)SPACE,SUM(BLOCKS) BLOCKSFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME,FILE_ID,FILE_NAME) D,(SELECT FILE_ID,TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) FREE_SPACEFROM DBA_FREE_SPACEGROUP BY TABLESPACE_NAME,FILE_ID) E,(SELECT FIL

58、E_ID,AUTOEXTENSIBLE FROM DBA_DATA_FILES) FWHERE D.TABLESPACE_NAME = E.TABLESPACE_NAME(+) AND D.FILE_ID = E.FILE_ID(+) AND D.FILE_ID = F.FILE_ID(+)UNION ALL -if have tempfileSELECT D.TABLESPACE_NAME,FILE_NAME FILE_NAME,SPACE SUM_SPACE(M), USED_SPACE USED_SPACE(M),ROUND(NVL(USED_SPACE,0)/SPACE*100,2)

59、USED_RATE(%),AUTOEXTENSIBLEFROM(SELECT FILE_ID,FILE_NAME,TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SE,SUM(BLOCKS) BLOCKSFROM DBA_TEMP_FILESGROUP BY TABLESPACE_NAME,FILE_ID,FILE_NAME) D,(SELECT FILE_ID,TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USEDE,ROUND(SUM(BYTES_FREE)/(1024*1024),

60、2) FREE_SPACEFROM V$TEMP_SPACE_HEADERGROUP BY TABLESPACE_NAME,FILE_ID) E,(SELECT FILE_ID,AUTOEXTENSIBLE FROM DBA_TEMP_FILES) FWHERE D.TABLESPACE_NAME = E.TABLESPACE_NAME(+) AND D.FILE_ID = E.FILE_ID(+D D.FILE_ID = F.FILE_ID(+)ORDER BY TABLESPACE NAME,FILE NAME;PACSPACAN如果空闲率 %Free 小于 10%以上(包含 10%),则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论