Linux+Oracle环境下如何将A服务器上的数据库备份还原到B服务器
在Windows环境下如果做数据的备份、转移和还原是非常简单的,直接使用可视化的操作,然后通过远程桌面操作,同时可以通过远程桌面或者文件夹共享的方式将备份文件转移到另外一台服务器上。
(1)exp命令导出数据库到一个数据文件
而在Linux下一般都是用命令行操作,所以要转移备份文件就不是拖拽那么简单的操作了。一个比较简单的做法就是使用Putty获取其他工具通过SSH连接到A服务器上,用exp命令可以导入一个用户下的数据到一个dmp文件下,比如我们要将A服务器中的PA用户下的所有数据转移到B服务器上,那么具体导出命令就是:
exp pa/密码 file=pa.dmp log=pa.log rows=y;
(2)ftp命令转移数据到另一台服务器
这样就会生成一个pa.dmp的数据文件和一个pa.log的日志文件。然后接下来需要通过SSH连接到B服务器上,在服务器上使用FTP的方式获取A服务器上的数据文件。
ftp 192.168.100.100
这里连接的100.100是A服务器的IP,然后输入A服务器上刚才SSH连接上的Linux用户名和密码,即可登录到A服务器上。ls命令可以查看A服务器上FTP的目录,默认是Linux用户的Home目录,然后使用bin命令切换到二进制模式,使用命令get pa.log可以获得这个文件到B服务器上,然后再get pa.dmp即可把数据文件下载下来。使用bye命令结束FTP命令行模式,回到Linux命令行。
ftp> ls
ftp> bin
ftp> get pa.log
ftp> get pa.dmp
ftp> bye
(3)imp命令还原数据库
接下来就是把文件还原到B服务器数据库中,在B服务器上建立表空间和用户,然后运行imp命令将文件中的数据导入到B数据库的pa用户中,系统将会自动建立各数据库对象,但是一定要保证导入的用户具有这些操作的权限。
imp pa/密码 file=pa.dmp log=pa.log fromuser=pa touser=pa commit=y ignore=y
这样我们的pa数据库就从A服务器转移到B服务器了。