仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1084|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL教程之怎样找出数据文件的HWM

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:37:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。数据
常常在resize数据文件的时分,resize的尺寸欠好把握,上面供应一个办法:



SQL>declare

2cursorc_dbfileis

3selecttablespace_name

4,file_name

5,file_id

6,bytes

7fromsys.dba_data_files

8wherestatus!=INVALID

9orderbytablespace_name,file_id;

10cursorc_space(v_file_idinnumber)is

11selectblock_id,blocks

12fromsys.dba_free_space

13wherefile_id=v_file_id

14orderbyblock_iddesc;

15blocksizebinary_integer;

16filesizebinary_integer;

17extsizebinary_integer;

18begin

19selectvalue

20intoblocksize

21fromv$parameter

22wherename=db_block_size;

23forc_rec1inc_dbfile

24loop

25filesize:=c_rec1.bytes;

26<<outer>>

27forc_rec2inc_space(c_rec1.file_id)

28loop

29extsize:=((c_rec2.block_id-1)*blocksize+c_rec2.blocks*blocksize);

30ifextsize=filesize

31then

32filesize:=(c_rec2.block_id-1)*blocksize;

33else

34exitouter;

35endif;

36endloopouter;

37iffilesize=c_rec1.bytes

38then

39dbms_output.put_line(Tablespace:

40||||c_rec1.tablespace_name||Datafile:||c_rec1.file_name);

41dbms_output.put_line(Cannotberesized,nofreespaceatendoffile.)

42;

43dbms_output.put_line(.);

44else

45iffilesize<2*blocksize

46then

47dbms_output.put_line(Tablespace:

48||||c_rec1.tablespace_name||Datafile:||c_rec1.file_name);

49dbms_output.put_line(Canberesizeduptil:||2*blocksize

50||Bytes,Actualsize:||c_rec1.bytes||Bytes);

51dbms_output.put_line(.);

52else

53dbms_output.put_line(Tablespace:

54||||c_rec1.tablespace_name||Datafile:||c_rec1.file_name);

55dbms_output.put_line(Canberesizeduptil:||filesize

56||Bytes,Actualsize:||c_rec1.bytes);

57dbms_output.put_line(.);

58endif;

59endif;

60endloop;

61end;

62/



Tablespace:DRSYSDatafile:/usr/oracle/data/oradata/cint208/drsys01.dbf

Canberesizeduptil:4333568Bytes,Actualsize:5242880

.

Tablespace:INDXDatafile:/usr/oracle/data/oradata/cint208/indx01.dbf

Canberesizeduptil:16384Bytes,Actualsize:5242880Bytes

.

Tablespace:RBSDatafile:/usr/oracle/data/oradata/cint208/rbs01.dbf

Canberesizeduptil:57155584Bytes,Actualsize:57671680

.

Tablespace:SYSTEMDatafile:/usr/oracle/data/oradata/cint208/system01.dbf

Canberesizeduptil:280182784Bytes,Actualsize:283115520

.

Tablespace:TEMPDatafile:/usr/oracle/data/oradata/cint208/temp01.dbf

Canberesizeduptil:16384Bytes,Actualsize:5242880Bytes

.

Tablespace:TESTSPACEDatafile:/usr/oracle/data/oradata/cint208/testspace1.dbf

Canberesizeduptil:16384Bytes,Actualsize:5242880Bytes

.

Tablespace:TOOLSDatafile:/usr/oracle/data/oradata/cint208/tools01.dbf

Canberesizeduptil:16384Bytes,Actualsize:5242880Bytes

.

Tablespace:USERSDatafile:/usr/oracle/data/oradata/cint208/users01.dbf

Canberesizeduptil:23076864Bytes,Actualsize:23592960

.



PL/SQLproceduresuccessfullycompleted.



SQL>

SQL>

SQL>


在JOIN操作中(需要从多个数据表提取数据时),MySQL只有在主键和外键的数据类型相同时才能使用索引。
柔情似水 该用户已被删除
沙发
发表于 2015-1-19 19:14:59 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
小魔女 该用户已被删除
板凳
发表于 2015-1-26 22:54:37 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
莫相离 该用户已被删除
地板
发表于 2015-2-4 22:18:18 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
兰色精灵 该用户已被删除
5#
发表于 2015-2-10 20:54:32 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-10 18:49:13 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
活着的死人 该用户已被删除
7#
发表于 2015-3-17 09:10:21 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
admin 该用户已被删除
8#
发表于 2015-3-24 05:16:02 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表