如何利用Object Browser图形化工具提高Oracle开发工作效率(三)数据库管理篇

roadByroad 2013-07-02 02:05:03
在数据库开发工作的进行过程中,往往需要时常监视和管理数据库的相关信息。以往的做法当然是通过命令行或登录oracle自带的em console去查看和管理。
但是非专业的DBA很难将那些复杂的命令行都记在脑子里,更别提动不动就出问题的em了。
我们关心的并不是怎么做可以实现,而是怎么做能够快速、高效的解决。

不可否认,这些年来很多oracle第三方工具都提供了比较完善和方便的开发支援,但是在数据库管理方面一直没有长足进步。似乎大家都习惯与把开发和管理分开来考虑,但是作为一款工具来说,两方面都能够集成在一起,对于用户操作来说才是最合适最方便的。

那么,ObjectBrowser都能管理哪些数据库信息呢?如图所示:


用户信息(User)、表空间信息(Table Space)、会话信息(Session)、锁定信息(Lock)、数据库信息(Database)、性能信息(Performance)、回收站(Recycle Bin)。另外,还有导入导出dmp文件,导入导出oracle数据泵DataPump等。


用户信息管理(User)


在用户列表画面,可以清楚的看到该数据库下所有的user信息。当然也可以在这里新建一个用户。

新用户的认证方法,密码,表空间,lib空间,profile以及角色,权限等都可以在一个画面里设定。在新建成功后,会根据你的设定生成create文。


表空间信息(Table Space)
在大型项目的维护期,DBA会经常关心表空间的使用情况。Object Browser将em的显示方式嵌入到工具之内。


当然,在其他Tab页里可以查看回滚段,数据文件以及存放目录。双击某个表空间,显示详细信息,在详细信息画面可以对表空间的各属性进行修改。


其中,源代码中可以看到create文,保存对象里可以看到该空间内的所有对象,空容量可以看到对应数据文件的大小。


会话信息(Session)
当然,其他第三方工具也有查看session信息的功能,那么还缺少什么呢?我们关心的往往不只是前台的session,现在oracle后台session有哪些?哪些session锁定了哪些表?SYS对象和PUB对象是否也能列出来?

甚至是,该session现在打开了哪些cursor,当前使用了哪些对象?这些都被ObjectBrowser集成在一个画面中。



锁定信息(Lock)
看到很多项目组的开发人员经常大喊“是谁又把表锁了?!”
让ObjectBrowser来告诉你吧。



数据库信息(Database)
对于数据库的信息来说,DBA是最清楚的。但是经常看到有开发人员在遇到乱码问题时不知道如何查看oracle初始参数。实际上这些都可以集成在工具中。



而且提供了警告功能,可以将警告信息生成到某个目录文件中。


性能信息(Performance)
若有人问到oracle数据库的性能如何,当然要从统计信息以及SGA,PGA等数据作答。我们来让菜鸟也能找到这些数据吧。



回收站(Recycle Bin)
我想大家都对oracle的回收站不陌生吧?误删掉了一整张表怎么办?

很多第三方工具提供对对象操作的时候,在右键菜单里加入了“删除”功能,有时候手快一不小心点上去,表就被Drop掉了…接下来该怎么办?


让我们在回收站里找到它,右键点击“还原”。原来一切就是这么简单!


Oracle导入导出dmp
exp语句是很多DBA每天要写无数次的工作了,如果我们利用图形界面


选择导出整个数据库,还是制定某个用户下,还是制定某张表,或者制定某个表空间,由你决定。


在选项设置里,定义好dmp中要保存的用户,既可以用当前用户,也可以制定某个用户。

可以设置是否同时导出权限,索引,数据以及制约等等。

看见NLS_LANG了吗?在这里可以设置你要保存dmp的编码类型。

点击执行,一键搞定!



Oracle导入导出DataPump
DataPump是oracle升级版本之后新增的功能。与原有的export和import使用程序相比,oracle的data pump工具的功能特点如下:

1,在导出或者导入作业中,能够控制用于此作业的并行线程的数量。
2,支持在网络上进行导出导入,而不需要是使用转储文件集。
3,如果作业失败或者停止,能够重新启动一个datapump作业。并且能够挂起恢复导出导入作业。
4,通过一个客户端程序能够连接或者脱离一个运行的作业。
5,空间估算能力,而不需要实际执行导出。
6,可以指定导出导入对象的数据库版本。允许对导出导入对象进行版本控制,以便与低版本数据库兼容。
因此,datapump的导入导出界面比起dmp来更简单。



数据库管理毕竟是DBA的领域,而专业的DBA还是需要掌握更多的专业oracle知识。而工具能带给开发管理人员在日常最频繁的作业中提供最方便快捷的操作效率。


下一篇,我们将针对ObjectBrowser在性能优化方面提供的专业支持做一些讲解。希望可以帮助整体提升oracle开发人员的性能意识。
...全文
365 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eclipse_web 2013-07-18
  • 打赏
  • 举报
回复
对于操作DBA似乎很方便
sych888 2013-07-02
  • 打赏
  • 举报
回复
打开链接下载源码: https://pan.quark.cn/s/589796089f72 C++课程设计任务列表,涵盖以下内容:1、识别并显示10至99范围内,各位数乘积超过各位数和的数值,例如数字12不满足条件,因为1乘以2小于1加2,故不输出;而数字27满足条件,因为2乘以7大于2加7,因此需要输出该数。2、开发一个功能,用于从用户输入的任意数量实数中找出最大值与最小值:首先要求用户输入一个正整数n,代表数值的个数,随后用户可输入任意n个实数,程序需找出这n个数中的最大值和最小值并将它们展示出来。3、实现两个已排序数组的合并操作:设有数组A和B,且假设这两个数组的元素均已按照降序排列。编写程序将A和B合并成一个新的数组C,并确保C中的元素同样保持降序排列。int A[10]={123, 86,80, 49,33,15,7,0,-1,-3};int B[10]={100,64,51,50,27,19,15,12,5,2};4、设计一个函数,用于计算特定分数序列前n项的总和,该序列为1/2,1/3,1/4,1/5,1/6,1/7,...。要求在主程序中提示用户输入一个整数n,并验证输入的合法性(n需大于1方为有效),若输入合法,则调用求和函数并显示计算结果。5、编写一个程序,计算两个用户输入日期之间的天数差:用户需以year1,month1,day1和year2,month2,day2的格式输入两个日期,程序随后计算这两个日期之间的天数间隔,并将结果输出到屏幕上。要求编制具有如下原型的函数difs2Date:long GetDayDifference(int y1,int m1,int d1,int y2,int m2,int d2);并在主函数中调用此函数,将计...

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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