Oracle 表空间查询与操作方法
from dba_free_space
from dba_data_files
3.查看区大小与块大小#区大小 conn y / 123 create table t(i number) tablespace test; Insert into t values(10) select bytes/1024 from user_segments where segment_name=upper('t');
1.使表空间脱机
CREATE UNDO TABLESPACE UNDOTBS02
一、建立表空间
(0.)查看状态
select default_tablespace,temporary_tablespace from dba_users
DATAFILE 'c:/oracle/oradata/db/test_undo.dbf' SIZE 50M
2.使表空间联机
select segment_name,bytes from dba_segments where segment_name = 'RE_STDEVT_FACT_DAY' and owner = USER
tempfile 'E:\ORACLE\PROD T\10.1.0\ORADATA\ORCL\scgl_temp.dbf'
删除用户命令
ADD DATAFILE '/oracle/oradata/db/test02.dbf' SIZE 1000M;
UNDO表空间的EXTENT是由本地管理的,而且在创建时的SQL语句中只能使用DATAFILE和EXTENT MANAGEMENT子句。
二、建立UNDO表空间
2. AND DATAFILES 子句用来删除数据文件
ORDER BY 1
FROM (SELECT TABLESPACE_NAME,
5.查询当前用户默认表空间的使用情况
DROP TABLESPACE data01 INCL ING CONTENTS AND DATAFILES;
ALTER TABLESPACE game READ WRITE;
首先查看表空间的名字和所属文件
SQL> alter system set sga_max_size=400M scope=spfile; SQL> shutdown immediate; SQL> startup SQL> alter system set db_2k_cache_size=10M; System altered.
SELECT b.file_id as id,b.tablespace_name as tablespacename,b.bytes as totalContent,(b.bytes-sum(nvl(a.bytes,0))) as usecontent,sum(nvl(a.bytes,0)) as sparecontent,sum(nvl(a.bytes,0))/(b.bytes)*100 as sparepercent
//给用户授予权限
--查询表空间的free space
6.建立undo表空间create undo tablespace undotbs01 datafile '/u01/undotbs01.dbf' size 5M;
D.TOT_GROOTTE_MB "表空间大小(M)",
sum(blocks) as blocks
查看系统当前默认的临时表空间
from dba_data_files
3.使数据文件脱机
11.表空间和数据文件常用的数据字典与动态性能视图v$dbfile v$datafile dba_segments user_segments dba_data_files v$tablespace dba_tablespaces user_tablespaces
size 50m
select * from dba_properties where property_name like 'DEFAULT%'
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
3.alter database datafile '/u01/test.dbf' autoextend on next 10M maxsize 1G;
#块大小 Show parameter block(默认64K)
SQL>select tablespace_name,file_name from dba_data_files where file_name='/u01/test.dbf';
sum(nvl(a.bytes,0)) 剩余,
extent management local;
4.删除表空间drop tablespace test including contents and datafiles
四、改变表空间状态
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
CREATE TABLESPACE test
round(bytes/(1024*1024),0) total_space
DATAFILE 'c:/oracle/oradata/db/test01.dbf' SIZE 50M
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
6.使表空间可读写
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
GROUP BY DD.TABLESPACE_NAME) D
from dba_data_files
然后再
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
DROP TABLESPACE data01 INCL ING CONTENTS AND DATAFILES;
count(*) as extends,
DROP TABLESPACE test INCL ING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
==================================================================================
select a.tablespace_name,a.bytes total,b.bytes used,c.bytes free,(b.bytes*100)/a.bytes "% used",(c.bytes*100)/a.bytes "% free" from sys.sm$ts_avail a,sys.sm$ts_used b,sys.sm$ts_free c where a.tablespace_name=b.tablespace_name and a.tablespace_name=c.tablespace_name;
create user scgl identified by qwer1234
b.bytes 总字节数,
查询表空间使用情况
2.查询oracle系统用户的默认表空间和临时表空间
group by tablespace_name;
AUTOEXTEND ON NEXT 100M
where a.file_id=b.file_id
5.使表空间只读
from dba_free_space
select * from user_tables
二、建立UNDO表空间
UNIFORM SIZE 1M; #指定区尺寸为128k,如不指定,区尺寸默认为64k
ALTER DATABASE DATAFILE 3 ONLINE;
(select tablespace_name, sum(bytes) / 1024 / 1024 as MB
ALTER TABLESPACE test ONLINE;
查询表空间的free space
autoextend on
#数据文件状态 select name,block_size,status from v$datafile;
(b.bytes-sum(nvl(a.bytes,0))) 已使用,
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:
#表空间的数据文件 select file_name,tablespace_name from dba_data_files;
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE 撤权:
2.alter database datafile '/u01/test.dbf' resize 20M;
select tablespace_name, file_id, file_name,
select tablespacename,sum(totalContent),sum(usecontent),sum(sparecontent),avg(sparepercent)
autoextend on
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
MAXSIZE 10000M;
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
10.移动表空间的数据文件
next 50m maxsize 20480m
//创建用户并指定表空间
from dba_data_files
在CMD中打sqlplus /nolog
group by tablespace_name) free,
建立表空间
2.使表空间联机
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
next 50m maxsize 20480m
1. INCL ING CONTENTS 子句用来删除段
DROP TABLESPACE 表空间名 [INCL ING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]
select tablespace_name, file_id, file_name,
一。查询篇
b.file_name 物理文件名,
#大文件表空间 create bigfile tablespace big_tbs datafile '/u01/big_tbs.dbf ' size 100G
tempfile 'E:\ORACLE\PROD T\10.1.0\ORADATA\ORCL\user_temp.dbf'
group by tablespace_name;
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
FROM (SELECT TABLESPACE_NAME,
SQL>alter tablespace test offline; SQL>host move /u01/test.dbf /u01/oracle/test.dbf; SQL>alter tablespace test rename datafile '/u01/test.dbf' to '/u01/oracle/test.dbf'; SQL>alter tablespace test offline;
ALTER TABLESPACE test OFFLINE;
五、删除表空间
count(*) as extends,
1.建立表空间:create tablespace test datafile '/u01/test.dbf' size 10M uniform size 128k
from dba_free_space a,dba_data_files b
三、建立临时表空间
GROUP BY TABLESPACE_NAME) F,
DEFAULT STORAGE (INITIAL 50K NEXT 50K MAXEXTENTS 100 PCTINCREASE 0);
size 50m
设定后查看表空间信息
设定后可从dba_tablespace中查看表空间信息,从v$datafile中查看对应的数据文件信息
1.查询oracle表空间的使用情况
如果是意外删除了数据文件,则必须带有RECOVER选项
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
ALTER TABLESPACE game test FOR RECOVER;
(
(SELECT DD.TABLESPACE_NAME,
1.增加数据文件
default tablespace scgl
CREATE TABLESPACE data01
六、扩展表空间
ALTER TABLESPACE game READ ONLY;
FROM SYS.DBA_FREE_SPACE
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
order by tablespace_name;
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
3.设定数据文件自动扩展
五、删除表空间
SQL> alter system set db_2k_cache_size=2M; alter system set db_2k_cache_size=2M ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is invalid ORA-00384: Insufficient memory to grow cache
4.查询所有用户表使用大小的前三十名
六、扩展表空间
6.使表空间可读写
FROM SYS.DBA_FREE_SPACE
RESIZE 4000M;
2.手动增加数据文件尺寸
logging
MAXSIZE 200M;
#如果意外删除了数据文件 alter tablespace test offline for recover
datafile 'E:\ORACLE\PROD T\10.1.0\ORADATA\ORCL\scgl2.dbf'
或
ALTER DATABASE DATAFILE 'c:/oracle/oradata/db/test01.dbf'
CREATE TABLESPACE data01
7.建立临时表空间create temporary tablespace temp_data tempfile '/u01/temp.db' size 5M; create bigfile temporary tablespace bigtem tempfile '/u01/bigtemp.db' size 5M;
首先查看表空间的名字和所属文件
如果是意外删除了数据文件,则必须带有RECOVER选项
GROUP BY tablespacename
size 50m
三、建立临时表空间
#mount状态 SQL>shutdown immediate; SQL>startup mount SQL>host move /u01/test.dbf /u01/oracle/test.dbf; SQL>alter database rename file '/u01/test.dbf' to '/u01/oracle/test.dbf';
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
3.查询单张表的使用情况
F.MAX_BYTES "最大块(M)"
from dba_free_space
查询表空间使用率
4.使数据文件联机
oracle创建表空间 SYS用户在CMD下以DBA身份登陆:
6.查询用户表空间的表
select tablespace_name, sum(bytes) / 1024 / 1024 as MB
ALTER TABLESPACE game ONLINE;
size 50m
temporary tablespace user_temp;
select tablespace_name,
round(total.MB - free.MB, 2) as Used_MB,
WHERE a.file_id=b.file_id and b.tablespace_name = (select default_tablespace from dba_users where username = user)
D.TOT_GROOTTE_MB "表空间大小(M)",
CREATE UNDO TABLESPACE test_undo
F.MAX_BYTES "最大块(M)"
ALTER DATABASE DATAFILE 3 OFFLINE;
ALTER DATABASE DATAFILE 'c:/oracle/oradata/db/test01.dbf'
extent management local;
extent management local;
select tablespace_name, sum(bytes) / 1024 / 1024 as MB
order by tablespace_name;
--查询表空间的总容量
grant connect,resource to username;
b.tablespace_name 表空间,
where free.tablespace_name = total.tablespace_name;
select b.file_id 文件ID,
1.使表空间脱机
#解决
RE_STDEVT_FACT_DAY是您要查询的表名称
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
autoextend on
ALTER DATABASE DATAFILE 3 OFFLINE;
(1.)表空间脱机alter tablespace test offline
extent management local;
#先确定数据文件据在表空间
next 50m maxsize 20480m
CREATE TABLESPACE test
conn / as sysdba
round(total.MB - free.MB, 2) as Used_MB,
autoextend on
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M
create tablespace test_data
--查询表空间的总容量
round(bytes/(1024*1024),0) total_space
round(sum(bytes) / 1024 / 1024, 2) as MB,
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
//以后以该用户登录,创建的任何数据库对象都属于user_temp 和user_data表空间,
(SELECT DD.TABLESPACE_NAME,
可从dba_tablespaces中查看刚创建的表空间的信息
FROM SYS.DBA_DATA_FILES DD
size 50m
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
alter database default temporary tablespace test_temp;
sum(blocks) as blocks
2.手动增加数据文件尺寸
drop user user_name cascade;
group by tablespace_name) total
autoextend on
group by tablespace_name) free,
5.使表空间只读
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
FROM dba_free_space a,dba_data_files b
ALTER TABLESPACE game
3. CASCADE CONSTRAINTS 子句用来删除所有的引用完整性约束
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
#常见错误
create temporary tablespace user_temp
datafile 'E:\ORACLE\PROD T\10.1.0\ORADATA\ORCL\user_data.dbf'
ALTER TABLESPACE test
(2.)表空间联机alter tablespace test online
group by tablespace_name;
round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
order by b.tablespace_name
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
(3.)数据文件脱机select * from v$dbfile; alter database datafile 3 offline
--查询表空间使用率
5.查表空间:#查数据文件 select * from v$dbfile; #所有表空间 select * from v$tablespace;
F.TOTAL_BYTES "空闲空间(M)",
ALTER TABLESPACE test READ ONLY;
revoke 权限... from 用户名;
ORACLE规定在任何时刻只能将一个还原表空间赋予数据库,即在一个实例中可以有多个还原表空间存在,但只能有一个为活动的。可以使用ALTER SYSTEM命令进行还原表空间的切换。
from dba_data_files
GROUP BY DD.TABLESPACE_NAME) D
//创建数据表空间
DATAFILE 'c:/oracle/oradata/db/test01.dbf' SIZE 50M
ALTER TABLESPACE game OFFLINE FOR RECOVER;
ALTER TABLESPACE game OFFLINE;
round(total.MB, 2) as Total_MB,
3.设定数据文件自动扩展
2.建非标准表show parameter db alter system set db_2k_cache_size=10M create tablespace test datafile '/u01/test.dbf' size 10M blocksize 2K uniform size 128k
extent management local;
ALTER DATABASE DATAFILE 3 ONLINE;
1.alter tablespace test add datafile '/u01/test02.dbf' size 10M(自动加一个datafile)
CREATE TEMPORARY TABLESPACE test_temp
grant connect,resource, dba to scgl;
(select tablespace_name, sum(bytes) / 1024 / 1024 as MB
8.改变表空间状态
select total.tablespace_name,
#open状态
(5.)使表空间只读alter tablespace test read only
-----------------------------------------------------------------------------------------------------------------------------
create user username identified by password
from
FROM SYS.DBA_DATA_FILES DD
(6.)使表空间可读写alter tablespace test read write;
ALTER TABLESPACE test READ WRITE;
round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct
)
create temporary tablespace scgl_temp
TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M
9.扩展表空间#首先查看表空间的名字和所属文件及空间 select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; #三种扩展方法
#非标准表空间的blocksize SQL> select * from v$dbfile; SQL> select name,block_size,status from v$datafile; SQL> select block_size from v$datafile where file#=14;
SQL> ALTER SYSTEM SET UNDO_TABLESPACE = test_undo;
//创建临时表空间
==================================================================================
default tablespace user_data
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
1.增加数据文件
TEMPFILE '/oracle/oradata/db/test_temp.dbf' SIZE 50M
3.使数据文件脱机
这就不用在每创建一个对象给其指定表空间了
RESIZE 100M;
logging
MINIMUM EXTENT 50K EXTENT MANAGEMENT LOCAL
create tablespace test_data
ORDER BY 1
round(total.MB, 2) as Total_MB,
四、改变表空间状态
CREATE TEMPORARY TABLESPACE temp_data
(4.)数据文件联机recover datafile 3; alter database datafile 3 online;
round(sum(bytes) / 1024 / 1024, 2) as MB,
F.TOTAL_BYTES "空闲空间(M)",
select total.tablespace_name,
ALTER SYSTEM SET undo_tablespace=UNDOTBS02;
#表空间状态 select tablespace_name,block_size,status from dba_tablespaces;
group by tablespace_name) total
4.使数据文件联机
temporary tablespace scgl_temp;
--查询表空间使用情况
select tablespace_name,
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
from dba_data_files
#设定后查看表空间信息
#切换到新建的undo表空间 alter system set undo_tablespace=undotbs01;
next 50m maxsize 20480m
next 50m maxsize 20480m
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
from dba_free_space
一、建立表空间
#指定区尺寸为128k ,块大小为默认8K
group by tablespace_name;
删除表空间
from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
AUTOEXTEND ON NEXT 100M
GROUP BY TABLESPACE_NAME) F,
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
where free.tablespace_name = total.tablespace_name;
create tablespace scgl
改变系统默认临时表空间
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/oracle/3481.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
是因为scan的IP问题补占用
时间:2021-01-20
-
还你一个干净的model 2、功
时间:2021-01-20
-
既然 ROWNUM 列并不是真实存
时间:2021-01-20
-
Real Application Clusters
时间:2021-01-20
-
在tools-preferences-connection(
时间:2021-01-20
-
Windows Sever 2012下Oracle 12c安
时间:2021-01-10
-
Oracle安装监听器错误的解
时间:2021-01-07
-
oracle远程连接服务器数据
时间:2021-01-07
热门文章
-
Oracle存储过程编程详解
时间:2020-12-07
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
Oracle 12c Study之Installer Oracle
时间:2021-01-06
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
