oracle数据的表空间移动
时间:2017-08-24 来源:
数据表从一个表空间中移动到另一个表空间中
1) alter table [table_name] move tablespace [new tablespace];
移动LOB字段
2) alter table [table_name] move lob ([lobsegment_name]) store as
(tablespace [new tablespace]);
移动(重建)索引
3) alter index [index_name] rebuild tablespace [new tablespace]; //可省略
(当前用户下,查看系统创建的索引:SELECT COLUMN_NAME, INDEX_NAME FROM USER_LOBS WHERE
TABLE_NAME = 'HR_EMP_BINARY_PHOTO';)
创建表空间:
create tablespace posco datafile
'D:\Oracle\product\10.2.0\oradata\orcl\POSCO01.DBF' size 10m autoextend on next
10m MAXSIZE UNLIMITED;
授权用户操作表空间的权限:
alter user [username] quota unlimited on [tablespace];
删除用户(关闭所有跟数据库的连接,包括TOMCAT):
DROP USER posco CASCADE;
创建用户:
CREATE USER posco IDENTIFIED BY posco DEFAULT TABLESPACE posco QUOTA
UNLIMITED ON posco(表空间);
授权限:
GRANT CONNECT, RESOURCE TO posco;
取消“不限制所有表空间的使用”权限:
REVOKE UNLIMITED TABLESPACE FROM posco;
导入数据:
imp \"sys/bjait@hr as sysdba\" file="dmp文件完整路径" fromuser=posco touser=posco
(命令行下执行)
imp system/system@ZHSF file=D:\Database\lidong2007.dmp fromuser=hrtest
touser=LIDONG2010 ignore=yes log=d:\Database\LIDONG2010
tables=(HR_EMP_BINARY_PHOTO)
导出数据:
EXP LOTTEMART/LOTTEMART@LOTTEMART FILE=D:\LOTTEMART.DMP STATISTICS=NONE
GRANTS=N
移动带BLOB字段的表到新的表空间
删除表空间(导入后再删除旧表空间,BLOB只能被导入旧的表空间,然后复制到新的表空间):
DROP TABLESPACE qpss INCLUDING CONTENTS AND DATAFILES;
(以上内容摘于网络,如有侵权,请告之,将第一时间删除)