数据库运维说明书.docx
- 文档编号:4832687
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:18
- 大小:19.80KB
数据库运维说明书.docx
《数据库运维说明书.docx》由会员分享,可在线阅读,更多相关《数据库运维说明书.docx(18页珍藏版)》请在冰豆网上搜索。
数据库运维说明书
数据库运维说明书
一、数据库
1、数据库名称
selectnamefromv$database;
2、数据库唯一名称
selectdb_unique_namefromv$database;
3、数据库ID
selectdbidfromv$database;
4、数据库创建时间
selectto_char(created,'yyyy/mm/ddhh24:
mi:
ss')fromv$database;
5、日志归档模式
selectlog_modefromv$database;
6、打开模式
selectopen_modefromv$database;
7、数据库角色
selectdatabase_rolefromv$database;
8、服务器参数文件
selectvaluefromv$parameterwherename='spfile';
9、控制文件列表
selectvaluefromv$parameter2wherename='control_files';
10、检查监听状态
cmd
lsnrctlstatus
二、表空间
1、检查表空间的使用情况
selecta.tablespace_name"表空名",
round(total,2)表空间大小,
round(free,2)表空间剩余大小,
round(total-free,2)表空间使用大小,
round((total-free)/total,4)*100"使用率%"
from(selecttablespace_name,sum(bytes)/power(1024,3)free
fromdba_free_space
groupbytablespace_name)a,
(selecttablespace_name,sum(bytes)/power(1024,3)total
fromdba_data_files
groupbytablespace_name)b
wherea.tablespace_name=b.tablespace_name;
2、表空间列表
selectnamefromv$tablespace;
3、数据文件列表
selectnamefromv$datafile;
4、临时文件列表
selectnamefromv$tempfile;
5、日志组列表
selectgroup#,bytes/1024/1024||'M'fromv$log;
6、检查数据文件的自动增长是否关闭
selectfile_name,autoextensiblefromdba_data_fileswhereautoextensible='SYS';
7、检查是否有用户的缺省表空间和临时表空间设置为SYSTEM表空间
selectusername,default_tablespace,temporary_tablespacefromdba_users;
三、用户与模式对象
1、查看oracle的权限角色:
Select*Fromdba_role_privs;--授予用户和其他角色的角色
Select*Fromdba_sys_privs;--授予用户和其他角色的系统权限
Select*Fromdba_tab_privs;--数据库中对象的所有授权
Select*Fromuser_role_privs;--查看当前用户的角色
2、数据库用户列表
selectusernamefromdba_usersorderbycreated;
3、模式对象数量列表
descdba_objects
selectowner,object_type,count(*)
fromdba_objects
groupbyowner,object_type
orderbyowner,object_type;
4、计算每个用户占用的磁盘空间
selectowner,sum(bytes)/1024/1024/1024"space(g)"
fromdba_segments
groupbyowner
orderbyowner;
四、实例与会话
1、检查数据库状态
selectstatusfromv$instance;
2、主机名称
selecthost_namefromv$instance;
3、实例名称
selectinstance_namefromv$instance
4、服务名称
selectvaluefromv$parameterwherename='service_names';
5、数据库软件版本
selectversionfromv$instance;
6、实例启动时间
selectto_char(startup_time,'yyyy/mm/ddhh24:
mi:
ss')fromv$instance;
7、当前会话列表
selectsid,serial#,usernamefromv$session;
8、检查SGA的使用情况
select*fromv$sgastat;
selectpool,count(pool),sum(bytes)/1024/1024fromv$sgastatgroupbypool;
9、检查回滚段使用情况
selectn.name,wraps,extends,shrinks,optsize,waits,xacts,aveactive,hwmsizefromv$rollstatr,v$rollnamenwherer.usn=n.usn;
五、系统参数
1、最大进程数
selectvaluefromv$parameterwherename='processes';
2、修改Oracle最大进程数
a、以sysdba身份登陆PL/SQL或者Worksheet
b、查询目前连接数
c、更改系统连接数
altersystemsetprocesses=1000scope=spfile;
d、创建pfile
createpfilefromspfile;
e、重启Oracle服务或重启Oracle服务器
3、最大会话数
selectvaluefromv$parameterwherename='sessions';
4、数据块大小
selectvaluefromv$parameterwherename='db_block_size';
5、游标共享模式
selectvaluefromv$parameterwherename='cursor_sharing';
6、多块读批量
selectvaluefromv$parameterwherename='db_file_multiblock_read_count';
7、回滚段表空间
selectvaluefromv$parameterwherename='undo_tablespace';
8、回滚段保留时间
selectvaluefromv$parameterwherename='undo_retention';
9、回滚段管理模式
selectvaluefromv$parameterwherename='undo_management';
10、系统全局区目标大小
selectvalue/1024/1024||'M'fromv$parameterwherename='sga_target';
11、系统全局区最大值
selectvalue/1024/1024||'M'fromv$parameterwherename='sga_max_size';
12、程序全局区目标和
selectvalue/1024/1024||'M'fromv$parameterwherename='pga_aggregate_target';
13、时间统计
selectvaluefromv$parameterwherename='timed_statistics';
14、初始化参数文件
selectvaluefromv$parameterwherename='spfile';
15、数据库名称
selectvaluefromv$parameterwherename='db_name';
16、数据库唯一名称
selectvaluefromv$parameterwherename='db_unique_name';
17、实例名称
selectvaluefromv$parameterwherename='instance_name';
18、服务名称
selectvaluefromv$parameterwherename='service_names';
六、当前用户概况
1、段的总数量
selectcount(*)--段的总数量
fromuser_segments;
2、各类型段的数量
--查看各种类型的段的数量
selectsegment_type,--段的类型
count(*)--该类型的段的数量
fromuser_segments
groupbysegment_type
orderbysegment_type;
3、用户存储空间消耗
--计算整个用户占用的存储空间
selectuser,--数据库用户名
round(sum(bytes/1024/1024/1024),2)asspace_GB--占用存储空间大小
fromuser_segments;
4、前20个大段
--列出占用存储空间最多的前20个段
selectsegment_name,--段的名称
segment_type,--段的类型
tablespace_name,--所在表空间
bytes,--段的大小
round(bytes/1024/1024/1024,3)asspace_gb
from(selectsegment_name,
segment_type,
tablespace_name,
bytes,
blocks,
extents
fromuser_segments
orderbybytesdesc)
whererownum<=10;
5、计算每个表用的磁盘空间
selectsegment_name,sum(bytes)/1024/1024"space(mb)"
fromdba_segments
wheresegment_name=upper('你要查找的表的名字')
groupbysegment_name;
6、表的基本信息
--查看表的基本信息
selecttable_name,--表的名称
tablespace_name,--表空间的名称
num_rows,--记录数
avg_row_len,--行的平均长度
last_analyzed,--统计信息收集时间
sample_size--统计信息收集样本
fromuser_tables
wheretable_name='POSTPAY_BILLED_REVENUE';
7、字段的基本信息
--查看字段的基本信息
selecttable_name,--表的名称
column_id,--字段的顺序
column_name,--字段的名称
data_type,--数据类型
data_length,--字段长度
nullable,--是否允许空值
num_distinct,--不同值的个数
num_nulls--空值记录数
fromuser_tab_columns
wheretable_name='POSTPAY_BILLED_REVENUE'
orderbycolumn_id;
8、表的备注
--查看表的备注
selecttable_name,--名称
table_type,--类型
comments--备注
fromuser_tab_comments
wheretable_name='POSTPAY_BILLED_REVENUE';
9、字段的备注
--查看字段的备注
selecttable_name,--表的名称
column_name,--字段的名称
comments--备注
fromuser_col_comments
wheretable_name='POSTPAY_BILLED_REVENUE';
10、表的约束
--查看表的约束
selectowner,
constraint_name,--约束的名称
constraint_type,--约束的类型
table_name--归属表的名称
fromuser_constraints
wheretable_name='POSTPAY_BILLED_REVENUE'
andconstraint_type='P';
11、字段的约束
--查看约束的字段
selectowner,
constraint_name,--约束的名称
table_name,--归属表的名称
column_name,--字段的名称
position--字段的顺序
fromuser_cons_columns
whereconstraint_name='POSTPAY_BILLED_REVENUE_PK'
orderbyposition;
12、索引的字段
--查看索引的字段
selecttable_name,--表名称
index_name,--字段名称
column_position,--字段顺序
column_name--字段名称
fromuser_ind_columns
wheretable_name='POSTPAY_BILLED_REVENUE'
orderbyindex_name,column_position;
13、检查是否有失效的索引
Select*FromUser_IndexestWheret.Status!
='VALID';
14、对象总数量
--查看对象的数量
selectcount(*)
fromuser_objects;
15、对象分类数量
--查看各种类型对象的数量
selectobject_type,--对象的类型
count(*)--对象的数量
fromuser_objects
groupbyobject_type
orderbyobject_type;
16、数据库链接列表
select*fromuser_db_links;
17、大对象列表
select*fromuser_lobs;
18、物化视图列表
select*fromuser_mviews;
19、视图列表
select*fromuser_views;
20、视图长度
--查看视图定义的长度
selectowner,view_name,text_lengthfromdba_viewswhereview_name='&view_name';
21、视图定义
--从数据字典视图中直接查询视图的定义
selecttextfromdba_viewswhereview_name='&view_name';
22、视图定义
--通过应用程序编程接口获取视图的定义
selectdbms_metadata.get_ddl('VIEW','&view_name','CAMPAIGN')fromdual;
23、检查是否有无效的对象
colobject_nameformata25;
selectobject_name,object_type,owner,statusfromdba_objectswherestatus!
='VALID'andownernotin('SYS','SYSTEM')
selectowner,object_name,object_typefromdba_objectswherestatus='INVALID';
24、检查sequence使用
setlinesize120
selectsequence_owner,sequence_name,min_value,max_value,increment_by,last_number,cache_size,cycle_flagfromdba_sequences;
25、检查是否有运行失败的job
colwhatformata20;
selectjob,this_date,this_sec,next_date,next_sec,failures,whatfromdba_jobswherefailures!
=0orfailuresisnotnull;
26、检查不起作用的约束
selectowner,constraint_name,table_name,constraint_type,statusfromdba_constraintswherestatus='DISABLED'andconstraint_type='p';
27、检查无效的trigger
selectowner,trigger_name,table_name,statusfromdba_triggerswherestatus='DISABLED';
五、SQL
1、查找死锁的语句
Selectl.session_idsid,
s.serial#,
l.locked_mode,
l.oracle_username,
l.os_user_name,
s.machine,
s.terminal,
o.object_name,
s.logon_time
Fromv$locked_objectl,all_objectso,v$sessions
Wherel.object_id=o.object_id
Andl.session_id=s.sid
OrderBysid,s.serial#;
2、查看已经执行过的sql这些是存在共享池中的:
Select*Fromv$sqlareatOrderByt.LAST_ACTIVE_TIMEDesc;
3、获取SQL消耗资源
SelectDistinctsl.target,
s.sql_text,
sp.options,
sp.cost,
sp.cpu_cost,
sp.io_cost
Fromv$session_longopssl,v$sqls,v$sql_plansp
Wheresl.SQL_ADDRESS=s.ADDRESS
Andsp.address=s.address
AndCostIsNotNull
AndoptionsIsNotNull
以上sql通过关联v$sql,v$session_longops(这个视图存放超过6秒的sql,尤其是存在大量的数据分散读等待事件时)得到相关信息。
target:
对象名
sql_text:
sql语句
options:
执行情况
cost:
总的成本
cpu_cost:
cpu使用情况
io_cost:
磁盘io读写情况
4、查看值得怀疑的SQL
SelectSubstr(to_char(s.pct,'99.00'),2)||'%'Load,
s.executionsexecutes,
p.sql_text
From(Selectaddress,
disk_reads,
executions,
pct,
Rank()Over(OrderBydisk_readsDesc)ranking
From(Selectaddress,
disk_reads,
executions,
100*ratio_to_report(disk_reads)Over()pct
Fromsys.v_$sql
Wherecommand_type!
=47)
Wheredisk_reads>50*executions)s,
sys.v_$sqltextp
Wheres.ranking<=5
Andp.address=s.address
OrderBy1,s.address,p.piece;
5、查看消耗内存多的SQL
Selectb.username,
a.buffer_gets,
a.executions,
a.disk_reads/Decode(a.executions,0,1,a.executions),
a.sql_textSQL
Fromv$sqlareaa,dba_usersb
Wherea.parsing_user_id=b.user_id
Anda.disk_reads>10000
OrderBydisk_readsDesc;
6、查看逻辑读多的SQL
Select*
From(Selectbuffer_gets,sql_text
Fromv$sqlarea
Wherebuffer_gets>500000
OrderBybuffer_getsDesc)
WhereRownum<=30;
7、查看执行次数多的SQL
Selectsql_text,executions
From(Sele
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 说明书