1.数据库导出
--命令执行(cmd)
exp 用户名/密码@数据库 buffer=20000000 file=D:\oracle.dmp log=D:\oracle.log owner=用户名
说明:
exp 用户名/密码@服务(数据名) 缓冲区大小(buffer) 导出存储位置(file) log导出存储位置(log) 用户名
2.数据库导入
(1).删除会话
select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;'
from v$session
where username = '用户名';
(2).删除用户
1、如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可。
2、如果有删除用户的权限,则可以:drop user user_name cascade(级联:加了cascade就可以把用户连带的数据全部删掉。);
3、如果没有删除用户的权限,则可以执行:
select 'drop table '||table_name||';' from cat where table_type='TABLE'
table_name是要查询的表名,''里的内容是进行字符拼接,将会输出一批删除表的sql语句,执行这些SQL语句就可以了。
cat:可以查看 当 前用户的表、视图和序列号 的系统视图
删除后再创建该用户。
drop user username cascade;(提示“无法删除当前已连接的用户”)
具体操作可如下:
(1)查看用户的连接状况
select username,sid,serial# from v$session
(2)找到要删除用户的sid,和serial,并删除alter system kill session'sid,serial'(如上述第一步)
(3)删除用户:drop user username cascade
(3)创建命名空间(用可以登录的用户名进行登录,SYS等)
CREATE TABLESPACE _MES
DATAFILE '/home/u01/app/oradata/oracle.ora' SIZE 50M
autoextend on next 50M
maxsize UNLIMITED;
CREATE TEMPORARY TABLESPACE _TEMP
TEMPFILE '/home/u01/app/oradata/oracle.ora' SIZE 30M
autoextend on next 50M
maxsize UNLIMITED;
注意:表空间的名字需要和原表空间名相同
(4)新建用户
-- Create the usercreate user user
identified by 密码
default tablespace MES
temporary tablespace TEMP
profile DEFAULT;//用来对用户所能使用的数据库资源进行限制
profile详解:
1.如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内
2.创建profile必须要有CREATE PROFILE的系统权限
SQL> show parameter resource_limit;--if value false
SQL> alter system set resource_limit=true;
grant connect to oracle;
grant dba to oracle;
grant resource to oracle;
-- Grant/Revoke system privileges
grant create sequence to oracle;
grant create trigger to oracle;
grant unlimited tablespace tooracle;
权限详解:
connect和resource是两个系统内置的角色
权限可以分为两类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
接下来看系统权限,
DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
(5)初始化
alter system set deferred_segment_creation=false;
(6)--导入
imp user/sd_@ORCL buffer=20000000 file=E:\20141107.dmp log=E:\user.log fromuser=user touser=user
说明:userfile:本地文件20141107.dmp存放目录
log:日志文件存放目录
fromuser=导出owner
touser=(所属用户)