Oracle的一些笔记

序:由于工作上的一些原因,不得不去接触一些Oracle的知识。在此简单地作下整理,以整理下思路。

1,一些概念

同义词:同义词是一个对象的替代名称。利用同义词可以很方便地操纵不同用户模式下的对象。

示例:摘自CSDN

1 //为每个表创建同义词,例如: 
2 create   public   synonym   table1     for   admin.table1; 
3 //这个是全局的,谁登录了都可以用 
4 create   synonym   guest.table1   for   admin.table1; 
5 //这个只限制guest用户使用 

同义词分为private和public, private 仅创建的用户可以使用,public则所有用户都可以使用。

序列:独立的事务,按一定的增量自动增加或减少,一组整形值。

使用语法:

1 create sequence myseq 
2 start with 1 --从1开始 
3 increment by 1 --每次增加1 
4 order --从小到大排序 
5 nocycle;--为了避免取到重复值,不进行序列循环

通过nextval取得下一个值: select myseq.nextval from dual

查看当前序列的值:select myseq.currval from dual (如果数据库重启,不能马上通过currval来查看序列的当前值)。

要通过nextval取完值后,再通过currval查看当前序列的值。

参考:Oracle同义词与序列基本使用

ALL-SEQUENCES  describes all sequences accessible to the current user.

DBA_SEQUENCES describes all sequences in the database. 

USER_SEQUENCES  describes all dequences owned by the current user. This view does not display the SEQUENCE_OWNER column.

ALL_SEQUENCES表中字段:SEQUENCE_OWNER, SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY, CYCLE_FLAG, ORDER_FLAG, CACHE_SIZE, LAST_NUMBER. 

连接与会话:

连接是指物理上的网络连接。在已建立的连接上,建立客户端与Oracle的连接,以后客户端与Oracle的交互都在一个会话环境中进行。一个连接上可以建立0个,1个,2个和多个会话。Oracle允许存在失去了物理连接的会话。

Oracle的session参数决定的是会话数,而还是物理连接数。Oracle的临时表中的数据是各会话间隔离的,与连接概念无关。jdbc的connection对Oracle是一个会话的概念。

(参见:http://oracle.chinaitlab.com/induction/738761.html

2,关于user_tables 和 dba_tables:

dba_tables和user_tables的访问权限是不同的。一个具有dba权限。一个具有本表的owner。

user_tables直接查询,有个table_name字段。

dba_tables有个owner字段,可以指定用户。

posted on 2012-04-25 16:41  Joshua Leung  阅读(265)  评论(0编辑  收藏  举报

导航