一、数据库导出:
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;