表空间
建立表空间(一般建n个存数据的表空间和一个索引空间):
create
tablespace
表空间名
datafile
'
路径(要先建好路径)\dbf
'
size
m
tempfile
'
路径\dbf
'
size
m
autoextend
on
--自动增长
--还有一些定义大小的命令,看需要
default
storage(
initial
100k,
next
100k,
);
oracle 数据库里查看表空间使用状况;
oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了。查看方法如下SQL:
方法一:
select dbftablespace_name,
dbftotalspace "总量(M)",
dbftotalblocks as 总块数,
dfsfreespace "剩余总量(M)",
dfsfreeblocks "剩余块数",
(dfsfreespace / dbftotalspace) 100 "空闲比例"
from (select ttablespace_name,
sum(tbytes) / 1024 / 1024 totalspace,
sum(tblocks) totalblocks
from dba_data_files t
group by ttablespace_name) dbf,
(select tttablespace_name,
sum(ttbytes) / 1024 / 1024 freespace,
sum(ttblocks) freeblocks
from dba_free_space tt
group by tttablespace_name) dfs
where trim(dbftablespace_name) = trim(dfstablespace_name)
方法二:
SELECT Totalname "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sysdba_free_space
group by tablespace_name
) Free,
(select bname, sum(bytes/1024/1024) TOTAL_SPACE
from sysv_$datafile a, sysv_$tablespace B
where ats# = bts#
group by bname
) Total
WHERE FreeTablespace_name = Totalname
当发现有的表空间不够的错误时,处理如下:
1:找出该表空间对应的数据文件及路径
select from dba_data_files t
where ttablespace_name = 'ARD'
2:增大数据文件
alter database datafile '全路径的数据文件名称' resize M
3:增加数据文件
alter tablespace 表空间名称
add datafile '全路径的数据文件名称' M
注解:表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2G
1查看Oracle数据库中表空间信息的工具方法: 使用oracle enterprise manager console工具,这是oracle的客户端工具,当安装oracle服务器或客户端时会自动安装此工具,在
2查看Oracle数据库中表空间信息的命令方法: 通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,首先使用客户端工具连接到数据库,这些工具可以是SQL
1、查看Oracle数据库中数据文件信息的工具方法:使用上面介绍过的方法登录oracle enterprise manager console工具,选择‘存储’ 数据文件,会看到如下的界面,该界面显示了数据文件名称,表空间名称,以兆为单位的数据文件大小,已使用的数据文件大小及数据文件利用率。
在oracle中,表空间是存储概念上的,建立表空间需要有对应的数据文件,数据文件建立好之后直接会把一定的磁盘空间分配给它,这样可以对数据库的存储空间进行有效的管理。然后在建表的时候指定对应的表空间,该表的数据就会都存在表空间对应的数据文件上,和Mysql那种每个表一个文件的方式比起来,存储的可控性更强。
oracle和mysql不同,不存在mysql中那种数据库的概念,而是实例的概念,当然,也可以在实例里建立不同的user来区分,每个user对应的表都是相对独立的,比如两个user下可以分别建同名的表,但又可以通过授权来交互使用。
建数据库是在安装oracle之后执行dbca建立实例。
建表空间语句是 CREATE TABLESPACE TBS_DEFAULT DATAFILE
'/app/oradata/sys_tbs/tbs_defaultdbf' size 500M
LOGGING
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
/
这里主要是需要指定对应的datafile。
建表基本都一样,例如
create table (col_1 number(8),col_2 char(2),col_3 date)
tablespace tbs_default
/
数据库就不要删除了,这方面你看下关于user *** 作的语句就可以了。
drop tablespace tbs_name including contents and datafiles;--删除表空间及数据文件
drop table tab_name purge; -- 删除表。
在日常工作中oracle数据库的日志空间不足只能进行清理空间 *** 作。
1、扩大表空间现有数据文件的大小。
2、oracle用户登录数据库服务器,用sysdba连接数据库sqlplus,assysdba即可。
有以下处理方法:
方法1:修改数据文件的扩展性
alter database datafile '文件路径' autoextend on next 100m maxsize 4000M;方法2:给表空间增加新的数据文件
alter tablespace 表空间名 add datafile '数据文件路径‘ size 1000m autoextend on next 100m maxsize 4000M;1、首先需要找到oracle安装目录,打开控制台管理。
2、进入控制台界面,输入用户名和密码进行登录验证。
3、登录成功,进入主界面,点击菜单栏处服务器。
4、此时在存储栏,找到表空间选项,点击打开。
5、在搜索栏输入表空间名称,进行搜索。
6、此时在下方结果栏,可以看到表空间状态。
以上就是关于oracle 数据库 表空间全部的内容,包括:oracle 数据库 表空间、如何查看oracle数据库中的表空间、oracle数据库如何查看表空间大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)