`
fishermen
  • 浏览: 375506 次
社区版块
存档分类
最新评论

更改Oracle数据库表的表空间

阅读更多
在Oracle实际应用中,我们可能会遇到这样的问题。处于性能或者其他方面的考虑,需要改变某个表或者是某个用户的所有表的表空间。通常的做法就是首先将表删除,然后重新建表,在新建表时将表空间指定到我们需要改变的表空间。如果该用户已经保存了大量数据,这种办法就就显得不是很方便,因为有大量数据需要提前备份出来。下面介绍一种利用数据库的导出/导入功能来实现重新组织数据库表空间的方法。

下面是一个简单的例子,假定要将用户db_zgxt下的全部表从表空间A转换到表空间B,具体步骤(在Oracle 8.0.5 for NT环境)如下:

1. 导出db_zgxt下的所有表(Dos控制台下)

EXP80 OWNER=db_zgxt FILE=Exp0326.DMP LOG=Exp0326.LOG

系统提示输入用户名和口令,回答完毕,系统就开始将db_zgxt下的所有表都导出到一个叫Exp0316.dmp的文件中。

2. 删除db_zgxt下的所有表(在SQL/PLUS中)

可以采用批处理的方式删除掉db_zgxt下的所有表,生成批处理的语句如下:

select 'drop table '||user_tables||’;' from user_tables;

3. 采用导入参数 INDEXFILE导入db_zgxt用户下的所有表(Dos控制台下)

IMP80 FULL=Y FILE=Exp0326.DMP INDEXFILE=db_zgxt.SQL LOG=Imp0326_1.LOG

系统提示输入用户名和口令,回答完毕,系统就开始将文件Exp0326.dmp导入到db_zgxt用户下。

其中,指定参数INDEXFILE后,系统就将创建表和索引的语句写到一个文件,这里是db_zgxt.sql中。该文件中包含了所有创建索引(CREATE INDEX)语句和创建表(CREATETABLE)语句,但是这里所有创建表的语句均加了注释标志。在任何文本编辑器中打开并编辑该文件,去掉所有创建表语句的注释标志,将所有的表空间名称由A替换为B,同时对所有的创建索引语句加上注释标志。这些工作作完以后,在SQL/PLUS中运行该脚本文件,这些表就被创建,其表空间由A变为B。

4. 采用导入参数INDEXES=N 和IGNORE=Y将db_zgxt用户的表数据导入库中(Dos控制台下)

IMP80 FULL=Y INDEXES=N FILE=Exp0326.DMP IGNORE=Y LOG=Imp0326_2.LOG

其中,参数INDEXES=N是指将数据导入数据库中时不加索引。IGNORE=Y是指在导入数据过程中,忽略表已经存在(table already exists)的错误。这样Oralce就将数据和一些约束条件导入到第3步创建的表中。

5. 创建索引

在文本编辑器中重新打开在第3步中创建的db_zgxt.sql脚本文件,这次,将所有创建表(CREATE TABLE)的语句加上注释标志,然后将所有的创建索引(CREATE INDEX)语句去掉注释标志。在SQL/PLUS中再次运行该脚本文件。

至此,我们就成功完成了将db_zgxt用户下的全部表从表空间A转换到表空间B的工作。在实际工作中,可能不是将整个一个用户的所有表都转换,也可能只需要转换其中的一部分表,这种情况只需要在导出和导入时加上表的限制条件就可以了,关于如何加上导出/导入表限制条件详细步骤请参看Oralce帮助,这里不在详述。

分享到:
评论

相关推荐

    更改Oracle数据库表的表空间实践.pdf

    更改Oracle数据库表的表空间实践.pdf

    ORACLE数据库表空间转换器

    ORACLE数据库表空间转换器 获取oracle表空间名,然后进行修改进行转换

    oracle修改表结构

    使用oracle数据库时修改表结构,创建表空间等等

    Oracle数据库学习指南

    25. 安装Oracle后,经常使用的修改表空间的SQL代码 26. 比较SQL Server与Oracle、DB2 27. 多个数据库时,如何设置默认数据库 28. 各种数据类型的比较 29. 漫谈oracle中的空值 30. 没有备份、只有归档日志,如何...

    oracle数据库表设计.pptx

    表设计规范 2017年11月3日 oracle数据库表设计全文共29页,当前为第1页。 表设计范式 表与表关联关系 主键、外键、约束 表分区 目录 oracle数据库表设计全文共29页,当前为第2页。 表设计规范-范式 1NF:如果关系R ...

    oracle数据库-改变表空间数据文件的位置

    oracle数据库-改变表空间数据文件的位置

    完整版Oracle11数据库教程课件 全套PPT课件资源集合 全套12个章节.rar

    完整版Oracle11数据库教程课件 第5章_表空间(共37页).ppt 完整版Oracle11数据库教程课件 第6章_创建表及约束(共39页).ppt 完整版Oracle11数据库教程课件 第7章_高级查询(共52页).ppt 完整版Oracle11数据库教程...

    使用PLSQL创建Oracle数据库User用户并设置权限

    使用PLSQL创建Oracle数据库User用户并设置权限 主要演示了如何使用 PLSQL 创建一个 User 用户, 并使之具有创建表、修改表、访问表的权限。解决了 使用自定义用户创建表时出现的 没有表空间的访问权限的问题。

    Oracle-数据库简答题.doc

    答:数据库由若干个表空间组成,表空间由表、索引、视图等逻辑对象组成,表由段 组成,段由区组成,区则由数据块组成。 2.简述Oracle数据库物理结构中包含的文件类型,以及不同类型文件所能起的作用 。 答:物理...

    赤兔Oracle数据库恢复软件 v11.6.zip

    赤兔Oracle数据库恢复软件是一款专业好用的Oracle数据库抢修恢复软件。软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失...

    使用PLSQL创建Oracle数据库User用户并设置权限, 创建表

    使用PLSQL创建Oracle数据库User用户并设置权限 主要演示了如何使用 PLSQL 创建一个 User 用户, 并使之具有创建表、修改表、访问表的权限。解决了 使用自定义用户创建表时出现的 没有表空间的访问权限的问题。

    Oracle数据库管理员技术指南

    1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration ...

    Oracle数据库维护培训

    修改和删除存在的数据库用户 监控已存在用户的信息 识别系统和对象权限 授予和回收权限 创建和管理初始化参数文件 启动和关闭实例 监控和使用诊断文件 登录到 SQL*Plus环境 编辑SQL 命令 SQL*Plus 命令格式化并输出...

    oracle基础教程

    第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 1.1.2 基本概念 3 1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 1.2.4 进程 8 1.3 存储管理 9 1.3.2 逻辑结构 10 1.3.3 表(Table)...

    Oracle数据库实验操作

    实验54:更改表空间的名称,更改数据文件的名称 113 表空间 116 实验55:建立临时表空间 117 实验56:大文件表空间和表空间的管理模式 118 数据库的逻辑结构 120 实验57:建立表,描述表的存储属性 121 实验58:...

    新一代测试环境ORACLE数据库管理工具的设计与实现毕业论文

    测试环境处共承接新老系统,包括开发、组件组装、应用组装、 版本检验、推广测试在内的环境多达十几套...据库管理工具在表空间管理、用户管理、文件管理、权限管理、角色 管理以及逻辑导入、导出等功能的具体实现流程。

    ORACLE数据库调整归档日志空间大小[收集].pdf

    ORACLE数据库调整归档日志空间大小 在 ORACLE 数据库中,归档日志是一种重要的功能,它可以帮助数据库管理员在灾难恢复时快速恢复数据库。然而,如果不正确地配置和维护归档日志空间,可能会导致数据库无法启动或...

    Oracle数据库日常维护手册

    3.3. 检查 ORACLE 表空间的状态...................................................................................... 8 3.4. 检查 ORACLE 所有数据文件状态....................................................

    oracle数据库存储管理

    (5) Oracle 11g 数据文件管理(创建、删除等操作) (6) 控制文件操作(创建、备份、删除等操作) (7) 重做日志文件 (8) 表空间操作(创建、修改、删除等操作)

Global site tag (gtag.js) - Google Analytics