dmp文件导入
//1 oracle的数据模式是:用户建在表空间上,表建在用户上
//2 一个用户的表就象自己的私有财产一样,没有自己或管理员授权别的用户是不能查询或修改的;
//3 对于不同用户下的同名表,都是独立的数据对象,如user1.table1和user2.table1是相互独立的,用户分别操作自己的表是不影响其他用户的;
//4 对于同一用户下的同一个表,所有有权限的用户对其进行数据操作时,是会相互影响的,如对user1.table1来说,user1修改了它的一行,
//user2又对该表的该行进行了修改,那么该表的该行的实际内容是在user1修改后基础上user2修改的结果
//(注意,所有修改以最后成功提交修改请求的用户的内容为准), 多个用户对同一个用户下的同一个表的同时修改和锁定会造成锁等待
  --创建表空间 create tablespace TS_YYGL logging datafile 'D:\联众信息\HRP项目信息\OracleDataBase\oracleData变动文件/daochu20170621.dmp' --首先保证这个地址不存在该文件 size 50m autoextend on next 50m maxsize 20480m extent management local; --创建用户并指定表空间 create user ehospitalii identified by yygl default tablespace TS_YYGL --temporary tablespace medicinecm_temp; --赋予用户权限 grant connect,resource,dba to ehospitalii; 
--删除存在的表空间及数据
DROP TABLESPACE TS_WW INCLUDING CONTENTS AND DATAFILES;
drop user 用户名  cascade
--查找当前用户的表空间
select default_tablespace from user_user

以上处理 后,然后开始下面操作

//1,打开“开始”-->输入cmd—> sqlplus /nolog;

///2,输入 conn / as sysdba管理员账户登录;

//3,需要创建表空间,如果我们知道需要导入的数据库的表空间直接创建就可以,如果不不知道,也没有关系,我们可以用txt打开dmp文件,使用快捷键ctrl+F,查找tablespace,就可以找到这个dmp文件所对应数据库的表空间,然后创建我们找到的表空间就可以;

步,不创建的表空间,创建用户,并分配权限;

//5,打开“开始”-->输入cmd(注意:这里是cmd窗口,不是sqlplus窗口!!!),输入以下语句:“imp kang/123456@localhost/ORACLEfile="C:\daochu.dmp"full=y ignore=y”

上述语句说明如下:

//kang是创建的登录数据库用户名;

//123456是登录数据库的密码;

//localhost:代表当前数据库的地址是本机,如果是远程导入,替换成对应的ip地址就行

//ORACLE:是实例名称)

//file:后面的是你当前dmp文件存放的路径

//full=y,这个貌似是全部

//ignore=y,忽略一些错误

注意点:若是不修改参数,那么空表不会被导出

最近,要在其他地方重新复制一套数据库,数据库是Oracle11G的,先用exp full=y导出备份文件后,在另外的数据库上导入后,发现有一些表没有导入

这些表都有一些共同的特征,全部都是空表,百度发现原因,是因为一个参数的原因:

//show parameter deferred_segment_creation

当这个参数是true时,空表就不会分配segment空间,也不能被导出,将它改成false

alter system set deferred_segment_creation=false

就可以导出了。

不过,这只适用于修改参数之后创建的对象,对于之前创建的对象,只能通过其他方式来确保能导出:

//1.编辑对象中的数据,比如新增一条数据再删除。

//2.执行alter table tablename  allocate extent手动为表分配空间。

不同用户之间的导入  a用户导入到b用户

找了很多资料,其中一个是只能在服务端操作的empdb的操作,具体没有用过。

另外一种就是通过我们熟悉的imp 导入

具体的案例:imp  b用户名/密码@服务名  fromuser=a用户名 touser=b用户名 ignore=y file="导入的文件路径+文件名.dmp"

作为对比你会发现少了一个full=y,尝试过,提示不能同时存在fromuser 与full两种导入模式

不同的用户可以使用同一个表空间

--创建用户并指定表空间
create user ehospitaljx  identified by yygl
default tablespace  TS_YYGLjx
--temporary tablespace medicinecm_temp;
--赋予用户权限
grant connect,resource,dba to ehospitaljx;
grant connect,resource,dba to zhcx;
grant connect,resource,dba to zjhisro;
drop user ehospitaljx  cascade
drop user zhcx cascade 
//通过命令窗口写入导入数据语句执行时,提示打不开dmp文件,可以将语句放到bat文件中执行
//导出语法:
//exp 账户/密码@服务名 file=地址 owner=账户

删除用户表,表数据等内容

drop user username cascade

无法为表空间 spancename 中的段创建INITAL区处理办法

找到表空间存储的地方文件
select file_name from dba_data_files where tablespace_name = 'TS_YYGL'
//为此表空间再添加一个数据文件存储
ALTER TABLESPACE TS_YYGL ADD DATAFILE 'D:\联众信息\HRP项目信息\ORACLEDATABASE\ORACLEDATA变动文件\DAOCHU201706213.DMP' SIZE 10240M;  导入时若出现tmp00002的错误,文件无法打开
原因:文件路径太长导致的,这时候把文件放到根目录下再导入

文件导入导出还可以通过pl/sql来操作

1/若是Export无反应,或者一闪而过
解决方法:需要配置 ORACLE_HOME=D:\app\product\11.2.0\dbhome_1
后面的路径是exp.exe的文件路径

无法删除当前链接用户处理方法:

//查到到当前用户进程
select username,sid,serial# from v$session
//关闭进程
alter system kill session '10,257'
//删除用户和数据
drop user ehospitalze cascade

安装oracle时提示path的值大于1023,此时可以用管理员运行安装即可。

安装后运行pl/sql时,database一直没有选项,这是配置tools-preferences--oracle_home=OraDb11g_home,然后重启电脑

安装后登陆时一直提示ORA-12154: TNS: 无法解析指定的连接标识符

遇到这个问题真的很头痛,不明白真正的原因,在检查的时候发现客户端路径中tnsnames.ora文件不存在,就把服务端的来过来放进去了
同时查资料,说是patn指定不清楚,因为path中有客户端和服务端两个的路径,然后将客户端删除后重启,再次使用pl/sql就好了
--创建用户并指定表空间
create user ehospitaljx identified by yygl
default tablespace TS_YYGLjx
--temporary tablespace medicinecm_temp;
--赋予用户权限
grant connect,resource,dba to ehospitaljx; --表空间大小
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name
--剩余表空间大小

SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M FROM dba_free_space GROUP BY tablespace_name

 

oracle10g 导出到 oracle11g遇到的一些问题和总结

知道impdp命令只可导入expdp导出的dmp文件。expdp导出的时候,需要创建 DIRECTORY

导出什么表空间,导入也要什么表空间。

导出什么用户,导入也要什么用户。

如果没有要新建。

创建directory   //导入的文件也应该放入该文件夹下
create or replace directory wsj_obj_name as 'E:\联众科技项目文档\LocalData/home/dir';  
删除directory
drop directory dir;
说明:1/在创建的时候,wsj_obj_name这里的名字随便取得,
2/'E:\.....'这里得路径也是随便写,这里得路径指得是文件夹,即使对应得文件夹,也会创建成功,但是导入时是会报错的
给用户赋予权限
dgrant CREATE ANY DIRECTORY,create session,create table,create view,unlimited tablespace to ehospitalii

//分析:remap_schema 类似于: fromuser touser
impdp ehospitalii/yygl@ORCL directory=dir_dp dumpfile=ncsy_0429.dmp logfile=ncsy_0429(imp).log remap_schema=ehospitalii:ehospitalii

各种错误汇总

ora-01653,提示表空间溢出,若是登录不了,试着删除电脑多余的文件

orcl 之 导入和导出的更多相关文章

  1. orcl 之 导入和导出(2)

    删除用户表,表数据等内容 drop user username cascade 无法为表空间 spancename 中的段创建INITAL区处理办法 找到表空间存储的地方文件 select file_ ...

  2. ORACLE导入、导出命令使用方法

    oracle导入.导出命令使用方法: 给用户增加导入数据权限的操作 第一,启动sql*puls 第二,以system/manager登陆 第三,create user 用户名 IDENTIFIED B ...

  3. 一、导入、导出远程Oracle数据库

    一.导入.导出远程Oracle数据库  其语法实示例如下:    imp/exp [username[/password[@service]]]   其中service是服务实例名,关于如何创建服务实 ...

  4. Oracle 导入、导出DMP(备份)文件

    首先说明dmp文件: Oracle备份文件是以dmp结尾,这种文件是oracle的逻辑备份文件,常用于数据库逻辑备份,数据库迁移等操作. 一.Oracle导入备份文件步骤:我用的是Oracle 11g ...

  5. expdp和impdp导入和导出数据

    一  关于expdp和impdp     使用EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用.EXPDP和IMPDP是服务端的工具程 ...

  6. 案例导入和导出Scott用户

    ylbtech-Oracle:案例导入和导出Scott用户  导入和导出Scott用户 1. 导出Scott用户下的所有对象返回顶部 1.1, Microsoft Windows [版本 ] 版权所有 ...

  7. [独孤九剑]Oracle知识点梳理(三)导入、导出

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  8. oracle 数据导入、导出

    导入导出 --数据导出备份和导入 ------注意 导出和导入 必须是CMD 命令行下操作,而不是SQL编辑器中 --1.导出表 . --exp:导出关键字 ,userid:用户权限 ,file:保存 ...

  9. Oracle数据库的导入和导出

    Oracle数据库的导入和导出,是一项重要的的技术活,不但解决了数据库的导入导出,更方便快捷的获得数据. 使用imp和exp导入导出数据 使用exp导出数据 存放目录为\ORACLE_HOME\BIN ...

随机推荐

  1. 关于django编码问题所导致的502错误

    在使用django开发的时候,访问网站出现了502错误,次数也比较平繁 uwsgi+nginx+django 在命令行下提示如下错误 : File "/opt/apps/python3/li ...

  2. STL之Set和multiset容器

    1.Set和multiset容器 1)set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. 2)set采用红黑树变体的数据 ...

  3. maven 常用 Archetypes

    maven 常用 Archetypes Archetypes简介 什么是原型? 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为原始模式或模型,从中创建所有其他相同类型的东西. ...

  4. C# 自定义用户控件

    上篇:控件制作 本例是制作一个简单的自定义控件,然后用一个简单的测试程序,对于初学者来说,本例子比较简单,只能起到抛石引玉的效果.我也是在学习当中,今后会将自己所学的逐步写出来和大家交流共享. 第一步 ...

  5. Spring源码阅读(四)

    我们知道,在spring bean生命周期中,我们可以在不同阶段执行处理器或者方法,比如init-method,destroy方法,BeanPostProcessor接口等.那么这些处理器或方法的执行 ...

  6. [转载]图解程序员必须掌握的Java常用8大排序算法

    这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序,分享给大家一起学习. 分类1)插入排序(直接插入排序.希尔排 ...

  7. 配置方案:Redis持久化RDB和AOF

    Redis持久化方案 Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘.当下次Redis重启时,利 ...

  8. Java动态菜单添加

    自己做出来的添加数据库配置好的动态菜单的方法 private void createMenu() {  IMenuDAO dao = new MenuDAOImpl();  String sql1 = ...

  9. 如何获取STM32 MCU的唯一ID及应用(转)

    源: 如何获取STM32 MCU的唯一ID

  10. 使用sqlalchemy用orm方式写pipeline将scrapy item快速存入 MySQL

    传统的使用scrapy爬下来的数据存入mysql,用的是在pipeline里用pymysql存入数据库, 这种方法需要写sql语句,如果item字段数量非常多的 情况下,编写起来会造成很大的麻烦. 我 ...