分享
 
 
 

利用数据字典做好Oracle数据库管理

王朝数码·作者佚名  2008-10-13
窄屏简体版  字體: |||超大  

【eNet硅谷动力专稿】数字字典是Oralce数据库系统最重要的组成部分,是其核心组件之一。数据字典中提供了数据库的系统信息、例程的性能信息等重要参数。它有一些列的只读数据字典表与视图所组成的。默认情况下,数据字典表的所有者为SYS用户,其数据字典表与数据视图都保存在SYSTEM表空间中。

一、做好Oracle数据字典的安全性管理。

由于在数据字典中,保存着数据库的系统信息、例程运行信息等等关键的信息。如例程运行时的性能和统计信息;如存储空间的分配信息,包括为某个对象分配了多少存储空间,以及实际使用了多少等信息;如各种方案对象的定义信息,如存储过程、触发器等等。特别是Oracle数据库系统会通过查询数据字典表或者数据字典视图来获取有关用户、对象的存储信息,以及其他相关信息,以确认权限的正确性。所以,这些表中数据的安全性就不容忽视。

为了提高这个数据字典的安全性,我有几个建议。

一是数据字典一般都存在在SYSTEM表空间中。我们在创建对象的时候,最好不要把我们建立的对象,如表或者视图等等,存放这个表空间中。也就是说,在SYSTEM这个表空间中,我们不要在这里进行任何的修改动作,不要添加或者删除对象。以防止一不小心,对其进行了不可恢复的操作。

二是我们数据库管理员平时也需要从这些数据字典表中获取相关的系统运行信息,如从数据字典的动态性能视图中,监视Oracle例程的运行状态。当我们查询数据字典中的内容的时候,最好是通过视图查询,而不要直接对数据字典的表查询。以减少对数据字典表的不利影响。

二、最常用的数据字典视图。

作为Oracle数据库管理员,用到的最频繁的数据字典视图莫过于是动态性能表与动态性能视图。只所以其是动态的,不仅因为表或者视图中的信息是动态更新的;而且,这个表也是动态建立的。也就是说,动态性能表与动态性能视图是Oracle数据库中的虚拟表。当Oralce数据库中某个例程启动的时候,Oralce会在数据字段中维护一系列虚拟的表。在这些虚拟的标中记录例程运行的相关统计信息。这些表就被称为动态性能表,其构成的视图就被称为动态性能视图。当某个例程消亡的时候,这些虚拟表也会被删除。

动态性能视图一般来说,大部分用户是不能够访问的,特别是数据库系统的终端用户。一般情况下,只有数据库管理员角色的用户才能够访问。而且,当数据库其状态不同时,可以访问的数据字典动态性能视图也不同。

1、当数据库处于Nomount状态时。

当我们连接到数据库服务器,启动某个例程的时候,数据库本身还没有被加载,此时,就叫做Nomount状态。在这个状态下,即使是数据库管理员,其可以访问的数据字典动态性能视图也是非常有限的。当数据库某个例程启动之后,数据库会打开某些参数文件,并且会在内存中分配SGA区并启动相关的后台进程。由于此时没有加载数据库,所以,数据库管理员之能够访问从SGA区获得信息的动态性能视图。

2、当数据库处于Mount状态时。

当我们去加载某个数据库的时候,Oracle会打开其参数文件中指定的控制文件,以实现加载数据库的过程。此时,数据库管理员访问的数据字典性能视图就会多一点,除了可以访问从SGA区获得信息的动态性能视图,还可以访问从控制文件中获得信息的动态性能视图。也就是说,当数据库出于Mount状态时,其动态性能数据视图的数据来源有两个部分,一是来自于SGA区的,二是来自于控制文件中的。

3、当数据库处理Open状态时。

当数据库打开的时候,数据库系统会根据控制文件中所定义的信息,打开所有的数据文件以及对应的重做日至文件。这个时候,我们数据库管理员可以访问的动态性能视图就包括三个部分,一是来自与SGA区的信息;二是来自于控制文件中的信息,三视Oracle数据库性能呢个相关的动态性能视图。

做为一个合格的数据库管理员,应该知道在什么时候去查询什么动态性能视图去获得哪些重要的信息。因为Oracle数据库系统提供的动态性能视图有300多个。若数据库管理员不知道在恰当的时候去访问恰当的动态性能视图的话,则就会像逛迷宫一样,走不出来。所以,数据库管理员应该了解当数据库处于不同的状态时其可以访问的不同的动态性能表,以提高数据库维护的效率,真正发挥数据字典动态性能表的功用。三、数据字典的视图结构。

若作一个形象的比率,数据字典就好像是一个大杂侩,其包含了当前数据库运行的所有信息。但是,若这些信息被非法用户获取的话,就可能给数据库带来不利的影响。所以,为了加强这些数据字典视图的权限控制,Oracle数据库系统提供了一套解决方案。

若我们查看数据库系统中的数据字典视图的话,我们就会发现不同的视图其前缀名可能是不同的。在Oracle数据库系统中总共提供了三类视图,分别用不同的前缀名进行区分。

一类是用户视图,前缀名为User。用户视图中主要包含了某个特定用户的解决方案的对象信息。也就是说,这类视图中只包含了某个特定用户相关的信息。当前登录用户的话,只能够看到自己的账户相关的系统信息,除了数据管理员角色除外。

第二类是扩展用户视图,前缀名为All。有时候,我们数据库管理员会给某个用户授权,让其可以查看其它用户的对象信息,以利于他们协助我们管理好数据库系统。为此,那个被授权的用户,就需要通过扩展用户视图来查看其被授权的其他用户的系统运行信息。在扩展用户视图中,包含了当前登录账户可以访问的所有对象信息,还包括了被授权的可以访问的其它用户的对象信息。此时,即使某个用户被授权了,其利用用户视图的话,仍然不能够查看到其它用户的方案对象信息。这就是用户视图与扩展视图的最大不同。

第三类是数据库管理员视图,其前缀为DBA _.数据库管理员视图包含了当前数据库系统中的所有对象信息。所以,为了其安全性考虑,一般只允许数据库管理员角色的用户才可以访问数据库管理员视图。另外,在有必要的情况下,我们也可以通过赋予某个账户一个特殊的权限,让其叶可以访问数据库管理员视图。如在Oracle数据库系统中,有一个Select Any Dictionary的权限,若某个用户被赋予这个权限的话,则其就可以访问数据库管理员视图。

了解到数据库数据字典视图分类之后,我们数据库管理员才可以做好相关的权限控制。在一般情况下,我们可以采用其默认的权限控制原则。也就是说,非数据库管理员角色的用户,其只能够查看自己的方案对象信息,也就是说只能够访问用户视图。

当数据库管理员角色自己的工作比较忙,需要招一些人配合你做好数据库管理的时候,则可以根据实际情况,对相关的用户进行授权,让其可以通过扩展用户视图查看某些用户的方案对象信息,帮助你做好数据库的监测工作。

另外,虽然可以通过对用户授权让其可以访问数据库管理员视图,但是,从安全性考虑,笔者还是不建议数据库管理员这么操作。也就是说,最好能够保证只有数据库管理员的角色才能够访问全部用户的方案信息。这对于大型的数据库应用来说,更加需要注意这方面的权限控制。不然的话,很容易导致相关信息的泄漏,从而给数据库带来一些不安全的隐患。

总之,Oracle数据库系统的数字字典,为我们提供了数据库管理所需要的相关数据,为我们改善数据库性能提供了依据。我们数据库管理员在利用数据字典所带来的好处的时候,也需要注意做好数据字典相关表的保护工作。要防止因为权限设置不当而导致信息泄露从而给非法人士有机可乘,为他们破获数据库的正常运行提供方便。

同时,不在数据字典的专用表空间中创建或者删除我们的对象,也是保护数据字典安全性的一个重要举措。在没有充分必要的情况下,不要去改变数据库默认的数据字典权限控制规则。Oracle数据库对于数据字典的默认访问规则,是对数据字典的一个比较好的保护。

其次,最好数据字典表以及相关的视图,作为数据库管理员最好能够学会通过Select语句查询数据字典中的相关信息。如笔者喜欢把一些常用的Select语句保存起来,以在方便的时候可以直接通过Select语句来查询。这么做的话,效率要高的多。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有