Oracle数据导入导出

导出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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值