Oracle表空间自动扩展设置

2022/4/20 19:12:32

本文主要是介绍Oracle表空间自动扩展设置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、表空间自动扩展的好处
1.数据文件自动扩展的好处
1)不会出现因为没有剩余空间可以利用到数据无法写入
2)尽量减少人为的维护

二、设置表空间自动扩展的方法
1、查看表空间情况
SQL>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空间名称';

2、修改表空间数据文件,使其达到表空间自动扩展
SQL>alter database datafile '/u01/app/oracle/oradata/orcl/user01.dbf' autoextend on;

3、对修改结果进行验证
SQL>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空间名称';

三、语法总结
开启自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend on;

关闭自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend off;

四、创建临时表空间

create temporary tablespace ***_temp tempfile '***/TEMPFILE/***_temp.dbf' size 1024m  autoextend on  next 500m maxsize unlimited  extent management local;

五、创建表空间

create tablespace ***_tablespace logging  datafile '***/DATAFILE/***_tablespace.dbf' size 30720m  autoextend on  next 500m maxsize unlimited    extent management local;

六、创建用户及

create user ****** identified by ***** default tablespace ***_tablespace  temporary tablespace ***_temp;

七、授权

grant connect,resource,dba to *****;

--数据文件位置
select file_name FROM dba_data_files

--数据文件位置2
select * from v$datafile

--查看控制文件
select * from v$controlfile

--查看归档日志文件
select * from v$archived_log

--查看闪回文件位置
select * from v$flashback_database_logfile

--临时表空间
select name from v$tempfile;

--查看分区和段空间管理方式
select tablespace_name, segment_space_management from dba_tablespaces;

--查询用户
select username,t.CREATED from all_users t order by t.CREATED desc;

-- 查询表空间是否设置了自增
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files where TABLESPACE_NAME='KPIDBS';

--查询表空间
SELECT TABLESPACE_NAME "表空间",
       To_char(Round(BYTES / 1024, 2), '99990.00') || '' "实有",
       --To_char(Round(FREE / 1024, 2), '99990.00') || 'G' "现有",
       To_char(Round((BYTES - FREE) / 1024, 2), '99990.00') || 'G' "使用",
       To_char(Round(10000 * USED / BYTES) / 100, '99990.00') || '%' "比例"
  FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
               Floor(A.BYTES / (1024 * 1024)) BYTES,
               Floor(B.FREE / (1024 * 1024)) FREE,
               Floor((A.BYTES - B.FREE) / (1024 * 1024)) USED
          FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) BYTES
                  FROM DBA_DATA_FILES
                 GROUP BY TABLESPACE_NAME) A,
               (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) FREE
                  FROM DBA_FREE_SPACE
                 GROUP BY TABLESPACE_NAME) B
         WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
 WHERE TABLESPACE_NAME ='xxxx' --这一句用于指定表空间名称
 ORDER BY Floor(10000 * USED / BYTES) DESC;



这篇关于Oracle表空间自动扩展设置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程