导出:
windows命令行窗口输入。
导出整个库:
exp system/密码@orcl file=路径+名称.dmp full=y
以system管理员身份导出某用户下的所有文件,并指定导出路径和名称:
exp system/密码@orcl owner=用户 file=路径+名称.dmp
导入:
将 ‘用户’ 下的数据导入到 ‘某用户’(有dba权限)下:
(‘某用户’为需要数据的目标数据库,需要提前新建,还要指定表空间
‘用户’是dmp里的 已经创建)
imp 某用户/密码 file=路径+名称.dmp fromuser=用户
一、创建名为mhkg的表空间,数据文件路径和名称为H:\oracle_tablespace\mhkg.dbf,大小100M,自动扩充且每次扩充大小为10m
create tablespace mhkg
datafile 'H:\oracle_tablespace\mhkg.dbf'
size 100m
autoextend on
next 10m
二、创建用户 用户名mhkg,密码mhkg,默认表空间mhkg
(最好执行此语句使空表也占表空间,否则以后导出表时无法导出空表alter system set deferred_segment_creation=false;)
(修改用户密码失效时间,默认180
//查看
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
//修改
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
)
create user mhkg
identified by mhkg
default tablespace mhkg
三、授权 给mhkg授予dba权限
grant dba to mhkg
四、删除用户及用户数据
drop user mhkg cascade;
注意:
新建数据库后要使用管理员账户先执行下面的语句,使新建的空表也占有表空间,否则导出表或用户数据时会缺失空表:
alter system set deferred_segment_creation=false;
如果用户和表已经建立,还要在要使用的用户执行下面语句,是现有空表也占表空间:然后将结果复制出来,在sql窗口执行
select 'alter table'|| table_name || 'allocate extent;'
from user_tables where segment_created='NO';
单个空表使用:
alter table 表名 allocate extent;