首先,从一个用户下导出数据:
exp 'sys/sys@orcl as sysdba' file=d:/tmp.dmp tables=(tmpuser.TB1,tmpuser.TBs)
然后将导出的数据导入另一个用户tmpuser2:
C:\Documents and Settings\Administrator>imp 'sys/sys@orcl as sysdba' file=d:/tmp.dmp fromuser=tmpuser touser=tmpuser2
另一种方法:http://www.dbdream.org/?p=346
DECLARE
V_COUNT NUMBER;
BEGIN
FOR I IN (SELECT TABLE_NAME FROM USER_TABLES) LOOP
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || I.TABLE_NAME
INTO V_COUNT;
IF V_COUNT = 0 THEN
EXECUTE IMMEDIATE 'ALTER TABLE ' || I.TABLE_NAME ||
' ALLOCATE EXTENT';
END IF;
END LOOP;
END;
/