- 浏览: 218771 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
hl174:
写的不错,赞一个
在Java中字节与十六进制的相互转换主要思想有两点 -
l540151663:
也是个好方法
String为空判断
1:数据字典管理管理的表空间与本地管理的表空间
2:查询系统的所有表空间
SQL:
方法一:
select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name)
方法二:
SELECT Total.name "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name = Total.name
3:表空间可以按4种方式分类
一、按数据文件的类型,分为:
大文件表空间(bigfile tablespace)此为10g新增功能
小文件表空间(smallfile tablespace)此为创建时默认值
大文件表空间的优点有:
1、在一个表空间里只有一个大的数据文件,以后不需要再去管理数据文件;
2、一个大的数据文件相当于1024个小的数据文件,这样一来,在一个块大小为32K时,整个数据库可以达到(4g*32K)128TB,不过在实际环境中还是要受到操作系统的影响;
3、使用一个大的数据文件可以代替多个小数据文件,这样对数据文件的管理就少多了;
4、当打开数据库,发生检查点,执行DBWR进程时使用大文件表空间会增强性能。
大文件表空间的的需要注意有:
1、要使用在ORACLE的ASM(自动存储管理)的存储空间或者分散(striping)存储的LVM中,或者RAID阵列上;
2、不要把大文件表空间建立在不能分散(striping)存储的系统上;
3、不要把大文件表空间建立在没有空间(剩余空间少)的磁盘组上;
4、建立大文件表空间时不推荐建立在不能扩展的存储空间里;
5、大文件表空间只支持本地管理表空间(LMT)和本地段空间管理(ASSM);
6、在临时表空间与回滚段表空间,只能用手动段空间管理;
7、自动扩展数据文件必须是起用的,而且最大文件大小必须是不限制;
8、系统表空间和系统辅助(SYSAUX)表空间不能使用大文件表空间;
9、每个表空间只能包含一个数据文件。如果试图添加新的文件,则会报告 ora-32771 错误;
10、在 bft 上存储的表的 rowid 和 smallfile 表空间上的 rowid 结构有些不同的。要正确得到 rowid 信息,dbms_rowid 包增加了一个新的参数 ts_type_in 来解决这个问题。参考这个范例:
sql> select dbms_rowid.rowid_block_number (rowid, bigfile) 2 from foo;
dbms_rowid.rowid_block_number(rowid,bigfile)
----------------------------------------------
24
sql>
二、按管理方式,分为:
本地管理表空间(LMT)
数据字典管理表空间(DMT)
本地管理表空间:
一种比较先进的管理扩展(extent)的方式;
是用bitmap来管理表空间里的所有的extent;
当使用本地管理表空间时是使用6个块(从第三个到第八个)来标识整个表空间里的每一个扩展(extent);
其中的每一位(bit)来表示每个扩展的状态。1为已被分配,0为可被分配。
在本地管理表空间的方式里可以选择每个extent的大小是固定(Uniform)的或是自动的:在自动管理,系统一般是刚开始一个extent8个block,然后逐渐增加;固定大小为每个extent都是固定大小的,推荐使用。
字典管理表空间:这种方式是为了与之前版本兼容而提供的。不推荐使用。
10G里是不能创建字典管理表空间的,被强制推荐,只能倒入老版本中的字典管理表空间。
三、按使用类型,分为:
永久段表空间()
临时段表空间()
回滚段表空间()
永久表空间:
一般存储数据的表空间;
系统表空间,普通用户使用的表空间都为永久表空间;
永久表空间的状态有三种:读写,只读,脱机;
只有在永久表空间,才能配置ASSM管理模式;
可以设置记录日志模式。建立选yes,以便数据库出问题后进行恢复;
以设置为系统默认表空间。这样,创建用户时,没有指定默认表空间,就自动设置为系统默认表空间;
设置默认表空间的命令:
ALTER DATABASE DEFAULT TABLESPACE <TABLESPACE_NAME>;
临时表空间:
一般用来排序和创建索引时使用;
临时表空间里不存放实际的数据,所以,即使出了问题,也不需要恢复,而且,也不需要备份,因此也不需要记录日志;
临时表空间只能使是读写模式,而且只能为手动管理段空间模式;
可以设置为系统默认临时表空间。这样,创建用户时,没有指定默认临时表空间,就自动设置为系统默认临时表空间,命令如下:
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE <TABLESPACE_NAME>;
回滚段表空间:
用来存放修改中数据的原数据;
回滚段表空间是用来保证数据读一致性的;
四、在永久表空间中按存储内容方式,分为:
系统表空间(SYSTEM TABLESPACE)
系统辅助表空间(SYSAUX TABLESPACE)
非系统表空间
-----------------------------------------------------------------------------------
space quota exceeded for tablespace(表空间不足) .
2009-02-27 14:50 562人阅读 评论(0) 收藏 举报
space quota exceeded for tablespace(表空间不足):解决之道
方法一(测试成功):SQL> alter user "用户"quota unlimited on "表空间名";
User altered.
方法二:SQL> alter user "用户" default tablespace "表空间名";
2 quota 0 on system
3 quota 500M on testtablespace
4 /
User altered.
方法三:SQL> GRANT UNLIMITED TABLESPACE TO test;
Grant succeeded.
Oracle 查看表空间
查看各表空间的使用率
select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-freespace/totalspace)*100,2) "使用率%" from (select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df, (select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs where df.tablespace_name=fs.tablespace_name;
查看回滚段命中率情况
select rn.name,rs.gets "被访问次数",rs.waits "等待回退段块的次数",(rs.waits/rs.gets)*100 "命中率" from v$rollstat rs,v$rollname rn;
查看当前用户每个表占用空间的大小:
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name order by Sum(bytes);
查看每个表空间占用空间的大小:
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name;
2:查询系统的所有表空间
SQL:
方法一:
select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name)
方法二:
SELECT Total.name "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name = Total.name
3:表空间可以按4种方式分类
一、按数据文件的类型,分为:
大文件表空间(bigfile tablespace)此为10g新增功能
小文件表空间(smallfile tablespace)此为创建时默认值
大文件表空间的优点有:
1、在一个表空间里只有一个大的数据文件,以后不需要再去管理数据文件;
2、一个大的数据文件相当于1024个小的数据文件,这样一来,在一个块大小为32K时,整个数据库可以达到(4g*32K)128TB,不过在实际环境中还是要受到操作系统的影响;
3、使用一个大的数据文件可以代替多个小数据文件,这样对数据文件的管理就少多了;
4、当打开数据库,发生检查点,执行DBWR进程时使用大文件表空间会增强性能。
大文件表空间的的需要注意有:
1、要使用在ORACLE的ASM(自动存储管理)的存储空间或者分散(striping)存储的LVM中,或者RAID阵列上;
2、不要把大文件表空间建立在不能分散(striping)存储的系统上;
3、不要把大文件表空间建立在没有空间(剩余空间少)的磁盘组上;
4、建立大文件表空间时不推荐建立在不能扩展的存储空间里;
5、大文件表空间只支持本地管理表空间(LMT)和本地段空间管理(ASSM);
6、在临时表空间与回滚段表空间,只能用手动段空间管理;
7、自动扩展数据文件必须是起用的,而且最大文件大小必须是不限制;
8、系统表空间和系统辅助(SYSAUX)表空间不能使用大文件表空间;
9、每个表空间只能包含一个数据文件。如果试图添加新的文件,则会报告 ora-32771 错误;
10、在 bft 上存储的表的 rowid 和 smallfile 表空间上的 rowid 结构有些不同的。要正确得到 rowid 信息,dbms_rowid 包增加了一个新的参数 ts_type_in 来解决这个问题。参考这个范例:
sql> select dbms_rowid.rowid_block_number (rowid, bigfile) 2 from foo;
dbms_rowid.rowid_block_number(rowid,bigfile)
----------------------------------------------
24
sql>
二、按管理方式,分为:
本地管理表空间(LMT)
数据字典管理表空间(DMT)
本地管理表空间:
一种比较先进的管理扩展(extent)的方式;
是用bitmap来管理表空间里的所有的extent;
当使用本地管理表空间时是使用6个块(从第三个到第八个)来标识整个表空间里的每一个扩展(extent);
其中的每一位(bit)来表示每个扩展的状态。1为已被分配,0为可被分配。
在本地管理表空间的方式里可以选择每个extent的大小是固定(Uniform)的或是自动的:在自动管理,系统一般是刚开始一个extent8个block,然后逐渐增加;固定大小为每个extent都是固定大小的,推荐使用。
字典管理表空间:这种方式是为了与之前版本兼容而提供的。不推荐使用。
10G里是不能创建字典管理表空间的,被强制推荐,只能倒入老版本中的字典管理表空间。
三、按使用类型,分为:
永久段表空间()
临时段表空间()
回滚段表空间()
永久表空间:
一般存储数据的表空间;
系统表空间,普通用户使用的表空间都为永久表空间;
永久表空间的状态有三种:读写,只读,脱机;
只有在永久表空间,才能配置ASSM管理模式;
可以设置记录日志模式。建立选yes,以便数据库出问题后进行恢复;
以设置为系统默认表空间。这样,创建用户时,没有指定默认表空间,就自动设置为系统默认表空间;
设置默认表空间的命令:
ALTER DATABASE DEFAULT TABLESPACE <TABLESPACE_NAME>;
临时表空间:
一般用来排序和创建索引时使用;
临时表空间里不存放实际的数据,所以,即使出了问题,也不需要恢复,而且,也不需要备份,因此也不需要记录日志;
临时表空间只能使是读写模式,而且只能为手动管理段空间模式;
可以设置为系统默认临时表空间。这样,创建用户时,没有指定默认临时表空间,就自动设置为系统默认临时表空间,命令如下:
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE <TABLESPACE_NAME>;
回滚段表空间:
用来存放修改中数据的原数据;
回滚段表空间是用来保证数据读一致性的;
四、在永久表空间中按存储内容方式,分为:
系统表空间(SYSTEM TABLESPACE)
系统辅助表空间(SYSAUX TABLESPACE)
非系统表空间
-----------------------------------------------------------------------------------
space quota exceeded for tablespace(表空间不足) .
2009-02-27 14:50 562人阅读 评论(0) 收藏 举报
space quota exceeded for tablespace(表空间不足):解决之道
方法一(测试成功):SQL> alter user "用户"quota unlimited on "表空间名";
User altered.
方法二:SQL> alter user "用户" default tablespace "表空间名";
2 quota 0 on system
3 quota 500M on testtablespace
4 /
User altered.
方法三:SQL> GRANT UNLIMITED TABLESPACE TO test;
Grant succeeded.
Oracle 查看表空间
查看各表空间的使用率
select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-freespace/totalspace)*100,2) "使用率%" from (select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df, (select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs where df.tablespace_name=fs.tablespace_name;
查看回滚段命中率情况
select rn.name,rs.gets "被访问次数",rs.waits "等待回退段块的次数",(rs.waits/rs.gets)*100 "命中率" from v$rollstat rs,v$rollname rn;
查看当前用户每个表占用空间的大小:
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name order by Sum(bytes);
查看每个表空间占用空间的大小:
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name;
发表评论
-
Access denied for user 'root'@'localhost' (using password:YES)
2018-11-07 14:26 551这两天在MyEclipse中开发Web项目时,连接MYSQL数 ... -
PowerDesigner导入sql脚本生成物理模型
2017-12-05 11:17 763(1)首先从sqlserver中生成脚本 (2)打开Power ... -
mysql 2006
2017-10-12 11:30 495当查询的结果集超过 max_allowed_packet 也会 ... -
修改myslq自动增长的ID数值
2017-10-10 10:30 416ALTER TABLE basic_object AUTO_ ... -
mysql 创建用户付权限及导出
2017-03-25 22:34 5511:创建用户,付权限 C:\soft\mysql\MySQL ... -
mysql 修改data的位置目录
2017-03-21 09:52 406具体操作: 一、停止MySQL 开始-cmd ne ... -
sql效率问题
2017-03-07 14:14 4551.关于SQL查询效率,100w数据,查询只要1秒,与您分享: ... -
mysql 创建用户付权限
2016-12-13 17:07 543连接数据库 mysql -u root -p 回车 ro ... -
mysql 触发器
2016-11-28 22:32 414直接在navicat.exe中设计表中的,触发器中添加 1: ... -
CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause问题
2016-11-24 11:44 394修改的最简单的办法,都把timestamp 设置为 可以为nu ... -
mysql 同行求最大最小值
2016-11-13 20:43 549SELECT GREATEST(3,5,1,8,33,99,3 ... -
redis总结一
2016-11-05 16:30 432http://edu.51cto.com/lesson/id- ... -
mysql合理配置连接池数量
2016-10-28 17:40 1132http://www.th7.cn/db/mysql/2015 ... -
mysql 存储过程例子
2016-10-28 16:11 512BEGIN DECLARE ishave int DEFAU ... -
mysql用命令备份数据库
2016-08-08 22:33 5761:导出数据库,主要用管理员身份运行cmd c:\Progra ... -
mysql 日期函数
2016-06-30 16:05 3851:查询年月日 select year(now()); sel ... -
mongodb总结1
2016-06-19 11:39 5691:登陆进入bin目录下( ... -
mysql保留2位小数查询
2016-06-15 18:54 1480SELECT T1. NAME, ... -
in8 win10 安装msi 提示2502、2503的错误代码
2016-05-02 17:09 660版权声明:本文为博主原创文章,未经博主允许不得转载。 ... -
mysql总结1
2016-04-24 21:41 4471:连接数据库 mysql -u root -p 回车 ...
相关推荐
数据库备份恢复时,获取oracle表空间脚本,创建用户等
Oracle表空间Oracle表空间Oracle表空间Oracle表空间Oracle表空间
oracle表空间创建
oracle表空间信息,查看Oracle表空间空闲与已用大小
Oracle 表空间建立方法
oracle表空间不足报错的解决 。。。。。。。。。。。。。。。。。。。。。。
表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象:永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空间分类:系统表空间(system、sysaux),...
ORACLE 对表空间进行的详细操作,经典!
oracle表空间命令语句大全,关于表空间的讲解及关于表空间操作命令的语句。
linux系统下创建oracle表空间和用户权限查询,安装Oracle系统时可以用到。
利用DBMS_SPACE包对Oracle 表碎片进行监控与清理,
oracle表空间学习整理,包括常用sql
oracle表空间更改后,出现的索引问题,完美解决
一、查看Oracle数据库中表空间信息的方法 1、查看Oracle数据库中表空间信息的工具方法 2、查看Oracle数据库中表空间信息的命令方法 二、查询Oracle数据库中数据文件信息的方法 1、查看Oracle数据库中数据文件信息的...
详细介绍如何正常删除Oracle 数据库表空间数据文件,OFFLINE和OFFLINE DROP的区别,OS级别删除了数据文件后的恢复,删除数据库表空间数据文件演示示例
Zabbix 3.4.8 通过Discovery批量监控Oracle表空间,模板文件
六分钟学会创建Oracle表空间的步骤[转]
直接划一个xxG的裸设备就行 然后执行alter tablespace xxx add datfile '***' size 30000M autoextend off; 建裸设备时,裸设备的大小要大于文件的大小,下面以是建设备system01的命令:
oracle表空间详解
描述了Oracle数据下如何对一个比较大的表空间进行收储。