数据表从一个表空间中移动到另一个表空间中
数据表从一个表空间中移动到另一个表空间中
数据表从一个表空间中移动到另一个表空间中
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;