系统变量的取得

Croatia 2002-11-11 06:23:30
通过一些视图,表,可以取到一些系统的变量。
但是这些视图或者表又是怎么实现的呢?
可以具体的解释吗?

比如:v$session这个视图。
他是SYS.V_$SESSION的同义词,
但是这个视图里面取出来的一些东西又是怎么取得的呢?
...全文
29 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Croatia 2002-11-15
  • 打赏
  • 举报
回复
是的!
看你你的说明觉得是这样!
觉得好奇怪!
不能够理解!到底是怎么做的!

谢谢!
KingSunSha 2002-11-11
  • 打赏
  • 举报
回复
做了一些测试,事实上,在数据字典生成以前,SYS用户下已经建立了很多对象,这些对象可以从SYS.OBJ$中看到,对象的类型为:
0 - 未知
1 - 内部对象,未知
2 - 表
3 - 内部序列???
5 - 同义词
6 - 序列
9 - 包头
11 - 包体
13 - 数据类型
21 - 好像是LOB类型

我无法搞清这些对象的所有含义,但是可以确定的是在数据字典背后,还有一层对象服务于数据字典(包括重要的STANDARD包,里面定义了所有的函数及操作).
在数据字典创立以前,已经可以使用这样的SQL了:
SELECT * FROM V$SESSION;
说明系统已经能够解析V$SESSION为一个表或者VIEW了
KingSunSha 2002-11-11
  • 打赏
  • 举报
回复
这些都是SYS下的数据字典,我查了一下ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL(该脚本用于生成数据字典),发现和V$SESSION有关的操作有以下几步:

create or replace view v_$session as select * from v$session;
drop public synonym v$session;
create public synonym v$session for v_$session;
grant select on v_$session to select_catalog_role;

没想明白到底怎么生成的.看来要从头到尾看一下建库脚本才行.

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧