原 数据库异地远程备份方案总结
概述
主要指的是备份到S3存储中,或备份到远程的机器中,远程备份服务器主要指一台Linux服务器。
这里的数据库分安装在Linux和安装在Windows上2种。
Oracle
Linux
方法1:直接使用s3fs-fuse挂载S3为本地目录,然后直接使用expdp或rman进行备份即可。
方法2:使用sshfs挂载远程目录为本地目录,然后直接使用expdp或rman进行备份即可。
Windows
推荐方案:在一台Linux服务器上,安装oracle的客户端,然后通过expdp或rman进行远程备份到本地文件系统上,最后使用mc客户端上传到s3中或通过copy上传到fuse-sshfs中。
Windows的oracle有的版本并不能识别非本地文件系统,故只能先备份到本地,然后使用mc客户端上传到s3中。有的版本支持,但是报错:ORA-29283: invalid file operation: path traverses a symlink [29433] ,解决办法:
1 2 3 4 5 | SQL> ALTER SYSTEM SET "_disable_directory_link_check" = TRUE SCOPE=SPFILE; SQL> ALTER SYSTEM SET "_kolfuseslf" = TRUE SCOPE=SPFILE; SQL> SHUTDOWN IMMEDIATE SQL> STARTUP |
PostgreSQL
Linux
方法1:直接使用s3fs-fuse挂载S3为本地目录,然后直接使用expdp或rman进行备份即可。
方法2:使用sshfs挂载远程目录为本地目录,然后直接使用expdp或rman进行备份即可。
Windows
推荐方案:在一台Linux服务器上,使用s3fs-fuse或sshfs挂载远程目录为本地目录,然后安装PG的客户端pg_dump,最后通过pg_dump直接远程导出到Linux的备份服务器上。
GreenPlum
目前只有Linux版本。