如何将dmp文件导入到Oracle
一、概述
在将dmp文件导入到Oracle中之前,需要先创建一个orcale用户。然后使用该用户名和密码,以imp的方式将数据导入到oracle中。
二、执行步骤
1、登陆oracle数据库
a、sqlplus / as sysdba
b、如果使用a不成功,则使用 sqlplus demo/demo@localhost/ORCLpdb1的方式
2、查询临时空间表和表空间的存储位置
select name from v$tempfile;
select name from v$datafile;
3、创建用户临时表空间和表空间,使用上面查到的任一存储位置即可
create temporary tablespace demo_temp tempfile '/oracle/u02/oradata/ERP2/demo_temp.dbf' size 100m reuse autoextend on next 20m maxsize unlimited;
create tablespace demo datafile '/oracle/u02/oradata/ERP2/demo.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
注:删除表空间的命令drop tablespace temp including contents and datafiles;
4、创建用户并指定表空间
create user demo identified by demo default tablespace demo temporary tablespace demo_temp;
5、如果此时报错,Oracle 19c:创建用户时出现“ORA-65096: invalid common user or role name”的错误
这时涉及到CDB和PDB的基本管理,资料来源oracle官方。
基本概念:
Multitenant Environment:多租户环境
CDB(Container Database):数据库容器
PD(Pluggable Database):可插拔数据库
CDB与PDB关系图
COMMON USERS(普通用户):经常建立在CDB层,用户名以C##或c##开头;
LOCAL USERS(本地用户):仅建立在PDB层,建立的时候得指定CONTAINER。
官方原始文件介绍如下:
The data dictionary in each container in a CDB is separate, and the current container is the container whose data dictionary is used for name resolution and for privilege authorization. The current container can be the root or a PDB. Each session has exactly one current container at any point in time, but it is possible for a session to switch from one container to another.
Each container has a unique ID and name in a CDB. You can use the CON_ID and CON_NAME parameters in the USERENV namespace to determine the current container ID and name with the SYS_CONTEXT function.
说白了,就是你当前的session不能创建你需要的用户,需要使用SYS_CONTEXT函数
a、查看Oracle 19c的版本
select * from v$version;
select sys_context ('USERENV', 'CON_NAME') from dual;
b、我们可以通过ALTER SESSION SET CONTAINER 指定其他容器
select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
C、将PDB open
alter pluggable database pdborcl open;
d、查看容器
select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
e、切换到pdb
alter session set container=PDBORCL;
f、查看当前使用容器
select sys_context ('USERENV', 'CON_NAME') from dual;
g、创建用户
create user demo identified by demo default tablespace demo temporary tablespace demo_temp;
6、导入文件到oracle
oracle连接方式用两种,一般用户喜欢使用Server_id的方式,导入方式为
imp demo/123456@orcl file="C:\Users\xiejiachen\Desktop\test20190630.DMP" full =y;
使用server_name的导入方式如下:
imp demo/123456@localhost/ORCLpdb1 file=home/oracle/demo.dmp ignore=y full=y
其中demo为用户名,123456为密码,@后面是主机名称,ORCLpdb1是server的名称。
如何将dmp文件导入到Oracle的更多相关文章
- 如何将dmp文件导入到oracle数据库中
如何将dmp文件导入到oracle数据库中 1.首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下: CREATE TABLESPACE certification(表空间的名字) DAT ...
- 如何将dmp文件导入到自己的oracle数据库中
1.首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下: create tablespace test(表空间的名字) datafile 'D:\oracle\product\10.2.0 ...
- Linux下Oracle新建用户并且将已有的数据dmp文件导入到新建的用户下的操作流程
Oracle新建用户并且将已有的数据dmp文件导入到新建的用户下的操作流程 1.切换到oracle用户下 su - oracle 2.登录sqlplus sqlplus /nolog 3.使用sysd ...
- 【故障处理】IMP-00010错误 12C的dmp文件导入11G
[故障处理]IMP-00010错误 12C的dmp文件导入11G 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...
- dmp文件导入
dmp文件导入 1,打开“开始”-->输入cmd—> sqlplus log: 2,输入 conn / as sysdba管理员账户登录: 3,需要创建表空间,如果我们知道需要导入的数据库 ...
- paip.oracle10g dmp文件导入总结
paip.oracle10g dmp文件导入总结 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net ...
- 【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中
[exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后 ...
- 转-【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中
原帖地址:http://blog.csdn.net/lihuarongaini/article/details/71512116 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完 ...
- dmp文件导入抽取方法
一.确认dmp文件.oracle客户端和服务端的字符集 (1)dmp文件字符集确认: 使用UE打开dmp文件查看文件第2个和第3个字节内容,这两个字节记录了dmp文件的字符集.如0354,然后用以下s ...
随机推荐
- IP地址规划
IP地址(Internet Protocol Address),缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址.它为互联网上的每一个网络 ...
- 使用mysql服务实现负载均衡
mysql 长连接(tcp协议)模拟负载均衡 1.存在member,member的port与mysql服务port一致为3306 2.vip绑定浮动ip 3.开启mysql服务: #service m ...
- Python 基础之匿名函数 迭代器和高阶函数
一.匿名函数 lambda表达式 用一句话来表达只有返回值的函数,叫匿名函数特点:简洁方便语法:lambda 参数: 返回值 1.不带有参数的lambda表达式 def func(): retu ...
- js加密(九)hr.bibibi md5
1. 寻找加密js: 2. 结果: 3. execjs调用js即可.
- Python自动化运维的职业发展道路(暂定)
Python职业发展之路 Python自动化运维工程 Python基础 Linux Shell Fabric Ansible Playbook Zabbix Saltstack Puppet Dock ...
- system调用
调用系统命令,利用fork+exec+wait来执行系统命令,依赖系统环境
- 【剑指Offer面试编程题】题目1524:复杂链表的复制--九度OJ
题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点). 输入: 输入可能包含多个测试样例,输入以EOF结束. 对于每个测试案例,输入的第 ...
- Spring之byte[]传输
事出原因 某些原因,需要在在服务之间传输文件,想到只有通过Byte数组,或者是Stream传递,遂定下两方法,一个byte,一个inpustream,老样子,upload(@RequestParam( ...
- HTTP和HTTPS的区别,SSL的握手过程
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂 ...
- 41和为S的连续正数序列+注意循环条件记一下这题特殊解法
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...