(已实践)PLSQL本地还原Oracle数据库dmp文件 |
您所在的位置:网站首页 › oracle数据库恢复dmp › (已实践)PLSQL本地还原Oracle数据库dmp文件 |
这个方法很烂,导致重装Oracle时候处处出现问题,不建议使用这个方法,除非你以后不再用Oracle这个软件了,这个方法很烂,再评论一下。 第一,启动服务,(如果数据库处于启动状态,那么略过这一步) 也可以这样: 打开命令行执行以下语句net start OracleServiceORCLnet start OracleOraDb10g_home2TNSListenernet start OracleOraDb10g_home2iSQL*Plus 以上方式是在windows服务中启动服务,当windows服务不能启动数据库实例的时候,应用以下的语句 set oracle_sid=orcl oradim -startup -sid orcl sqlplus internal/oraclestartup 二、给用户授权时候,必须使用system用户登录 清理以前还原过的痕迹,如果我们在数据库曾经还原过,我们先来清理一下,痕迹, //删除用户 drop user xxxx cascade; //删除表空间 drop tablespace xxxx; //删除数据库文件 e:/xxxxxx.dbf 第三,接下来,准备工作做好后,我们就可以开始还原了//创建用户 【用户名一般最好大写,不然会出现很多麻烦】 CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP; //给予用户权限grant connect,resource,dba to xxxx; //创建表空间,并指定文件名,和大小 CREATE SMALLFILE TABLESPACE "xxxx" DATAFILE 'E:/ORADATA/ORCL/xxxx.DBF' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; //执行给予权限的脚本grant.txt,将权限给予刚才创建的用户//给予权限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 xxxx; ---------------------------------------------------------------------------------------//开始导入(完全导入),file:dmp文件所在的位置, ignore:因为有的表已经存在,对该表就不进行导入。 在后面加上 ignore=y 。指定log文件 log=e:/log.txt(注:以下必须在cmd里执行,在SQL*PLUS里无法执行)imp user/pass@orcl full=y file=e:/xxx.dmp ignore=y log=e:/log.txt; //当我们不需要完整的还原数据库的时候,我们可以单独地还原某个特定的表//---------------------------------------------------------------------------imp user/pass@datbase file=e:/xxx.dmp ignore=y log=e:/log.txt tables=(xxxx)imp user/pass@database file=e:/xxx.dmp ignore=y log=e:/log2.txt tables=(xxxx) //--------------------------------------------------------------------------- |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |