失效链接处理 |
Oracle数据库还原与备份 PDF 下载
本站整理下载:
提取码:aswz
相关截图:
主要内容:
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;
|