oracle清理表空间的方法

admin3年前PHP教程50
oracle清理表空间的方法

删去空的表空间,可是不包括物理文件
droptablespacetablespace_name;
–删去非空表空间,可是不包括物理文件
droptablespacetablespace_nameincludingcontents;
–删去空表空间,包括物理文件
droptablespacetablespace_nameincludingdatafiles;
–删去非空表空间,包括物理文件
droptablespacetablespace_nameincludingcontentsanddatafiles;
–假如其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADECONSTRAINTS
droptablespacetablespace_nameincludingcontentsanddatafilesCASCADECONSTRAINTS;
以system用户登录,查找需求删去的用户:
–查找用户
select*fromdba_users;
–查找作业空间的途径
select*fromdba_data_files;
–删去用户
dropuser用户称号cascade;
–删去表空间
droptablespace表空间称号includingcontentsanddatafilescascadeconstraint;
例如:删去用户名成为ABC,表空间称号为ABC
–删去用户,及级联联系也删去掉
dropuserABCcascade;
–删去表空间,及对应的表空间文件也删去掉
droptablespaceABCincludingcontentsanddatafilescascadeconstraint;
删去无任何数据目标的表空间:
首先运用PL/SQL界面化东西,或许运用oracle自带的SQLPLUS东西,衔接需求删去的表空间的oracle数据局库。
承认当时用户是否有删去表空间的权限,假如没有droptablespace,请先用更高档的用户(如sys)给予授权或许直接用更高档的用户。
用droptablespacexxx,删去需求删去的表空间。
删去有任何数据目标的表空间
运用droptablespacexxxincludingcontentsanddatafiles;来删去表空间。
注意事项:
假如droptablespace语句中含有datafiles,那datafiles之前必须有contents关键字,否则会提示ora-01911过错
1、以system用户登录查找需求删去的用户(普通用户没有删去权限)
select*fromdba_users;
2、查询需求删去用户对应的表空间
select*fromdba_data_files;
3、删去用户和表空间
dropuserusernamecascade;
droptablespacetablespacenameincludingcontentsanddatafilescascadeconstraint;
在删去用户时可能会碰到无法删去当时衔接的用户,这是由于还有数据库衔接到该用户,有会话存在,需求先删去会话。
最暴力的做法是直接shutdown数据库,然后重启即可。。。
一般的操作是经过查询SessionID,手动杀掉会话再删去用户:
1)查询衔接情况:selectusername,sid,serial#fromv$session;
2)找到要删去用户的sid和serial并删去:altersystemkillsession’sid,serial’;
再履行删去用户的操作,假如仍是无法删去阐明还有衔接的会话,继续履行删去会话的操作。
———————
Oracle数据库中删去了表空间物理文件XXX.ora后导致用droptablespace删去表空间失利,解决方法如下:
用sqlplus/nolog指令进入oracle数据库履行如下指令:
sql>conn/assysdba;
sql>startup;(假如数据库已启动则不需求此指令)
sql>alterdatabasedatafile”/home/oracle/XXX.ora”offlinedrop;(/home/oracle/XXX.ora为表空间文件的物理途径)
sql>droptablespaceXXX;
履行完后,重启数据库即可。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

PHP创建简单RPC服务案例详解

RPC 定义RPC(Remote Procedure Call)即远程过程调用,指被调用方法的具体实现不在程序运行本地,而是在别的某个地方。主要应用于不同的系统之间的远程通信和相互调用。如 A 调用...

PHP队列场景以及实现代码实例详解

为了降低单点压力,通常会根据业务情况进行分表分库,将表分布在不同的库中(库可能分布在不同的机器上),但是一个业务场景可能会同时处理两个表的操作。在这种场景下,事务的提交会变得相对复杂,因为多个节点(库...

PHP 引用的概念

目录什么是引用?引用在数组和对象中的使用引用的传递引用的返回引用的取消总结什么是引用?在 PHP 中引用意味着用不同的名字访问同一个变量内容。它不是C的指针,保存的并不是内存地址,无法进行指针运算。引...

租用江苏BGP高防服务器安全吗

租用江苏BGP高防服务器安全吗?租用江苏BGP高防服务器是比较安全的,但也要注意以下几点:选择正规的服务商:选择知名度高、信誉好的正规服务商,确保服务器的质量和安全性。配置安全防护:在服务器中安装防火...

PHP实现创建以太坊钱包转账等功能

1.Geth下载(对以太坊了解不深的可以后面自己查找有关geth的资料,与此类似的客户端还有Ethereum、Parity 、Mist),本文采用windows版(Windows系统:geth-win...

PHP如何限制定时任务的进程数量

前言现在的工作中,经常要写一些脚本做一些异步的操作。一般是大量的数据修改,或者解决部分并发问题。为了能够稳定的做好数据处理,一般情况下会用定时脚本的方式。那么问题来了。可能存在的问题当我们处理大量数据...