惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
罗磊的独立博客
B
Blog
博客园_首页
A
About on SuperTechFans
有赞技术团队
有赞技术团队
V
V2EX
U
Unit 42
I
InfoQ
IT之家
IT之家
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
H
Help Net Security

博客园 - superstar

我的抽奖系统 CRM 后台管理 计件系统 -.netcore-审批人 计件系统 win10家庭版怎么打开组策略编辑器 触发值更新 求类似这个Excel的甘特国科项目模板 SQL账表实现超始日期为最近7天 简单帐表双击打开直接SQL账表 安装补丁的时候提示“无法连接,需要安装K3CloudManager服务”,该服务怎么安装? sql 开窗函数 需要基本单位实发数量!= 主库存基本单位实发数量 就不报这个错 邮件服务器设置 结合实例来分析SQL的窗口函数 sql 逐行累加 如何设置而是采购员默认值 BOSS语句整理!!!花了两个小时!!! 金蝶版本升级例如 6.2 升级成8.0 建议先升级个7.0过滤版本再升级8.0 金蝶云星空MRP运算测试 1.Spring Boot创建SSM(IDEA+ORACLE) springboot整合mybatis实现多表查询的实战记录 .NET 6 使用JWT Bearer认证和授权的步骤 一年级拼音练习题
oracle使用exp/imp导入导出(用户)
superstar · 2022-11-23 · via 博客园 - superstar

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

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

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

两种方式:

  1. 使用exp命令,逐步根据提示操作(因为导出用户,用该用户登录即可),在填写完导出文件路径后,选择U(即(2)U(用户)可以导出用户的所有数据),以后选择默认,填写导出用户时填写:nxgy。
  2. 使用exp命令:exp user_name/password owner=导出用户 file=导出地址
  1. exp nxgy/nxgy owner=nxgy file=D:dmpuser_nxgy.dmp  

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

另需要做的检查:

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

  1. SQL> select username,default_tablespace from dba_users where username='NXGY';  
  2.   
  3. USERNAME                       DEFAULT_TABLESPACE  
  4. NXGY                           USERS  


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

  1. SQL> select DISTINCT owner,tablespace_name from dba_extents where owner like 'NX  
  2. GY';  
  3.   
  4. OWNER                          TABLESPACE_NAME  
  5. NXGY                           SYSTEM  
  6. NXGY                           USERS  
  7. NXGY                           GTZY_DATA  


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

  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. TABLESPACE_NAME                     BYTES  
  7. D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF  
  8. USERS                             9175040  
  9.   
  10. D:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF  
  11. SYSTEM                          534773760  
  12.   
  13. D:ORACLEPRODUCT10.2.0ORADATAORCLGTZY_DATA  
  14. GTZY_DATA                       146800640  


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

  1. SQL> select name from v$tablespace where name in ('SYSTEM','USERS','GTZY_DATA');  
  2.    
  3. NAME  
  4. SYSTEM  
  5. USERS  

没有表空间gtzy_data,需要创建

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

  1. SQL> select username from dba_users where username='NXGY';    

6.创建表空间,和用户

  1. /*第1步:创建临时表空间  */  
  2. create temporary tablespace gtzy_temp    
  3. tempfile 'D:javaoracleoradataorclgtzy_temp.dbf'   
  4. size 50m    
  5. autoextend on    
  6. next 50m maxsize 1024m    
  7. extent management local;   
  8. /*第2步:创建数据表空间  */  
  9. create tablespace gtzy_data    
  10. logging    
  11. datafile 'D:javaoracleoradataorclgtzy_data.dbf'   
  12. size 50m    
  13. autoextend on    
  14. next 50m maxsize 1024m    
  15. extent management local;   
  16.   
  17.   
  18. /*第3步:创建用户并指定表空间  */  
  19. create user nxgy identified by nxgy    
  20. default tablespace gtzy_data    
  21. temporary tablespace gtzy_temp;    
  22.    
  23. /*第4步:给用户授予权限  */  
  24. 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中

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

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