alter tablespace


• CREATE DATABASE
• CREATE TABLESPACE ... DATAFILE
• ALTER TABLESPACE ... ADD DATAFILE
################################
ALTER DATABASE DATAFILE filespec [autoextend_clause]
autoextend_clause:== [ AUTOEXTEND { OFF|ON[NEXT integer[K|M]]
[MAXSIZE UNLIMITED | integer[K|M]]
#################################
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf'
SIZE 500M EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE
(initial 1M NEXT 1M PCTINCREASE 0);
******************************************
ALTER TABLESPACE undotbs
ADD DATAFILE '/u01/oradata/undotbs2.dbf'
SIZE 30M
AUTOEXTEND ON;
******************************************
CREATE TABLESPACE userdata02
 DATAFILE '/u01/oradata/userdata02.dbf' SIZE 5M
 AUTOEXTEND ON NEXT 2M MAXSIZE 200M;
 By specifying AUTOEXTEND after tablespace creation
*******************************
SQL> ALTER DATABASE
2 DATAFILE '/u01/oradata/userdata02.dbf'
3 AUTOEXTEND ON NEXT 2M;
- Manually
******************************
SQL> ALTER DATABASE
2 DATAFILE '/u01/oradata/userdata02.dbf' RESIZE 5M;

*************************************
 CREATE TEMPORARY TABLESPACE "xxxxxx" TEMPFILE
 'xxxxxx.dbf' SIZE 838860800 REUSE
 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1048576



RESIZE DATAFILE的时候会失败,因为一些OBJECT的EXTENTS已经扩展到DATAFILE的边缘(最大的地方)。
 下面的SQL可以让我们找到前5个最边缘的OBJECT
select *
 from (
select owner, segment_name,
      segment_type, block_id
 from dba_extents
 where file_id =
  ( select file_id
      from dba_data_files
     where file_name = :FILE )  --用你的DATAFILE代替
 order by block_id desc
      )
 where rownum <= 5

--这个在我的数据库里没有查出数据,先存放在这,以后会用到的

 

运行下面的这个脚本可以得到相应file做resize的命令 

SQL> variable blocksize number; 
SQL> begin execute immediate 'select value from v$parameter where name = ''db_block_size''' into :blocksize; end; 
2 / 
SQL>print :blocksize; 
SQL> select 'alter database datafile ''' || 
2 file_name || ''' resize ' || 
3 ceil( nvl(hwm,1)*:blocksize/1024/1024 ) || 'm;' cmd 
4 from dba_data_files a, 
5 ( select file_id, 
6 max(block_id+blocks-1) hwm 
7 from dba_extents 
8 group by file_id ) b 
9 where a.file_id = b.file_id(+) and b.file_id in (7, 8, 10);

 

下面的这个是个总的,和上面的这个脚本功能类似,都可以得到alter的cmd

 

SELECT
  a.file_id,
  a.file_name
  file_name,
  CEIL( ( NVL( hwm,1 ) * blksize ) / 1024 / 1024 ) smallest,
  CEIL( blocks * blksize / 1024 / 1024 ) currsize,
  CEIL( blocks * blksize / 1024 / 1024 ) -
  CEIL( ( NVL( hwm,1) * blksize ) / 1024 / 1024 ) savings,
  'alter database datafile ''' || file_name || ''' resize ' ||
  CEIL( ( NVL( hwm,1) * blksize ) / 1024 / 1024 ) || 'm;' cmd
FROM
  DBA_DATA_FILES a,
  (
     SELECT  file_id, MAX( block_id + blocks - 1 ) hwm
     FROM    DBA_EXTENTS
     GROUP BY file_id
  ) b,
  (
     SELECT TO_NUMBER( value ) blksize
     FROM   V$PARAMETER
     WHERE  name = 'db_block_size'
  )
WHERE
  a.file_id = b.file_id(+)
AND
  CEIL( blocks * blksize / 1024 / 1024 ) - CEIL( ( NVL( hwm, 1 ) * blksize ) / 1024 / 1024 ) > 0
ORDER BY 5 desc

 

 

alter完后 ,可以达到释放存储空间的止的,

还可以 exp/imp expdp/impdp(自我理解没有实践:可以导出整个数据库,也可以导出要清理表空间的数据,再DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES; )

或者 一个表或者少量的表在那个表空间,可以通过creat table as select ...的方式或者move的方式,move完成后再干掉表空间,干掉表空间的时候,including contents and datefiles就可以了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值