一、数据库导入:

No1、查询所有表中那些是空表。
  select table_name from user_tables where NUM_ROWS=0;

No2、拼接字符串生成SQL执行语句。
  select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 ;

No3、然后去运行这些SQL执行语句。
小技巧:PL/SQL中只需在这一列SQL的列名上单击即可全选这些SQL,只需打开新的窗口ctrl+v去执行就可以了。

No4、导出表

1、完全:
exp govoa/\"govoa@16**\"@xzoa file=C:/Users/Administrator/Desktop/eoaoa.dmp full=y
eg:EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y

FULL=Y :full( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据.

如果要执行完全导出,必须具有特殊的权限

2、用户模式:
EXP govoa/\"govoa@16**\"@xzoa BUFFER=64000 file=C:/Users/Administrator/Desktop/xzoa.dmp OWNER=govoa

EXP govoafile/\"govoa@16**file\"@xzoa BUFFER=64000 file=C:/Users/Administrator/Desktop/xzoafile.dmp OWNER=govoafile
这样用户govoa的所有对象被输出到文件中。
EXP govoa/\"govoa@16**\"@xzoa BUFFER=64000 file=d:/xzoa.dmp OWNER=govoa
3、表模式:
EXP govoa/\"govoa@16**\"@xzoa BUFFER=64000 file=C:/Users/Administrator/Desktop/aaa.dmp TABLES=(SONIC)
EXP govoa/\"govoa@16**\"@xzoa BUFFER=64000 file=d:/xzoa.dmp TABLES=(SONIC)

这样用户SONIC的表SONIC就被导出

二、数据库导入

No1、打开cmd
输入sqlplus
输入system
密码

No2、第一步:创建表空间(要建两个临时表空间和数据表空间)

create temporary tablespace eoa_temp
tempfile 'd:/app/Administrator/product/11.2.0/dbhome_1/oradata/eoa/eoa_temp.dbf'
size 32m
autoextend on
next 32m maxsize 1024m
extent management local;

create tablespace eoa
datafile 'd:/app/Administrator/product/11.2.0/dbhome_1/oradata/eoa/eoa.dbf'
size 1024m
autoextend on
next 10m maxsize unlimited
extent management local;

create temporary tablespace eoafile_temp
tempfile 'd:/app/Administrator/product/11.2.0/dbhome_1/oradata/eoafile/eoafile_temp.dbf'
size 32m
autoextend on
next 32m maxsize 1024m
extent management local;

create tablespace eoafile
datafile 'd:/app/Administrator/product/11.2.0/dbhome_1/oradata/eoafile/eoafile.dbf'
size 1024m
autoextend on
next 10m maxsize unlimited
extent management local;

create user eoa identified by eoa
default tablespace eoa
temporary tablespace eoa_temp;
grant connect,resource,dba to eoa;

create user eoafile identified by eoafile
default tablespace eoafile
temporary tablespace eoafile_temp;
grant connect,resource,dba to eoafile;

退出cmd

No3、数据表导入

具有三种模式(完全、用户、表)
1、完全:
IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
2、用户模式:

IMP govoa/govoa@jbit BUFFER=64000 file=C:/Users/Administrator/Desktop/xzoa.dmp FROMUSER=govoa TOUSER=govoa

IMP govoafile/\"govoafile\"@jbit BUFFER=64000 file=C:/Users/Administrator/Desktop/xzoafile.dmp FROMUSER=govoafile TOUSER=govoafile
这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
这样用户SONIC的表SONIC就被导入。

三、 表空间操作
1、查看表空间
select tablespace_name,file_id,file_name,bytes
from dba_data_files
order by file_id

2、2、查找某用户的默认表空间和临时表空间:
Select USERNAME 用户名,default_tablespace 默认表空间,temporary_tablespace 临时表空间 from dba_users Where username = '用户名(大写)';

3、查找表空间的属性:
select * from dba_tablespaces;其中有一项就是显示permanent/temporary的

4、oracle怎么查看用户属于哪个表空间
select username,default_tablespace from dba_users where username='用户名';

4、数据库解锁命令
打开cmd
输入sqlplus eoa/eoa@orcl as sysdba (备注:@跟IP)
alter user eoa account unlock;

05-04 08:57