Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

Oracle数据库还原与备份 PDF 下载


分享到:
时间:2020-07-29 09:29来源:http://www.java1234.com 作者:小锋  侵权举报
Oracle数据库还原与备份 PDF 下载
失效链接处理
Oracle数据库还原与备份 PDF 下载


本站整理下载:
 
相关截图:
 
主要内容:


1.背景
客户公司因停电,加之未安装UPS,数据库服务器未能正常下电,导致数据库服务崩溃,处理未能解决问题,直接重新安装Windos Service 12系统及Oracle数据库服务端,Oracle的安装参考网上统一的流程即可,后面讲述具体的操作步骤。
 
 
2.导入
2.1方法1
创建对应的表空间、用户及权限。
> cmd
> sqlplus
> conn /as sysdba;
//(管理员用户密码   system/sys   orcl)
> 输入密码 orcl
 
//1.创建用户、密码
SQL> create user mes indentified by mes;
 
//2.创建表空间(每个表空间文件最大容量32G)
SQL> create tablespace MesUsers(表空间变量名) logging datafile ‘路径\表空间名.dbf’size 20000m autoextend on next 1000m maxsize unlimited extent management local;
 
//3.绑定表空间给新创建的用户
SQL> alter user mes default tablespace MesUsers;
 
//4.为用户分配权限(默认dba)
SQL> grant dba to mes;
 
//5.创建目录变量
SQL> create or replace directory mesdir as 'D:/db_backup';
 
//6.将该目录的可读写权限赋值给该用户(根据情况使用)
SQL> grant read,write on directory mesdir to mes;
 
//7. 导入
可以使用新创建的用户导入,但是导入过程中控制台会提示新创建的用户(MES)已存在。
> cmd
> impdp user/pwd@orcl directory=mesdir dumpfile=MES_.dmp full=y;
 
2.2方法2
若不需要创建表空间,直接使用数据库管理员账号、密码导入,则上述2.1配置无需处理,直接执行方法2导入即可。(本次采用的方式)
//创建目录变量
SQL> create or replace directory mesdir as 'D:/db_backup';
 
Cmd中:
> impdp system/orcl@orcl directory=mesdir dumpfile=MES.dmp full=y;
 
 
3.问题汇总
在impdp导入文件过程中,遇到了很多问题,下面将遇到的问题及处理方式列出:
1).创建导出时操作的用户MES,使用MES账号进行导入(方法1),控制台会提示该账号已经存在,无法进行导入,此问题可忽略,因为MES已人工创建;
 
2).导入时未注意导出时使用的是expdp方式,导致使用imp导入失败;
原因:导入分为两种,imp和exp;imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
 
 
3).impdb导入时,控制台程序提示USERS表空间不足,导入失败;
原因:一个数据表空间文件最大为32G,达到32G后无法继续扩展,此时新建表空间文件即可,可建多个表空间文件;
PlSql中执行下列语句:
ALTER TABLESPACE USERS ADD DATAFILE 
'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF' SIZE 30000M
AUTOEXTEND ON NEXT 2000M;
 
4).导入数据库时,遇到个别表数据导入时,实际值大于数据库字段设定大小;
原因:还原的数据库与源数据库字符集不一致,必须修改为统一的字符集。
> cmd
> sqlplus
> conn /as sysdba;
> 输入密码 orcl
//1.关闭数据库实例
SQL> SHUTDOWN IMMEDIATE;
//2.打开控制文件
SQL> STARTUP MOUNT;
//3.设置session
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
//4.启动数据库
SQL>alter database open;
//5.修改字符集
SQL>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
//6.关闭,重新启动
SQL>shutdown immediate;
SQL>startup
查询数据信息
select * from v$nls_parameters;  
 
5).导入失败,必须删除操作用户下面的所有数据,并重新开始导入。
SQL> drop user MES cascade;


 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐