#注意:为确保数据一致,建议停止应用服务(例如泛微Ecology9)
cd /usr/weaver/Resin4/bin --切换到应用服务器路径
./stopresin.sh --停止Resin服务--
./startresin.sh --启动Resin服务--
一、Oracle数据库备份
1、在数据库服务器上操作登录Oracle用户
su - oracle 登录Oracle用户
2、找到空间比较大的目录,比如/home/oracle
1、登录数据库
sqlplus / as sysdba
2、创建directory
create directory mydata as '/home/oracle';
3、给directory 赋权 读写权限
grant read,write on directory mydata to public;
4、如果创建directory提示ORA-00955: name is already used by an existing object(名称已由现有对象使用)执行5
5、删除directory后重新创建执行2、3
drop directory mydata;
3、Oracle备份命令
1、先退出<SQL> exit
2、expdp 用户名/密码 directory=mydata dumpfile=ecology.dmp logfile=ecology-expdp.log
二、Oracle数据库还原
1、备份文件迁移准备
把ecology.dmp放到要还原的环境上(比如放在/home/oracle)
方法一:服务器直传
##跨服务器如果网络通的情况下 参考样例
1、将某个本地文件复制到指定的远程主机的指定目录中:
[root@linuxcool ~]# scp File.cfg 192.168.10.10:/Dir/
2、将指定远程主机中的某个文件复制到本地家目录中:
[root@linuxcool ~]# scp 192.168.10.10:/Dir/File.cfg /root
3、将某个本地目录复制到指定的远程主机的指定目录中:
[root@linuxcool ~]# scp -r Dir 192.168.10.10:/Dir
4、将指定远程主机中的某个目录复制到本地家目录中:
[root@linuxcool ~]# scp -r 192.168.10.10:/Dir /root
5、将指定远程主机中的某个目录复制到本地家目录中:
[root@linuxcool ~]# scp -r 192.168.10.10:/Dir /root
方法二:传统方式 通过Xshell、Xftp下载、上传
在数据库服务器上操作
2、登录Oracle用户
su - oracle 登录Oracle用户
3、登录数据库操作
1、登录数据库
sqlplus / as sysdba
2、删除用户 user
drop user 用户名 cascade;
3、创建用户 user
create user 用户名 identified by 密码 default tablespace ecology;
4、用户赋权
grant connect,resource to ecology;
grant create view to ecology;
grant DATAPUMP_EXP_FULL_DATABASE ,DATAPUMP_IMP_FULL_DATABASE to ecology;
5、创建directory
create directory mydata as '/home/oracle';
6、给directory 赋权 读写权限
grant read,write on directory mydata to public;
4、Oracle还原命令
1、先退出<SQL> exit
2、impdp 用户名/密码 directory=mydata dumpfile=ecology.dmp logfile=ecology-impdp.log
三、Oracle数据库备份还原常见问题
1、表空间不存在(tablespace )
ORA-00959:表空间不存在
1、查询表空间
select name from v$tablespace;
2、查询表数据路径
select name from v$datafile;
3、根据查询路径创建表空间
create tablespace ecology datafile '/home/oracle/oradata/orcl/ecology.dbf' size 2000M AutoExtend On Next 10M segment space management auto;
2、directory 已存在(名称已由现有对象使用)
ORA-00955: name is already used by an existing ()
1、删除directory后重新创建
drop directory mydata;
2、创建directory
create directory mydata as '/home/oracle';
3、给directory 赋权 读写权限
grant read,write on directory mydata to public;
评论区