onepic 2023-01-13 14:47 采纳率: 88.9%
浏览 33
已结题

Oracle不小心删了表空间,但是物理文件没有删,怎么恢复表空间。

Oracle不小心删了表空间,但是物理文件没有删,怎么恢复表空间。
Oracle11g,🙏
  • 写回答

1条回答 默认 最新

  • 懂事的人 2023-01-13 15:01
    关注

    当Oracle不小心删除了表空间,但是物理文件没有删除时,可以通过以下步骤来恢复表空间:

    在数据库中创建一个与该表空间同名的新表空间。

    CREATE TABLESPACE <tablespace_name> DATAFILE '/path/to/datafile.dbf' SIZE <size>;
    
    
    

    使用impdp工具将数据导入到新表空间中。

    impdp <username>/<password>@<sid> tablespaces=<tablespace_name> directory=<directory_name> dumpfile=<dumpfile_name>
    
    
    

    将数据表移动到新表空间中。

    ALTER TABLE <table_name> MOVE TABLESPACE <new_tablespace_name>;
    
    
    

    重建索引和其他相关对象,如果需要的话.

    运行consistent 参数的dbms_metadata.get_ddl函数或expdp工具导出数据到新的表空间中.
    需要注意的是,在进行这些操作之前,应该先做好数据备份,并在进行操作之前和之后都应该进行完整性检查。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 1月13日