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查看当前序列的值。
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) 编辑 收藏 举报