不再为修改Oracle数据库表的大小而烦恼 (不再更改什么意思)

教程大全 2025-07-20 20:42:34 浏览

Oracle实际应用中,常需要修改Oracle数据库表的大小。下面简单介绍一种利用数据库的导出/导入功能来实现重新组织Oracle数据库表空间。

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

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

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

2、删除db_zgxt下的所有表(在SQL/PLUS中)可以采用批处理的方式删除掉db_zgxt下的所有表,生成批处理的语句如下:

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

系统提示输入用户名和口令,回答完毕,系统就开始将文件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控制台下)

不再为修改Oracle数据库表的大小而烦恼

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

5、创建索引

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

至此,已经成功的完成了将db_zgxt用户下的全部Oracle数据库表从表空间A转换到表空间B的工作。

【编辑推荐】


有方便地查询和修改oracle数据库的工具吗??

建议使用SybaSetoad7.01,支持语法高亮,显示表提示,类似plsql。 2,能自己定制菜单,如选中all_tables,点击ctrl+d 可以执行“select * from all_tables”操作。 同理可以定制许多常用的功能。 3,左边功能导航增加了20-30项oracle常用的系统监控的功能,非常实用。 4,批量执行,带参数执行。 5,可以连接多种数据库,尤其是oracle可以支持oracle客户端和无客户端两种情况。 6,数据导出,可以导出成为(insert...)的模式,方便数据库脚本的提取。 7,操作习惯为了和toad,plsql尽量保持一致,可以选择toad模式和plsql模式。 8,拷贝粘贴,可以对数据库表的数据进行拷贝粘贴。 9,也支持查看执行计划(ctrl+E)。 10,支持像toad的快速输入方式如s*+空格,直接出现select * from,可以自行定制。 11,oracle下,可以通过select rowid,a.* from XXXtable a where 1=123对查询出的数据进行修改。 12,另外支持数据表,存储过程,数据管道(可以支持不同的数据库之间相同表结构的数据进行传输)等功能,表结构修改,增加索引主键等,修改保存存储过程。

在Oracle数据库中,如何增加表空间的大小?

表空间在初始建立的时候最好设置成自动扩展的,如果没有设置成扩展的,则有四种方法可以增加表空间的大小,其中增加数据文件是经常用的一种。四种方法如下:Meathod1:给表空间增加数据文件ALTER TABLESPACE App_data ADD DATAFILED:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ SIZE 50M;Meathod2:新增数据文件,并且允许数据文件自动增长ALTER TABLESPACE app_data ADD DATAFILED:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ SIZE 50MAUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod3:允许已存在的数据文件自动增长ALTER DATABASE DATAFILE D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ ON NEXT 5M MAXSIZE 100M;Meathod4:手工改变已存在数据文件的大小ALTER DATABASE DATAFILE D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ 100M;

Oracle存储大量数据

增加表空间大小,表空间文件可以用多个ALTER TABLESPACE USER_FOUND_DATA ADD DATAFILE D:\data\USER_FOUND_DATA_ SIZE 1g AUTOEXTEND ON NEXT1g;ALTER TABLESPACE USER_FOUND_DATA ADD DATAFILE D:\data\USER_FOUND_DATA_ SIZE 1g AUTOEXTEND ON NEXT1g..........

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐