Oracle
冷备:
貌似需要dbca创建一致的oracle instance 服务器配置版本尽量相同,安装路径相同.
关闭Oracle服务
将oracle app 目录下的oradata以及有快速闪回区的话中的control文件复制到新的服务器里面 注意是完全一致的目录
如果有自己的业务库的数据 也得移动到相同的目录中,
启动恢复到数据库的数据库服务, 如果正常立即可用.
热备:
exp expdp imp impdp rman 暂时不写了 用的少.
exp/imp 的方式速度较慢 但是兼容性较好 高低版本都有 不过貌似12c开始oracle要慢慢的不用这种陈旧的备份恢复方式了
优点:客户端运行 比较简单 不考虑linux winserver的区别等.
exp system/password@oracleinstancename owner=username file=c:\backupdir\dumpname.dump lot=c:\somedir\log.txt
导入:
需要创建需要恢复库的表空间以及用户等, 不然oracle会报错
创建语句
sqlplus / as sysdba 或执行相关命令,
表空间:
create bigfile(可选) tablespace talespacename datafile 'dir\data.dbf' size 100m autoextend on next 100m;
用户
create user username default tablespace tablespacename identified by password
权限
测试环境的话赋权多一点... 不过这一点就暴露自己的菜鸟属性了..
grant dba,resource,connect,create any table,create any view,create any sequence,unlimited tablespace to username
然后
imp system/password@oracleinstancename fromuser=username touser=username file=backdumpwithdirectory.dmp log=xxxx.log
注意 oracle11.2.0.1 以及几个低版本有bug 会导致exp时部分空表导不出来 造成环境不可用,所以还是建议用expdp
expdp 需要创建directory 所以建议在服务器端执行
方法 :
sqlplus / as sysdba
create directory as ' directory'
然后在command里面执行
expdp system/password directory=dir schemas=username dumpfile=some logfile=some
恢复时
先创建表空间和用户
用户的权限不需要赋予了备份恢复时会自动加上
impdp system/password directory=dir schemas=username dumpfile=some logfile=some
比较简单 像是parallel 以及其他参数可以慢慢学习使用.