1,recent objects
你最近访问或是使用过的对象。 就是一个记录,相当于的最近访问的内容列表。
2,recycle bin
(1)、回收站启动和关闭
回收站默认是开启的.不过我们可以通过参数recyclebin来关闭和开启.
如果只是针对每个session可以通过alter session set recyclebin=off; 和 alter session set recyclebin=on;来关闭和开启
如果是针对所有session可以通过修改系统参数recyclebin来实现,不过这里要注意10g和11g有点不一样,它们的参数类型不同
10g可以用:alter system set recyclebin=off; 和alter system set recyclebin=on;来关闭和开启
11g可以用:alter system set recyclebin=off deferred; 和alter system set recyclebin=on deferred;来关闭和开启
(2)、查看回收站内容
select * from user_recyclebin;或select * from recyclebin;查看当前用户所drop的对象(里面有对象之前的名字和drop之后的名字)
select * from dba_recyclebin;查看所有用户drop掉的对象
其实当一个对象drop后,并且开启了回收站功能.它并没有真正被删除,实际上只是修改了一下名字,我们用select * from user_objects where type= 'TABLE'还能查到.只是它的名字有点怪,例如BIN$qAUuckGyd3TgQKjAFAFTAg==$0,它的命名规范是BIN$unique_id$version 其中BIN代表RecycleBin, unique_id是数据库中该对象的唯一标志,26个字符长度 ,version表示该对象的版本号.
(3)、还原回收站内容
假如有表test被drop,drop后的object_name是BIN$qAUuckGyd3TgQKjAFAFTAg==$0
可以用flashback table "BIN$qAUuckGyd3TgQKjAFAFTAg==$0" to before drop ;(记得名字加双引号)
或者flashback table test to before drop ;来还原.不过假如drop掉一个表test,再新建一个表test,然后再drop.那么flashback table test to before drop只能还原最后被drop掉的表test.最先drop掉的表还原时会出错,因为表名不能重名.所以必须改名flashback table test to before drop rename to test2
(4)、清空回收站
如果一次只清空一个表,可以用PURGE table test 或PURGE table "BIN$qAUuckGyd3TgQKjAFAFTAg==$0";
如果一次清空所有的可以用PURGE recyclebin 或者PURGE dba_recyclebin
还原时是只能一次还原一个表,不能像清空一样一次还原所有表
(5)、注意事项
如果表是在system表空间下面则不能使用回收站的功能,不知道为啥有这限制啊
如果表空间快满时系统会自动的去清空回收站中一部分内容,先清空最早drop的对象
Functions 函数/方法
procedures 存储过程
Packages oracle包,常用于存过开发
Packages bodies 包体,写具体存过的地方
Types 可以自定义数据类型
Types bodies 通packpages bodies 一个是类型,一个是你类型体
type, 看似简单 实则涉及到高级开发,有兴趣可以专门去研究一下
Trigger 触发器
Java sources 可以调用在函数中调用java类
Libraries 库
Directonries oracle目录
Cluster 表簇
JOBS 定时任务文件夹
Queue 高级队列
高级队列是oracle的一种高级应用,它主要是表和触发器之间的组合而成的一种应用。其主要作用是在各应用系统中进行消息传递。
目的:利用高级队列来实现消息在两个不同数据库之间的异步传输,满足业务系统的改造需求。
Tables 表
View 视图
Materialized view 高级应用之物化视图,部分企业要求前端不能直接访问数据库表数据,可以新建视图进行限制数据访问
Sequence 索引
User 用户表空间
Profiles 限制ORACLE用户
Roles 权限控制
Synonyms Oracle的同义词,全局访问不需要带schema前缀需要同义词实现,当然也需要在有访问权限的前提
Database link 查看当前用户能操作哪些其他用户/schema权限
Tablespace 表空间
作为一名DBA,标红的是你要常用且掌握的,标绿的你是要了解并且会偶尔使用的,没有标的是你要了解知道大概是干什么的。
常规的同义词创建、触发器创建、存过、方法开发、用户控制与管理、schema空间分区管理、定时任务管理、队列、视图创建、类型定义等,熟练使用基本就可以玩开Oracle的使用了。