`
renjie120
  • 浏览: 234635 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D11bba82-ec4a-3d31-a3c0-c51130c62f1c
Java应用集锦
浏览量:22400
社区版块
存档分类
最新评论

oracle导出与导入遇到的一些问题

 
阅读更多

1、基本命令:

创建表空间:

 CREATE TABLESPACE tablespacename DATAFILE

    'd:\tablespacename.dbf' SIZE 100m;

 

创建用户:

 create user username

          identified by password

         default tablespace tablespacename

          quota 10M on tablespacename ;

 

授予用户权限:

grant DBA to username;

 

删除用户:

drop user username cascade

 

删除表空间:

drop TABLESPACE tablespacename

 

 

2、删除用户的时候,遇到问题,用户正在使用中,有正在进行中的会话:

--删除用户之前 先锁定用户

alter user username account lock;

 

--找到当前用户全部的会话id(username--必须全部大写!)

SELECT * FROM V$SESSION WHERE USERNAME='username' 

 

--杀掉全部的会话

alter system kill session  '211,35901'

 

--删除用户

drop user username cascade

 

 

3、导出表结构,与导入表结构:

导出oracle数据库备份:

                C:\Documents and Settings\lsq>exp zynbdc/ecology@ningbodianchi file=d:\dianchi.dmp full=y(导出的时候不要这个!!)

 

导入oracle备份文件:

                imp 用户名/密码@数据库 ignore=y file=备份文件 log=D:\DBtest\db_bak\imp.log

                或者 imp username/password file=d:\xxxx full=y

 

 

4、发现问题,导入的表的数量与导出的数据库中的数量不一致:select count(1) from user_tables;

 

原因是:11G中有个新特性,当表无数据时,不分配segment,以节省空间 。因此 也就是 exp的时候,没有导出那些行数为0的表。

 

查看当前用户下面,行数为0的表名:

select table_name from user_tables where NUM_ROWS=0; 

 

解决办法是,设置行数为0的表强制可以导出,设置一个属性,使用下面的语句查询出来全部的表结构,然后在被导出数据库中执行查询结果语句:

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 

 

然后再使用3中的语句,进行导出与导入操作。。。

 

解决方法原文:http://vondon.iteye.com/blog/1316223

 

5、导入的数据库,发现缺少序列,解决办法很简单,到导出数据库中查询全部的序列:

select 'CREATE SEQUENCE '||t.sequence_name||' minvalue '||t.min_value||' maxvalue'||' '||t.max_value||' increment by '||t.increment_by ||' start with '||(t.last_number)||' nocache order nocycle;' from user_sequences t

 

在导入数据库中执行查询结果。。。

  

6、 ORA-01659: unable to allocate MINEXTENTS beyond 1 in tablespace TBS_PSM_B2C

原因是因为数据表空间不够了!

 

--下面的语句查询表空间的地址情况
select tablespace_name,file_id,bytes/1024/1024,file_name 
   from dba_data_files order by file_id; 

 --下面设置原来的用户,新添加一块表空间文件:

alter tablespace TBS_PSM_B2C add datafile '/oracle/TBS_PSM_B2C1.dbf' size 500M;

 

 --查看现在的表空间的使用情况:

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name 

FROM dba_free_space 

GROUP BY tablespace_name; 

 

--查看使用的百分比情况

SELECT a.tablespace_name, 

a.bytes total, 

b.bytes used, 

c.bytes free, 

(b.bytes * 100) / a.bytes "% USED ", 

(c.bytes * 100) / a.bytes "% FREE " 

FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c 

WHERE a.tablespace_name = b.tablespace_name 

AND a.tablespace_name = c.tablespace_name; 

 

 

 

 

 

0
1
分享到:
评论
2 楼 renjie120 2016-03-07  
真好玩 写道
其实impdp和expdp可以解决这个问题

是的吧?我也看到有这样说的 谢谢你提醒
1 楼 真好玩 2016-03-07  
其实impdp和expdp可以解决这个问题

相关推荐

    ORACLE 常用手册导入导出

    IGNORE 导入时是否忽略遇到的错误,默认为N TABLESPACES 按表空间方式导入,列出要导入的表空间名 --导入 --整个文件导入 imp accp/accp@accp file=d:\item_back.dmp ignore=y full=y --特定用户的表导入到指定的...

    Oracle 导入导出问题解决

    oracle的导入导出遇到的所有问题的汇总及解决方法

    oracle数据库导入导出

    oracle数据库安装及安装过程中遇到各种问题解决,oracle数据库创建用户,给用户赋权限等。oracle数据库安装及安装过程中遇到各种问题解决,oracle数据库创建用户,给用户赋权限等。oracle数据库安装及安装过程中遇到...

    oracle数据库导入导出命令使用方法

    最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,有什么不对或者不足的地方,欢迎广大博友拍砖,哈哈~导出命令:1)单表导出:exp 用户名/密码@服务器别名 tables=表名 file=d:\名称...

    Oracle-exp\imp-导入导出时遇到的问题

    Oracle-exp\imp-导入导出时遇到的问题

    oracle导入备份DMP报实际值最大值错误

    oracle跨版本导入备份DMP报实际值最大值错误

    oracle实用导入导出

    工作当中经常遇到需要还原数据库的操作,这份文档详细的记录了导入导出的步骤,简单明了。

    Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案

    Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案

    oracle使用过程中常见的问题及命令

    这是我工作中使用oracle数据库两三年中遇到的一些问题和解决办法,做了一个整理归纳,其中包括oracle数据库的数据导入、导出,面对表格文件怎样用命令快速导入oracle数据库,数据库字符集的更改,使用oracle数据库...

    Oracle数据库精讲与疑难解析

    通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    12.7.2导入导出工具数据泵 12.7.3跨平台数据迁移 12.7.4可传输表空间 12.7.5使用RMAN工具复制数据库 12.8本章小结 第13章 RAC恢复 13.1恢复技术基础 13.1.1恢复解决方案 13.1.2 SCN时间机制 13.1.3日志线程...

    如何实现高版本DMP文件在低版本数据库中导入

    我们常会遇到这样的问题,客户系统发现异常或问题,给我们提供了他们的数据库备份文(DMP),导我们在测试环境下无法恢复,导入数据库时报错。报错的原因是客户使用的高版本的数据库,导出的DMP在低版本数据库导入时...

    Oracle常用操作.doc

    导入遇到:只有 DBA 才能导入由其他 DBA 导出的文件问题 执行:grant dba to testuser ; 如果还不行,再执行: alter user testuser default role DBA;

    Oracle11G客户端64位windows环境-sqlldr-imp-sqlplus等可用.zip

    oracle11g基本客户端,主要是用于windows环境下sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M ... 如果是遇到sql*

    Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例

    从oracledatabase 10g开始引入了data pump(数据泵)工具,它提供了一种基于服务器的数据导出导入使用程序。 所有的data pump都作为一个服务器进程,数据不再必须由一个客户程序处理。Data Pump工具的导出和导入实现...

    Oracle导dmp出现文件ORA-12154: TNS: 无法解析指定的连接标识符问题的解决方案

    其实TNS无法解析是Oracle操作里经常遇到的问题,原因有二: (1)Oracle服务器没有装好(一般不建议重装,因为Oracle卸载不完全是没法重装的) (2)TNS没有配置 现在本文给出解决方案: 现在先测试一下tns是否可以...

    Oracle数据加载和卸载的实现方法

    即将指定文件内容导入对应的 Oracle 数据表中;或者从 Oracle 数据表导出。 其他数据库中的表跟Oracle数据库进行交互。  若是少量数据;可选择的解决方案有很多。常用的用 Pl/SQL developer工具,或者手动转换为 ...

    通用数据库连接查询器Ver2.0.2

    通用数据库连接查询器,支持Oracle、DB2、SQL Server、MySQL、PostgreSQL、Sybase,集成“查看表空间”、“权限”、“存储过程源代码”、“导入导出SQL脚本”、“保存查询结果”等功能。 纯绿色,免安装,跨...

    TianleSoftware Oracle中文学习手册

    在Oracle 几年的学习中,做了很多的实验,也遇到了很多的问题, 在这个过程中,积累了一些学习文档。也更新到了blog上。 因为太多,不便于查阅。 根据自己对 Oracle 的理解,把这些 blog 进行了分类,并进行了一些...

    DBKING使用指南

    3、为各类数据库之间的数据导入导出提供高效率的工具 下面对这三项功能进行详细的介绍。 1、为各类数据库提供统一的操作接口,尽最大可能保障各类数据库之间的移植性  这类工具已经很多了,比如...

Global site tag (gtag.js) - Google Analytics