• 清理oracle数据库空间


    背景:之前在电脑上安装了oracle并加载了100+G的数据,最近感觉用处不大,而且导致电脑相应很慢。于是乎,觉得整理一下oracle数据库空间,数据库实例还是不删除,作为以后慢慢摸索使用,把100+G的数据删除了吧。详细步骤如下:

    1、登陆PL/SQL

    2、之前数据库使用已久,先查询下有哪些table、view、index。。。

    select * from user_segments;/*查看当前数据库中有哪些table、view、index*/

    3、删除掉上述内容

    drop index xx

    drop view xx

    drop table xx

    这里不确定是否要先删除相应的index、view才能删除table,忘了测试。

    删除掉这些文件之后oracle垃圾站会产生一些垃圾文件,文件名以bin开头

    4、清楚垃圾站

    purge recyclebin; /*清空回收站,删除表之后会生成很多垃圾文件,文件名以bin开头*/

    5、删除表空间

    alter tablespace user_data online; drop tablespace user_data including contents and datafiles; /*删除表空间及其关联的物理文件*/

    但是,如果该tablespace是默认空间,则无法删除,需要先更改默认空间或者收缩当前默认空间,由于该默认空间是当初重新设置关联到非C盘的,因此觉得收缩空间即可。

    6、由于100+G的数据,该空间关联了4个物理文件,因此逐个删除

    alter tablespace user_data drop datafile 'F:ORACLEORADATAUSER_DATA01.DBF'; /*针对同一表空间关联多个物理文件的,可以逐个删除物理文件*/ 

    7、删除的差不多了之后,发现C盘有个空间文件较大,于是再收缩一下吧。

    alter database datafile 'C:APPADMINISTRATORORADATAORCLUNDOTBS01.DBF'resize 2000M;/*收缩表空间文件大小*/

    以下几条命令是辅助查找和验证结果的。

    SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name;  /*查看表空间及空间大小*/

    SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; /*查看表空间、关联物理文件、总共空间*/

    select name from v$datafile; /*表空间的所有物理文件*/

    select * from user_segments;/*查看当前数据库中有哪些tabble、view、index*/

  • 相关阅读:
    Backtrader中文笔记之Position(持仓情况)
    Backtrader中文笔记之Broker(券商,经纪人)
    Backtrader中文笔记之Orders
    Backtrader中文笔记之Order Management and Execution ---几种价格限制交易的详细解释
    Backtrader中文笔记之Observers and Statistics
    Backtrader中文笔记之Analyzers Reference
    Backtrader中文笔记之Pyfolio Integration(待看)
    Backtrader中文笔记之PyFolio Overview
    curl basic
    plant template
  • 原文地址:https://www.cnblogs.com/eavn/p/4365170.html
Copyright © 2020-2023  润新知