小女巫 发表于 2015-1-16 22:31:58

MSSQL编程:检察和监控数据库

MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。监控|数据|数据库
1.检察本用户下的各类工具的SQL剧本

SQL语句:

表:

  select*fromcat;

  select*fromtab;

  selecttable_namefromuser_tables;

视图:

  selecttextfromuser_viewswhereview_name=upper(&view_name);

索引:

  selectindex_name,table_owner,table_name,tablespace_name,statusfromuser_indexesorderbytable_name;

触发器:

  selecttrigger_name,trigger_type,table_owner,table_name,statusfromuser_triggers;

快照:

  selectowner,name,master,table_name,last_refresh,nextfromuser_snapshotsorderbyowner,next;

同义词:

  select*fromsyn;

序列:

  select*fromseq;

数据库链路:

  select*fromuser_db_links;

束缚限定:

  selectTABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUSfromuser_constraints;

本用户读取其他用户工具的权限:

  select*fromuser_tab_privs;

本用户所具有的体系权限:

  select*fromuser_sys_privs;

用户:

  select*fromall_usersorderbyuser_id;

表空间残剩自在空间情形:

  selecttablespace_name,sum(bytes)总字节数,max(bytes),count(*)fromdba_free_spacegroupbytablespace_name;

数据字典:

  selecttable_namefromdictorderbytable_name;

锁及资本信息:

  select*fromv$lock;不包含DDL锁

数据库字符集:

  selectname,value$fromprops$wherename=NLS_CHARACTERSET;

inin.ora参数:

  selectname,valuefromv$parameterorderbyname;

SQL共享池:

  selectsql_textfromv$sqlarea;

数据库:

  select*fromv$database

把持文件:

  select*fromV$controlfile;

重做日记文件信息:

  select*fromV$logfile;

来自把持文件中的日记文件信息:

  select*fromV$log;

来自把持文件中的数据文件信息:

  select*fromV$datafile;

NLS参数以后值:

  select*fromV$nls_parameters;

ORACLE版本信息:

  select*fromv$version;

形貌背景历程:

  select*fromv$bgprocess;

检察版本信息:

  select*fromproduct_component_version;

2.监控数据库

select检察数据库的版本fromdual;

SelectversionFROMProduct_component_versionWhereSUBSTR(PRODUCT,1,6)=Oracle;



select检察数据库库工具fromdual;

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



select检察数据库的创立日期和回档体例fromdual;

SelectCreated,Log_Mode,Log_ModeFromV$Database;



select检察把持文件fromdual;

selectnamefromv$controlfile;



select检察表空间的称号及巨细fromdual;

selectt.tablespace_name,round(sum(bytes/(1024*1024)),0)ts_sizefromdba_tablespacest,dba_data_filesdwheret.tablespace_name=d.tablespace_namegroupbyt.tablespace_name;



select检察表空间物理文件的称号及巨细fromdual;

selecttablespace_name,file_id,file_name,round(bytes/(1024*1024),0)total_spacefromdba_data_filesorderbytablespace_name;



select检察表空间的利用情形fromdual;

selectsum(bytes)/(1024*1024)asfree_space,tablespace_namefromdba_free_spacegroupbytablespace_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_NAMEANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;



select检察日记文件fromdual;

selectmemberfromv$logfile;



select检察回滚段称号及巨细fromdual;

selectsegment_name,tablespace_name,r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent,max_extents,v.curextCurExtentFromdba_rollback_segsr,v$rollstatvWherer.segment_id=v.usn(+)orderbysegment_name;


修复过程包含最多4个阶段,在下面描述。在你开始前,你应该cd到数据库目录和检查表文件的权限,确保他们可被运行mysqld的Unix用户读取(和你,因为你需要存取你正在检查的文件)。如果它拒绝你修改文件,他们也必须是可被你写入的。

透明 发表于 2015-1-19 16:12:29

以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了

海妖 发表于 2015-2-5 20:02:01

总感觉自己还是不会SQL

变相怪杰 发表于 2015-2-13 10:41:24

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。

第二个灵魂 发表于 2015-3-3 20:32:46

连做梦都在想页面结构是怎么样的,绝非虚言

再现理想 发表于 2015-3-11 13:30:32

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

兰色精灵 发表于 2015-3-18 20:59:05

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

爱飞 发表于 2015-3-26 17:11:51

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
页: [1]
查看完整版本: MSSQL编程:检察和监控数据库