《第三章》数据库管理篇
-
在数据库开发工作的进行过程中,往往需要时常监视和管理数据库的相关信息。以往的做法当然是通过命
令行或登录oracle自带的em console去查看和管理。
但是非专业的DBA很难将那些复杂的命令行都记在脑子里,更别提动不动就出问题的em了。
我们关心的并不是怎么做可以实现,而是怎么做能够快速、高效的解决。
不可否认,这些年来很多oracle第三方工具都提供了比较完善和方便的开发支援,但是在数据库管理方面
一直没有长足进步。似乎大家都习惯与把开发和管理分开来考虑,但是作为一款工具来说,两方面都能够
集成在一起,对于用户操作来说才是最合适最方便的。
那么,Object Browser都能管理哪些数据库信息呢?如图所示:
用户信息(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,当前使用了哪些对象?
这些都被Object Browser集成在一个画面中。
■锁定信息(Lock)
看到很多项目组的开发人员经常大喊“是谁又把表锁了?!”
让Object Browser来告诉你吧。
■数据库信息(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,如果作业失败或者停止,能够重新启动一个data pump作业。并且能够挂起恢复导出导入作业。
4,通过一个客户端程序能够连接或者脱离一个运行的作业。
5,空间估算能力,而不需要实际执行导出。
6,可以指定导出导入对象的数据库版本。允许对导出导入对象进行版本控制,以便与低版本数据库兼容。
因此,datapump的导入导出界面比起dmp来更简单。
数据库管理毕竟是DBA的领域,而专业的DBA还是需要掌握更多的专业oracle知识。而工具能带给开发管理
人员在日常最频繁的作业中提供最方便快捷的操作效率。
下一篇,我们将针对Object Browser在性能优化方面提供的专业支持做一些讲解。希望可以帮助整体提升
oracle开发人员的性能意识。