今天行程还是比较匆忙,刚回到家,打开微信就收到了几个问题,有不少是和迁移相关的,我选出几个,还有几个需要好好考虑一下。 问题1: 我们的多个业务系统都是Oracle的数据库,每个业务都搭了dg,各占两台服务器,但是学校的业务量不大,想把这些库迁到一台服务器上,我现在的知识量只能想到用虚拟机,但是又觉得虚拟机不是很可靠,所以想让您指点一下 答: 对于这种情况,其实迁移方式有三种, 1)因为业务量不大,可以把几个系统的迁移到一台物理机器上,或者主备重新平衡。比如三套业务系统,那么一主一备就是6台服务器,比如一台物理机器上部署 三个数据库实例,在另外一台上部署三个备库,这是最直接的方式,一下子省出来3台,或者灵活一些,三个业务主库不动,如果出现宕机的风险极低,把三个备库 放在一台机器上,那么省出来2台,性能还能够保证。 2)第二种方式就是使用逻辑迁移的方式,把3个业务系统整合为一个,比如在schema级别对业务进行划分,迁移整合到一起。当然对于应用可以配置service,对于应用是透明的。 3)第三种方式是比较新一些,可以考虑使用PDB,通过容器的方式,可以完全把三个不同的业务系统整合在一起,而且绝对能够保持各自的数据独立完整性。 问题2: 经常看您更新的学习笔记确实很广很全面,本人linux只会一些常用的命令,经常看到您以前的笔记中提到shell脚本。想学习一下shell,不知道对于DBA来说shell该学习哪些,网上的答案五花八门,看您是过来人,想在您这里取下经。 答: 虽然我shell还不算高手,但是很多数据管理工作还是愿意采用shell的方式来解决。 shell如果从种类上来说,bash,ksh都是推荐使用的,会有一些侧重,对于shell的使用,其实还是由浅入深,从常用的命令使用,通过命令的方式解决问题逐步延伸到把这些复杂的命令再一次提炼,成为脚本。shell脚本的基础内容自己之前也写过几篇。 可以参考如下三篇: shell基础学习总结(一) http://blog.itpub.net/23718752/viewspace-1343828/ shell基础学习总结(二) http://blog.itpub.net/23718752/viewspace-1354564/ shell脚本心得 http://blog.itpub.net/23718752/viewspace-1248184/ 当然最直接的方式,进步最快的就是解决实际的问题,学以致用,能够马上把shell弄熟。能够解决实际问题才是我们学习它的驱动。