导出DMP:
exp MC/MC@club_pca file=c:/CLUB20160422.dmp log=c:/CLUB20160422.log
exp MMM/dms_5906928@MMM file=c:/MMM20180525.dmp log=c:/MMM20180525.log
exp MMM/dms_5906928@MMM file=c:/MMM20180529.dmp log=c:/MMM20180529.log
导入DMP:
第一,启动服务,(如果数据库处于启动状态,那么略过这一步)
打开命令行执行以下语句
net start OracleServiceORCL
net start OracleOraDb10g_home2TNSListener
net start OracleOraDb10g_home2iSQL*Plus
以上方式是在windows服务中启动服务,当windows服务不能启动数据库实例的时候,应用以下的语句
set oracle_sid=orcl
oradim -startup -sid orcl
sqlplus internal/oracle
startup
第二清理以前还原过的痕迹,如果我们在数据库曾经还原过,我们先来清理一下,痕迹,
//删除用户
drop user xxxx cascade; drop user u_msmapp cascade;
//删除表空间
drop tablespace xxxx; drop tablespace "MMM";
//删除数据库文件
e:/xxxxxx.dbf
第三,接下来,准备工作做好后,我们就可以开始还原了
//创建用户
CREATE USER 用户名 IDENTIFIED BY 密码 CREATE USER u_msmapp IDENTIFIED BY 00000000;
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
//给予用户权限
grant connect,resource,dba to xxxx; grant connect,resource,dba to u_msmapp;
//创建表空间,并指定文件名,和大小
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;
------------------
CREATE SMALLFILE TABLESPACE "GMM" DATAFILE 'D:/ORADATA/ORCL/GMM.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;
--------
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 u_msmapp;
//开始导入(完全导入),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;
//当我们不需要完整的还原数据库的时候,我们可以单独地还原某个特定的表
//---------------------------------------------------------------------------
impuser/pass@datbasefile=e:/xxx.dmp ignore=y log=e:/log.txt tables=(xxxx)
impuser/pass@databasefile=e:/xxx.dmp ignore=y log=e:/log2.txt tables=(xxxx)
imp system/accp@orcl file=d:\daochu.dmp full=y
imp SYSTEM/pipixia file=D:/DB/MMM/MMM20180525.dmp full=y ignore=y log=d:/log.txt
---------------------
查看所有表空间
select tablespace_name from dba_tablespaces;
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
select table_name from user_tables where NUM_ROWS=0;
启动监听服务命令:
C:\>lsnrctl start
alter user u_msmapp identified by m114802081131
select * from mptmenunode