工作需要,经常在多个比较大的数据库中切换,本地磁盘又比较有限。每次只能存放一到两个不同的库。需要切换数据库,但是现在的做法是将oracle完全删除后再重新建立数据库再导入。但是比较费时间。
新建用户的时候新建一个表空间,但是imp之后发现仍旧只增大了user的表空间。很麻烦
如何新建表空间和用户,保证新导入的库完全导入到新建的表空间当中呢?
这样是不是当我新导入库没有空间的时候删除用户和表空间就可以清空磁盘,并可以导入新的库,而不用重新安装oracle了呢?
还有如何建立自增的表空间?
新建用户的时候新建一个表空间,但是imp之后发现仍旧只增大了user的表空间。很麻烦
如何新建表空间和用户,保证新导入的库完全导入到新建的表空间当中呢?
这样是不是当我新导入库没有空间的时候删除用户和表空间就可以清空磁盘,并可以导入新的库,而不用重新安装oracle了呢?
还有如何建立自增的表空间?
先新建一个可扩展的表空间,然后新建一个用户,将新表空间设置成新用户的默认的空间。
当你创建表的时候就用新的用户登录。这样那些表就在新的表空间里了。
或者用plsql:
创建表空间:
CREATE SMALLFILE TABLESPACE "TEST" DATAFILE '/u01/app/oracle/oradata/orabi/test01' SIZE 500M AUTOEXTEND ON NEXT 200K MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO DEFAULT NOCOMPRESS
创建新用户(并分配dba的角色给这个用户,视自己的实际情况而定):
CREATE USER "TESTUSER" PROFILE "DEFAULT" IDENTIFIED BY "*******" DEFAULT TABLESPACE "TEST" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
GRANT "CONNECT" TO "TESTUSER"
GRANT "DBA" TO "TESTUSER"
的表空间迁移好像可以满足你的要求,建议看看
Alter Table Table_Name Move Tablesapce Tablespace_Name;对于索引:
Alter Index Index_Name Rebuild Tablespace Tablespace_Name;这样操作就可以把数据迁移到你想放到的表空间中!!!
需要说明的是楼主的提问有问题!!!在Oracle中数据存放在逻辑的表空间中,每个表空间有n个数据文件组成。如果表空间有n个文件的话,Oracle会同时使用所有的文件,不会单独写入一个文件。如果执行写入一个文件,只能将另外的文件置于Offline状态再进行操作!!!
所以等到导入后再进行转表空间的操作,对于无来说是没用的
=。=