暂无图片
ASM下某表空间加了太多的DATAFILE
我来答
分享
Thomas
2022-09-03
ASM下某表空间加了太多的DATAFILE

如题,11G RAC环境,某次给表空间增容时命令运行了N遍,导致现在该表空间使用率只有10%。有没有什么办法(可能需要停DB?)将该表空间下的部分数据文件释放出来或者转到别的表空间名下?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
哇哈哈

第一、最简单,无风险,不影响应用,挨个resize 数据文件,保留表空间内数据文件数量不变

alter database datafile 'xxxxx' resize xxm;

第二迁移到其他表空间

1、新建一个表空间,

2、通过dba_segments查询误操作表空间有哪些对象,分别迁移到其他表空间,


--第1类:移动【表】所在表空间:

如将表table_name 移动到新的new_tbsp表空间 

alter table table_name move tablespace new_tbsp; 

  --生成指定tbsp_name表空间下的【所有表】生成移动new_tbsp表空间SQL语句 

select 'alter table '|| table_name|| ' move tablespace new_tbsp;' from user_tables where tablespace_name = 'tbsp_name' 

  --第2类:移动【索引】所在表空间:

如将索引index_name 移动到新的new_tbsp表空间(LOB数据类型的字段需按如下第3类处理)

 alter index index_name rebuild tablespace new_tbsp; 

  --生成指定user_name用户下的【所有索引】生成移动new_tbsp表空间SQL语句 

select 'alter index '||index_name||' rebuild tablespace new_tbsp;' from user_indexes where table_owner = 'user_name'

--第3类:移动【二进制流字段】数据存储表空间,如将表table_name中的二进制流字段col_name移动到new_tbsp表空间

 alter table table_name move tablespace new_tbsp lob (col_name) store as (tablespace new_tbsp); 

  --生成指定表table_name中为CLOB类型的字段的移动到new_tbsp 表空间SQL语句 

select 'alter table '|| table_name||' move tablespace new_tbsp lob ('|| column_name||' ) store as (tablespace new_tbsp);' from user_tab_columns where data_type='CLOB' and table_name='table_name'

全部迁完,可以删除误建的表空间

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
Root__Liu

最简单操作的,批量生成resize命令(有脚本可以自动计算resize的值),写入shell,后台执行。操作之前清空回收站

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
求Oracle top 10等待事件sql查询脚本
回答 1
可以修改下面的sql试试coleventfora45SELECTinstid,EVENT,SUM(DECODE(WAITTIME,0,0,1))"Prev",SUM(DECODE(
巡检脚本巡检时,每次到这就不动了
回答 2
可以看下目录下的BTRobot.log日志文件。
oracle导出的dmp文件 导入到本地 id最后变成#?
回答 1
字符集或者环境变量看一下对不对
如何清除不存在的归档日志
回答 23
最后咋解决的呀,学习学习
如果asm磁盘组的磁盘大小不一样,会导致大的磁盘空间浪费吗?
回答 2
看你的磁盘组冗余模式跟分配了。(1)external的话,会造成不同磁盘au分布不均匀,磁盘组磁盘大小不同,可以预见的是,当小磁盘放完之后,大磁盘将容纳后续asmextent的全部au,将导致读写无法
您的数据库支持联机事务处理 (OLTP) 应用程序。应用程序正在进行一些主要的架构更改,例如添加新索引和具体化视图。您希望检查这些更改对工作负载性能的影响。你应该使用什么来实现此目的?
回答 3
已采纳
使用SQL性能分析器(B)和SQL优化顾问(C)。
提供下19.7.0.0.0的RU p30869156_190000_Linux-x86-64.zip
回答 3
最新的RU更好Patch33806152:DATABASERELEASEUPDATE19.15.0.0.0
数据库版本11.2.0.4搭建dg,操作系统版本不一致需要注意什么?
回答 2
这个需求可以完成,但建议保持两边配置一致(包括系统版本,硬件配置等)
以下关于Oracle索引的HINT,哪些是有效的?
回答 1
已采纳
selectfromv$sqlhintwherenamelike'INDEX%';
Oracle 账户锁定,什么情况下alter user identified by 原有密码;就可以解锁
回答 5
已采纳
1、账号状态locked的话,就只能alteruserusernameaccountunlock了2、文章目的是为了密码过期之后,修改数据字典,达到不修改密码但是重置密码有效期的目的,比如等保让你90
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~