今天突然收到了几个问题,有不少是和迁移相关的,我选出几个,还有几个需要好好考虑一下。
问题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弄熟。能够解决实际问题才是我们学习它的驱动。