zoukankan      html  css  js  c++  java
  • oracle使用exp/imp导入导出(用户)

    实例,从远程机器上导出nxgy用户的所有对象和数据,然后导入到本机数据库的nxgy用户里(用户名可自定义)

    如果本机nxgy用户已经存在(数据没用,可以删除),级联删除用户所有对象

    首先,从远程机器上导出nxgy用户的数据和对象

    两种方式:

    1. 使用exp命令,逐步根据提示操作(因为导出用户,用该用户登录即可),在填写完导出文件路径后,选择U(即(2)U(用户)可以导出用户的所有数据),以后选择默认,填写导出用户时填写:nxgy。
    2. 使用exp命令:exp user_name/password owner=导出用户 file=导出地址
    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. exp nxgy/nxgy owner=nxgy file=D:dmpuser_nxgy.dmp  

    如导出成功,会给出提示:成功终止导出,没有出现警告。

    另需要做的检查:

    1.在远程机器上查看用户默认空间,以便导入时创建一样的空间。

    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. SQL> select username,default_tablespace from dba_users where username='NXGY';  
    2.   
    3. USERNAME                       DEFAULT_TABLESPACE  
    4. ------------------------------ ------------------------------  
    5. NXGY                           USERS  


    2.查看用户使用的表空间

    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. SQL> select DISTINCT owner,tablespace_name from dba_extents where owner like 'NX  
    2. GY';  
    3.   
    4. OWNER                          TABLESPACE_NAME  
    5. ------------------------------ ------------------------------  
    6. NXGY                           SYSTEM  
    7. NXGY                           USERS  
    8. NXGY                           GTZY_DATA  


    3.查看表空间对应的数据文件,以便在本机上创建大小合适的数据文件

    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. SQL> select file_name,tablespace_name,bytes from dba_data_files where tablespace  
    2. _name in ('SYSTEM','USERS','GTZY_DATA');  
    3.   
    4. FILE_NAME  
    5. --------------------------------------------------------------------------------  
    6.   
    7. TABLESPACE_NAME                     BYTES  
    8. ------------------------------ ----------  
    9. D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF  
    10. USERS                             9175040  
    11.   
    12. D:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF  
    13. SYSTEM                          534773760  
    14.   
    15. D:ORACLEPRODUCT10.2.0ORADATAORCLGTZY_DATA  
    16. GTZY_DATA                       146800640  


    4.检查本机的表空间,是否存在SYSTEM,USERS,GTZY_DATA

    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. SQL> select name from v$tablespace where name in ('SYSTEM','USERS','GTZY_DATA');  
    2.    
    3. NAME  
    4. ------------------------------  
    5. SYSTEM  
    6. USERS  

    没有表空间gtzy_data,需要创建

    5.查询本机是否存在nxgy用户

    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. SQL> select username from dba_users where username='NXGY';    

    6.创建表空间,和用户

    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. --删除表空间,删除gtzy_data时,磁盘上的文件没有删除,要手动删除  
    2. --drop tablespace gtzy_data including contents and datafiles;  
    3. --drop tablespace gtzy_temp including contents and datafiles;  
    4. /*第1步:创建临时表空间  */  
    5. create temporary tablespace gtzy_temp    
    6. tempfile 'D:javaoracleoradataorclgtzy_temp.dbf'   
    7. size 50m    
    8. autoextend on    
    9. next 50m maxsize 1024m    
    10. extent management local;   
    11. /*第2步:创建数据表空间  */  
    12. create tablespace gtzy_data    
    13. logging    
    14. datafile 'D:javaoracleoradataorclgtzy_data.dbf'   
    15. size 50m    
    16. autoextend on    
    17. next 50m maxsize 1024m    
    18. extent management local;   
    19.   
    20. --删除用户  
    21. --drop user nxgy cascade;  
    22.   
    23. /*第3步:创建用户并指定表空间  */  
    24. create user nxgy identified by nxgy    
    25. default tablespace gtzy_data    
    26. temporary tablespace gtzy_temp;    
    27.    
    28. /*第4步:给用户授予权限  */  
    29. grant connect,resource,dba to nxgy;  

    在本机测试用,表空间给小点也无所谓,区别是远程服务器上默认表空间为USERS,而在本机,我把默认表空间改成了GTZY_DATA

    最后导入数据库文件

    使用imp命令:imp user_name/password fromuser=导出的用户 touser=导入的用户 file=文件路径

    C:Usersadministrator>imp nxgy/nxgy fromuser=nxgy touser=nxgy file=d:/dmp/user_nxgy.dmp

    或者使用imp命令逐步进行,只需要注意在提示输入用户名是,输入的是导入的用户名,其它均为默认。

    即用sys as sysdba登录,用户名填写nxgy,则会把nxgy的数据导入到sys中

    如导入成功,会给出提示:成功终止导入,没有出现警告。

    导出用户和导入用户不同,会出现警告

  • 相关阅读:
    LR在CTR中的实践经验
    我的新书:《工业机器学习算法详解与实战》
    XSS漏洞解析(一)
    netty 解决TCP粘包与拆包问题(二)
    java实现ftp文件的上传与下载
    webService-cxf
    centos7下安装gitlab
    完全卸载删除gitlab
    tomcat 在widows的下的一些常见配置
    JAVA中使用JSch库实现SSH功能
  • 原文地址:https://www.cnblogs.com/duex/p/6742704.html
Copyright © 2011-2022 走看看