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

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 数据库导出导入命令及详解

    Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和稳定性深受企业...通过以上介绍,你应该对Oracle数据库的导出导入命令有了基本了解。实际操作时,根据具体需求调整参数,确保数据的完整性和安全性。

    Oracle数据库的导出与导入操作

    ### Oracle数据库的导出与导入操作详解 #### 导出操作前的必要条件与环境准备 在进行Oracle数据库的导出操作之前,确保满足以下条件是至关重要的: 1. **数据库服务器控制权**:首先,操作者必须拥有对Oracle...

    Oracle导入和导出工具使用

    ### Oracle导入和导出工具详解 #### 一、Oracle导入导出工具简介 Oracle数据库提供了两种强大的工具来处理数据的导入导出需求:`exp.exe` 和 `imp.exe`。这两种工具位于`Oracle_home/bin`目录下,适用于各种场景下...

    Oracle11G导入导出(imp和exp)少表解决方法

    然而,在使用 Oracle 11G 时,用户可能会遇到一些问题,例如无法导出空表的问题。在本文中,我们将讨论如何解决这个问题,并提供了多种方法来导入和导出数据。 一、解决无法导出空表的问题 在 Oracle 11G 中,默认...

    Oracle导入导出笔记

    - **日志记录**:为了方便后续的问题排查,推荐在导出导入的过程中使用日志记录功能。 - **压缩选项**:可以使用`compress=y`选项对导出文件进行压缩,节省存储空间。 - **错误处理**:在导入过程中如果遇到错误,...

    oracle 数据库导入导出

    本篇文章将深入探讨Oracle数据库的导入导出过程,以及处理“process挂起”问题的方法。 首先,Oracle数据库提供了两种主要的工具来实现数据的导入导出:EXPDP(Export Data Pump)和IMPDP(Import Data Pump)。...

    Oracle数据库导入导出

    Oracle数据库的导入导出是数据库管理中常见的操作,主要用于数据迁移、备份恢复和系统复制等场景。本文将详细讲解Oracle数据库的DMP文件及其相关的EXP(导出)和IMP(导入)工具。 DMP文件是Oracle数据库的转储文件...

    Oracle数据导入导出命令.pdf

    ### Oracle 数据导入导出命令详解 #### 一、概述 Oracle 数据库系统是业界领先的数据库管理系统之一,提供了强大的数据管理功能。在Oracle中,数据的导入导出是一项非常重要的任务,尤其是在需要迁移数据、备份数据...

    oracle数据导入导出

    3. **字符集问题**:在导出导入过程中,需要注意源数据库和目标数据库的字符集是否一致。 4. **错误处理**:通过设置 `ignore` 参数可以控制导入过程中的错误处理方式。 #### 六、示例 - **创建新用户**: ```sql...

    Oracle导出成csv格式后显示乱码的解决方法

    总之,解决Oracle导出CSV文件显示乱码的关键在于理解字符编码和数据解析的过程。通过正确设置文件的编码和应用正确的分隔符,可以确保数据在不同程序间顺利转换并保持可读性。如果上述方法无效,可能需要检查数据库...

    oracle数据库的导入导出详解

    在导入过程中可能会遇到一些问题导致导入失败,这时可以通过设置`ignore`选项来忽略这些错误继续导入其他数据: ```sql imp system/manager@TEST file=d:\daochu.dmp ignore=y ``` 这里`ignore=y`表示在遇到错误时...

    oracle导入导出文档及视频.zip

    总之,“oracle导入导出文档及视频.zip”资源将帮助你掌握Oracle数据库的导出导入操作,无论是初学者还是经验丰富的DBA,都能从中受益。通过理论学习和实践操作,你可以更有效地管理你的Oracle数据库。

    Oracle-导出、导入某用户所有数据

    Oracle数据库的导出和导入功能是进行数据迁移、备份与恢复的重要工具。通过合理配置命令参数,不仅可以确保数据的准确无误,还能有效提升操作效率。掌握这些技巧有助于DBA们更好地管理和维护Oracle数据库系统。

    oracle资料 Oracle 数据库 导入 导出

    在导入时可能会遇到已存在的对象冲突问题,此时可以使用`ignore=y`选项忽略这些冲突。 ```plaintext imp aichannel/aichannel@HUST file=d:\data\newsmgnt.dmp ignore=y ``` - `ignore=y`: 导入时忽略已存在的对象...

    oracle的导入导出

    Oracle的导入导出是数据库管理中常用的操作,用于备份数据、迁移数据或在多个环境间同步数据。本篇将详细解释Oracle数据库的导出(EXP)和导入(IMP)过程,以及不同类型的导出模式。 首先,Oracle的导出分为三种...

    Oracle的导出导入

    ### Oracle的导出导入知识点详解 #### 一、Oracle数据库导出(Export) 在Oracle数据库管理中,数据的备份与恢复是一项重要的工作。其中,**导出(Export)**是备份的重要手段之一,用于将数据库中的数据或者元...

    oracle数据库导入导出命令

    4. **文件路径**:确认导出导入文件的路径是否正确,特别是在Windows环境下,路径格式应符合规范。 综上所述,Oracle数据库的导入导出操作是一项基础而重要的技能。掌握这些命令的使用方法,能够帮助我们在日常工作...

    plsql导出导入oracle表结构方法

    - 导入过程中可能会遇到权限问题或依赖关系错误,需确保有足够的权限以及所有依赖对象都已存在。 - 对于大型数据库或复杂结构,可能需要分批执行 `.sql` 文件中的命令。 #### 四、总结 通过 PL/SQL Developer ...

Global site tag (gtag.js) - Google Analytics