今天终于自己尝试在Ubuntu Server系统上安装了Oracle xe,那下一步就是怎样对oracle数据库的数据进行备份和导入。公司部门的开发环境的数据库服务器没有备份服务器,如果坏了,那且不是麻烦大了,于是我就开始搭建数据库服务器的备份服务器。
数据库服务器我们假设为A,数据库备份服务器假设为B,这首先这两台机子都Linux系统和安装Oracle。
第一步搭建两台机子可以自动的传输文件(SSH 免密码传输,这样就不需要人工输入密码了)
方法一
#在A上的命令:
#(连续三次回车,即在本地生成了公钥和私钥,不设置密码)
ssh-keygen -t rsa
#(需要输入密码)
ssh root@172.24.253.2 "mkdir .ssh;chmod 0700 .ssh"
#(需要输入密码)
scp ~/.ssh/id_rsa.pub B服务器的用户名@B服务器的IP:.ssh/id_rsa.pub
#在B上的命令:
#(如果已经存在这个文件, 跳过这条)
touch .ssh/authorized_keys2
#(将id_rsa.pub的内容追加到 authorized_keys2 中)
cat .ssh/id_rsa.pub >> .ssh/authorized_keys2
方法二
#在A上的命令:
#(连续三次回车,即在本地生成了公钥和私钥,不设置密码)
ssh-keygen -t rsa
#(需要输入密码)
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p ssh端口 B服务器的用户名@B服务器的IP"
第二步备份数据库数据
1. 数据导出的几种模式
#将数据库db1完全导出,用户名system 密码oracle 导出到/home/oracle/db_backup.dmp中
exp system/oracle@db1 file=/home/oracle/db_backup.dmp full=y
#将数据库中system用户与sys用户的表导出
exp system/oracle@db1 file=/home/oracle/db_backup.dmp owner="(system,sys)"
#将数据库中的表t_table1、t_table2导出
exp system/oracle@db1 file=/home/oracle/db_backup.dmp tables="(t_table1,t_table2)"
#将数据库中的表table1中的字段filed1以"A"结尾的数据导出
exp system/oracle@db1 file=/home/oracle/db_backup.dmp tables=(table1) query=" where filed1 like '%A'"
第三步将备份是文件传输到到备份服务器
rsync -zva --progress db_backup.dmp B服务器用户名@B服务服务器IP:B服务器的备份路径/db_backup.dmp
第四步将数据导入到数据库
imp system/oracle@xe file=daochu.dmp full=y ignore=y
第五步就是写好shell脚本和配Linux的定时任务(脚本就是第一到第三步的内容),使用Linux的crontab来配置定时任务(具体的配置就不详细介绍了),使其能够每天定时备份数据,并把文件备份到另外一台服务器上
第六步是将数据导入到备份数据库服务器的Oracle上,这个步骤暂时不使用定时任务,在需要的时候可以手动导入数据库的数据,而需要注意的是在导入之前,你必须确保你数据库的用户是必须存在的,不然导入的时候会报错,创建数据库的用户如下:
create user 用户名 IDENTIFIED BY 密码;
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字;
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com