当前位置:操作系统 > Unix/Linux >>

数据表从一个表空间中移动到另一个表空间中

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

 


CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,