purge recyclebin之后dba_segments仍然有BIN$段
现象:
purge recyclebin之后dba_segments仍然有BIN$段。
如下,执行了purge recyclebin之后:
SQL> select segment_name,SEGMENT_TYPE from dba_segments where tablespace_name like 'USERS' and owner='ZHOU186'
2 ;
SEGMENT_NAME SEGMENT_TYPE
--------------------------------------------------------------------------------- ------------------
BIN$xd87Y+adofPgQAB/AQB9yA==$0 TABLE
BIN$xd87Y+acofPgQAB/AQB9yA==$0 TABLE
ZHOU_WORK_UNITE_??? TABLE
ZHOU_WORK_UNITE_??? TABLE
ZHOU_WORK_UNITE_?? TABLE
BIN$0QhC65ubuMzgQAB/AQBaBg==$0 TABLE
ZHOU_WORK_UNITE_??? TABLE
ZHOU_WORK_UNITE_??? TABLE
BIN$wJ9k2G65qpDgQAB/AQAj+g==$0 TABLE
ZHOU_WORK_UNITE_??? TABLE
BIN$0QhC65uauMzgQAB/AQBaBg==$0 TABLE
ZHOU_WORK_UNITE_??? TABLE
BIN$0QhC65uduMzgQAB/AQBaBg==$0 TABLE
BIN$0QhC65ucuMzgQAB/AQBaBg==$0 TABLE
SQL> desc ZHOU186."BIN$xd87Y+adofPgQAB/AQB9yA==$0";
Name Null? Type
----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------
BEGIN_DATE VARCHAR2(10)
BEGIN_TIME VARCHAR2(10)
END_DATE VARCHAR2(10)
END_TIME VARCHAR2(10)
POSITION1 VARCHAR2(30)
PRG_NUM VARCHAR2(30)
WORK_TIME FLOAT(126)
FIRST_CHECK NUMBER(38)
PERSON_NUMBER VARCHAR2(20)
JOB_BIN VARCHAR2(20)
JOB_BINNUMBER NUMBER(38)
分析:
客户的操作步骤大致是:
[oracle@MESZHOUDB ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Thu May 16 09:55:40 2013
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
SQL> alter session set current_schema=ZHOU186; <====注意到是set current_schema,并不是直接登录进来
Session altered.
SQL> purge recyclebin;
Recyclebin purged.
SQL>
SQL>
SQL> select segment_name from dba_segments where tablespace_name like 'USERS' and owner='ZHOU186'
2 ;
SEGMENT_NAME
--------------------------------------------------------------------------------
BIN$xd87Y+adofPgQAB/AQB9yA==$0
BIN$xd87Y+acofPgQAB/AQB9yA==$0
ZHOU_WORK_UNITE_???
ZHOU_WORK_UNITE_???
ZHOU_WORK_UNITE_??
BIN$0QhC65ubuMzgQAB/AQBaBg==$0
ZHOU_WORK_UNITE_???
ZHOU_WORK_UNITE_???
BIN$wJ9k2G65qpDgQAB/AQAj+g==$0
ZHOU_WORK_UNITE_???
BIN$0QhC65uauMzgQAB/AQBaBg==$0
SEGMENT_NAME
--------------------------------------------------------------------------------
ZHOU_WORK_UNITE_???
BIN$0QhC65uduMzgQAB/AQBaBg==$0
BIN$0QhC65ucuMzgQAB/AQBaBg==$0
BIN$0QhC65ueuMzgQAB/AQBaBg==$0
ZHOU_WORK_UNITE_???
BIN$w2uuBw1tJa/gQAB/AQB7Eg==$0
BIN$w2uuBw1sJa/gQAB/AQB7Eg==$0
BIN$w2uuBw1uJa/gQAB/AQB7Eg==$0
BIN$w2uuBw1vJa/gQAB/AQB7Eg==$0
Oracle文档的说明:
The CURRENT_SCHEMA parameter changes the current schema of the session to the specified schema. Subsequent unqualified references to schema objects during the session will resolve to objects in the specified schema.
This setting offers a convenient way to perform operations on objects in a schema other than that of the current user without having to qualify the objects with the schema name. This setting changes the current schema, but it does not change the session user or the current user, nor does it give the session user any additional system or object privileges for the session.
For example:
The table "T1" is owned by user "TEST" and user "SCOTT" doesn't have a table named "T1":
SQL>CONNECT TEST/TEST
SQL>GRANT SELECT ON T1 TO SCOTT;
SQL>CONNECT scott/tiger
SQL>SELECT * FROM SCOTT.T1; <<<<< you must specify the table prefix "SCOTT."
SQL>ALTER SESSION SET CURRENT_SCHEMA = test;
SQL>SELECT * FROM T1; <<<<< Now you need not to add the prefix "SCOTT."
After the session set CURRENT_SCHEMA = test, the only change is that the user "SCOTT" can access the table "TEST.T1" without specifying the table prefix.
The current user is still "TEST", This time when you perform a "purge recyclebin", it just purges the recyclebin in user "TEST", not "SCOTT".
For more details, please refer to:
Oracle? Database SQL Reference
10g Release 2 (10.2)
B14200-02
http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_2012.htm#SQLRF00901
一句话总结:都是基本概念没过关,很多事情想当然的去理解,Oracle文档还是值得很多人细细的读。
purge recyclebin之后dba_segments仍然有BIN$段的更多相关文章
- Oracle 手工清除回滚段的几种方法
关于回滚段的问题,之前也小整理过一个,参考: Current online Redo 和 Undo 损坏的处理方法 http://blog.csdn.net/tianlesoftware/articl ...
- oracle drop table and purge
一.drop表 执行drop table xx 语句 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除. 通过查询回收站 ...
- 【转】Oracle回收站(recyclebin)
我们都比较熟悉windows中的回收站,文件删除后放到回收站里还可以再复原.Oracle回收站的原理完全一样,只是实现的细节方面有些差异.另外回收站中只能回收表和相关的对象包括索引.约束.触发器.嵌套 ...
- 一个purge参数引发的惨案——从线上hbase数据被删事故说起
在写这篇blog前,我的心情久久不能平静,虽然明白运维工作如履薄冰,但没有料到这么一个细小的疏漏会带来如此严重的灾难.这是一起其他公司误用puppet参数引发的事故,而且这个参数我也曾被“坑过”. ...
- DROP TABLE ** CASCADE CONSTRAINTS PURGE删除表的时候级联删除从表外键
1.关于 cascade constraints 假设A为主表(既含有某一主键的表),B为从表(即引用了A的主键作为外键). 则当删除A表时,如不特殊说明,则 drop table A 系统会出现错误 ...
- Oracle10g 回收站及彻底删除table : drop table xx purge
drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除. 1.通过查询回收站user_recyclebin获取被删除的表信息, ...
- oracle Recyclebin
每个用户都有自己的Recycle Bin.删除的对象不会永久存储在Recycle Bin中,Oracle会按照一定的规则自动清除里面的内容,如没有足够的空间.执行show recyclebin时只列出 ...
- oracle recyclebin详解(闪回删除的表)
今天在SOA应用数据库上运用DBMS_REDEFITION包进行在线非分区表转换分区表操作时,本想DROP掉建的临时表cube_scope_temp不小心后面忘记加"temp"直接 ...
- ORACLE Recyclebin管理及flashback recyclebin中的对象
Flashback用于恢复用户误删除的对象(包括表,索引等), 不支持sys用户. system表空间下的对象,也不能从回收站里拿到.故使用SYS 或者SYSTEM用户登陆时, show recycl ...
随机推荐
- matlab中 %d,%f,%c,%s代表什么意思
1.%d就是输出整型:%3d就是说按照长度为3的整型输出,比如10,输出就是“_10”,“_”代表空格. 2.%f就是输出小数:%6.2f就是小数点后保留2位,输出总长度为6,比如3.14159,输出 ...
- linux 下启动tomca慢问题
编辑文件vim /etc/profile 后面加入一句:export JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom" 设置立 ...
- 关于js中namespace命名空间模式
命名空间有助于减少程序中所需要的全局变量的数量,并且同时有助于避免命名冲突或过长的名字前缀. 关于命名空间的例子: /** * 创建全局对象MYAPP * @module MYAPP * @title ...
- 【伪装位置神器】神行者AnyLocation 1.3.0001可用于微信,陌陌
<ignore_js_op> 软件名称:神行者(破解)软件版本:v1.3.0001授权类别:免费测试机型:大可乐手机 下载链接: http://pan.baidu.com/s/1qWwSM ...
- MSM--Memcached_Session_Manager介绍及使用
MSM--Memcached_Session_Manager介绍及使用 http://www.iteye.com/topic/1125301 我们都知道对于一些大型的web2.0的网站,在正式部署时一 ...
- Genymotion模拟器无法开启的解决方法——Unable to start the virtual device,The virtual device got no IP address
前言 最近重装了电脑的系统,由win7换成了win8.1.android开发环境也重新配置了一遍.其他的都还好,就是genymotion模拟器一直开启失败. 自己尝试了很多方法,比如卸载重装软件,重新 ...
- 浮点数向偶数舍入的问题 Round-to-Even for Floating Point
Round-To-Even在于To-Up , To-Down, To-towards-Zero对比中,在一定数据量基础上,更加精准.To-Up的平均值比真实数值偏大,To-Down偏小. 例如有效 ...
- 7 Django系列之关于bootstrap-table插件的简单使用
preface 我们在前端html页面的时候做表格最常用的就是jinja2渲染,这样的好处是无须引用外部插件,直接使用就行,方便.但是不好的就是前端CSS样式以及其他表格排序筛选功能需要自己写,增加了 ...
- 为VS code中的项目添加特定的智能提示功能
当我们的在用vscode开发项目的时候, 如果项目中引用了jquery包, 我们可以下面的方式获得jquery的类型提示 npm install @types/jquery --save-dev 或我 ...
- selenium chrome登陆手机 pc淘宝
接口登录淘宝,困难度极高,没有人已经实现过. 淘宝登录selenium 手机版 pc版. 由于每天需要使用ip代理大批量的异地登录淘宝帐号,这种情况必然会出现淘宝滑动验证码,使用ActionChai ...