作为数据库技术人员,相信没有一个人愿意永远在底层编写程序或做简单的系统维护。经过一段时间的技术和经验的积累,很多人都向往更高层的职位,但如何能成为一个专业的数据库管理人才,并不是每一个人都清晰、明了。
如果你真想成为一名成功、成熟的数据库专家,你需要不断地扩展你的技能与知识――有些知识领域可能对你很陌生,本文阐述了可以帮助你提高职业素质的重要能力。作为一名数据库专业人士,要想有一个成功的职业生涯并不是很容易的事情。你有可能每一种技术都懂一些,但又都不精通,也有可能是一名专才。无论如何,一旦你想成为数据库专家,想在你的游戏地盘里成为楚翘,你需要不断扩展的、跨领域的素质。但是,大部分的素质能力存在于传统数据库技能范畴之外,它们可能适用于其他的功能学科。我们与其他人的差异越来越小,这超出了我们的习惯思维,恐怕对很多想迅速成功的数据库专业人士也是一个不小的打击。
理解现有的和新兴的技术
所有数据库专业人士需要的一个最基本的能力便是对他们的基本技术技能进行深度和广度的拓展。如果用马斯洛的需求层次来比喻,那么这种能力应该属于食物和水的层次,你必须有这些才能满足基本的生存。上课、阅读文章、研究产品,参加一个专业性质的组织,你需要掌握你正在使用的技术领域的所有信息,而且你还需要有实践机会去应用这些知识。
如果你参加一些技术资格或职称的考试,你应该经常提醒自己,你的目标并不单纯是为了在自己的名字后面加上许多的头衔,而是实现你所受教育的价值最大化。
西方有句谚语,赢得游戏胜利不仅仅需要你将眼睛盯在正在击打的球上,而且也要能预计到下一个球的方向。历史经验已经证明,任何系统的平均生命周期大约为16个月,因此为未来做好规划很有必要。当你充分了解你正在做的事情后,实施的效率会更高。
设计技术性架构
任何自己修建的一个系统作为个体的功能都是自以为精妙和可执行的。但如果将它放进一个大一点的系统,它可能就会出现问题,也许你的技能还不是很高妙。无论你是负责全面的应用与网络设计,还是部分营建一个系统部件,支持一个企业架构,你都需要知道什么是良好的、扎实的架构设计法则。
一套有效率的技术性架构设计将零件拼接在一起,它应该就像一台容易操控、价格合理的机器一样。我已经发现,架构设计如果基于“奥卡姆剃刀原理”(Occam"s Razor),那么它往往是最棒的,奥卡姆剃刀原理这个词语源于拉丁语,意为“如无必要,勿增实体”(Ent数据库ies should not be multiplied unnecessarily),即简单就是最好的。当考虑设计之时,要记住每个组织都有一些独特的程序,大部分的组织性程序都相当的普通,它们能够用可配置的通用解决方案来解决问题。很多架构可以利用购买以及将一些很小数量的部件组合在一起的方式来完成,而不是要重新发明一种结构。通过这种方法,你能够在很短的时间内,利用更少的成本,为你的客户提供一种优质、容易操控的产品。同样理念还适用于个体应用与架构的设计与开发。
4、其他打开方式
除了前面介绍的三种数据库打开方式选项外,还有另外其他的一些选项。
(1) STARTUP RESTRICT
这种方式下,数据库将被成功打开,但仅仅允许一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据的导入/导出操作时不希望有其他用户连接到数据库操作数据。
(2) STARTUP FORCE
该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用。
(3) ALTER DATABASE OPEN READ ONLY
该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开。
三、数据库的关闭(SHUTDOWN)
对于数据库的关闭,有四种不同的关闭选项,下面对其进行一一介绍。
1、SHUTDOWN NORMAL
这是数据库关闭SHUTDOWN命令的确省选项。也就是说如果你发出SHUTDOWN这样的命令,也即是SHUTDOWN NORNAL的意思。
发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意一点的是,采用这种方式,也许关闭一个数据库需要几天时间,也许更长。
2、SHUTDOWN IMMEDIATE
这是我们常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。
当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。
3、SHUTDOWN TRANSACTIONAL
该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。
4、SHUTDOWN ABORT
这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。
1、数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库;
2、需要立即关闭数据库;
3、在启动数据库实例时遇到问题;
所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。
表1可以清楚地看到上述四种不同关闭数据库的区别和联系。
表1 Shutdown数据库不同方式对比表
关闭方式
A
I
T
N
允许新的连接
×
×
×
×
等待直到当前会话中止
×
×
×
√
等待直到当前事务中止
×
×
√
√
强制CheckPoint,关闭所有文件
×
√
√
√
其中:A-Abort I-Immediate T-Transaction N-Nornal