设为首页 收藏本站
查看: 1197|回复: 0

[经验分享] Oracle新建数据库,并导入dmp文件

[复制链接]

尚未签到

发表于 2017-12-10 17:58:12 | 显示全部楼层 |阅读模式
  1:安装Oracle及新建数据库
  Oracle 11g安装图解
  http://www.cnblogs.com/qianyaoyuan/archive/2013/05/05/3060471.html
  http://jingyan.baidu.com/article/380abd0aadb63a1d90192cec.html
  Oracle图形化新建数据库
  http://jingyan.baidu.com/article/90bc8fc80c01f2f653640c1f.html
  2:数据库建立成功之后,新建表空间,临时表空间,分区表空间
  2.1:建立表空间,临时表空间,分区表空间,路径和大小根据实际情况修改
  2.2:新建用户 CCENSE/CCENSE

DSC0000.gif DSC0001.gif   

  
CREATE TABLESPACE "CCEN"
  LOGGING

  DATAFILE 'E:\oracle2\bus\CCEN.ora'>  AUTOEXTEND ON NEXT 10M MAXSIZE 10000M
  EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO
  
/
  

  

  
CREATE
  TEMPORARY TABLESPACE "CCEN_TMP" TEMPFILE

  'E:\oracle2\bus\CCEN_TMP.ora'>
  MANAGEMENT LOCAL UNIFORM>  
/
  

  
CREATE TABLESPACE "TBS_PAR1"
  LOGGING

  DATAFILE 'E:\oracle2\bus\TBS_PAR1.ora'>  AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT
  LOCAL SEGMENT SPACE MANAGEMENT AUTO
  
/
  

  
CREATE USER "CCENSE"  PROFILE "DEFAULT"
  IDENTIFIED BY "CCENSE" DEFAULT TABLESPACE "CCEN"
  TEMPORARY TABLESPACE "CCEN_TMP"
  ACCOUNT UNLOCK;
  
GRANT "CONNECT" TO "CCENSE";
  
GRANT "DBA" TO "CCENSE";
  
/
  


Win创建表空间分区表空间用户  3:Oracle imp/impdp 导入dmp文件到数据库
  使用EXPDP和IMPDP时应该注意的事项:
  EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用
  EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用
  IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
  注意:EXP不会导出空表(可能会对存储过程有影响)
  3.1: exp/imp导出/导入数据
  

  
exp CCENSE/CCENSE@OracleDB file=D:\DBBackUp\oracleExp.dmp log=D:\DBBackUp\oracleExp20161103.log
  

  
imp CCENSE/CCENSE@OracleDB file=D:\DBBackUp\oracleExp.dmp log=D:\DBBackUp\oracleImp20161103.log FULL=y;
  

  

  

  grant connect,resource,dba to CCENSE;
  

数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3 将数据库中的表table1 、table2导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"  上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
  不过在上面命令后面 加上 compress
=y  就可以了  
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。  imp system
/manager@TEST  file=d:\daochu.dmp  上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
  在后面加上 ignore
=y 就可以了。2 将d:\daochu.dmp中的表table1 导入  imp system
/manager@TEST  file=d:\daochu.dmp  tables=(table1)   

  3.2:expdp/impdp导出/导入数据
  使用impdp命令,需要在oracle数据库服务器操作:
  使用sqlplus或者Oracle客户端(PL/SQL) 链接到相应的Oracle数据库实例(进行下面第一,第二两步骤的操作)
  一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
  

create directory dpdata1 as 'd:\test\dump';  

  
(查看服务器上若没有存在d:\test\dump目录,则手动新建,把dmp备份文件放到d:\test\dump目录下面)
  

  二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
  

select * from dba_directories;  

DSC0002.png

  三、导入数据库
  

  
expdp CCENSE/CCENSE@OracleDB directory = "dpdata1" dumpfile ="oracleExpdp.dmp" logfile = oracleExpdp20161103.log
  

  
impdp CCENSE/CCENSE@OracleDB directory="dpdata1" dumpfile="oracleExpdp.dmp" logfile = oracleImpdp20161103.log FULL=y;
  

  

  

  

  
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
  
FROM dba_tablespaces t, dba_data_files d
  
WHERE t.tablespace_name = d.tablespace_name
  
GROUP BY t.tablespace_name;
  

  

  
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
  

  

  
netstat -aon|findstr "1522"
  

  

  
lsnrctl status LISTENER2
  
lsnrctl start LISTENER2
  
lsnrctl stop LISTENER2
  

  

  
linux sqlplus ccense/ccense@//localhost:1521/OracleDB;
  
win sqlplus ccense/ccense@IP:1521/OracleDB;
  

  参考文档:http://www.cnblogs.com/luluping/archive/2010/03/16/1687093.html
  Oracle修改表空间大小
  http://www.cnblogs.com/RoyYu/archive/2012/12/09/2810492.html
  

  
select b.file_name 物理文件名,
  b.tablespace_name 表空间,
  b.bytes / 1024 / 1024 大小M,
  (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,
  substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率
  from dba_free_space a, dba_data_files b
  where a.file_id = b.file_id
  group by b.tablespace_name, b.file_name, b.bytes
  order by b.tablespace_name;
  

  
SELECT t.table_name, t.NUM_ROWS, s.BYTES, t.OWNER, t.TABLESPACE_NAME
  FROM dba_tables t, user_segments s
  where t.TABLE_NAME = s.segment_name
  ORDER BY 3 DESC;
  


  
ALTER TABLESPACE CCEN ADD DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\NEWBUS2\CCEN.ORA'>  

  imp 只导入数据,不导入表结构,在命令里加上ignore=y就可以了
  ignore=y相当于,如果没有的表,创建并倒入数据,如果已经有的表,忽略创建的,但不忽略倒入。
  在使用IMP导入并使用ignore=y参数时,Oracle根本不检查要导入的数据结构和现存在数据库中表的结构是否相同
  exp 命令导出表结构,不导出表数据。只需在命令行里加一个参数rows=n即可。表示不导出表数据

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-422724-1-1.html 上篇帖子: oracle dblink 查询 tns:无法解析指定的连接标识符 下篇帖子: oracle数据库常用关键字汇总!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表