日期:2014-05-16  浏览次数:20392 次

oracle新建用户、修改、授权、导入导出数据
1.新建用户,分配权限:
①切换用户sys登陆:
  conn sys/change_on_install as sysdba;
②创建用户:
  create user dongbw identified by 877423246;
③给用户dongbw授予CREATE SESSION的权限,要不然登陆的时候会报错:ORA-01045:user DONGBW lacks CREATE SESSION privilege;logon denied
  grant create session to dongbw;
④给用户dongbw分配CREATE TABLE的权限,要不然创建表的时候会报错:ORA-01031:权限不足
  grant create table to dongbw;
⑤对用户dongbw实现users权限的赋予,要不然会报错:ORA-01950:对表空间‘USERS’无权限
  alter user dongbw quota unlimited on users;(会提示:用户已更改。)
⑦.给用户dongbw分配创建序列,创建存储过程和创建视图的权限,便于之后创建序列、存储过程和视图
  grant create sequence,create view,create procedure to dongbw;
⑧给用户dongbw分配connect,resource,dba权限
  grant connect,resource,dba to dongbw;
⑨删除用户语句:
  drop user dongbw cascade;

2.导出数据(用exp命令)
注意如果是服务器上的数据库,用户名一定要写完整:ycykuser@192.168.8.7/orcl

3.导入数据(用imp命令)
最好建一个跟服务器上的用户名相同的用户名,之前用户名不一样一直报错:"ALTER SESSION SET CURRENT_SCHEMA= "ycykuser""
     IMP-00003: 遇到 ORACLE 错误 1435
     ORA-01435: 用户不存在
     IMP-00000: 未成功终止导入
附录:
其他分配权限的语句:
l 去除用户权限


-- 去除用户 Sam 创建视图的权限

revoke create view from sam;


l 分配角色权限


-- 分配角色 manager 创建表,创建序列的权限

grant create table,create sequence to manager;


l 去除用户权限


-- 去除角色 manager 创建视图的权限

revoke create table from manager;


l 分配表的Select权限给用户


-- 分配用户 Sam 在表 tt 上的 select 权限

grant select on tt to sam;

-- 去除用户 Sam 在表 tt 上的 select 权限

revoke select on tt from sam;


l 分配表的Update权限给角色


-- 分配表的 Update 权限给角色 Manager

grant update on tt to manager;

-- 去除表的 Update 权限给角色 Manager

revoke update on tt from manager;


l 分配表的Select权限给所有用户


-- 分配表的 Select 权限给所有用户

grant select on tt to public;

-- 去除表的 Select 权限给所有用户

revoke select on tt from public;


l 分配表的Select权限给用户,且允许他授权给其他人


-- 分配表的 Select 权限给用户 Sam ,且允许 sam 罢表的 select 权限授权给他人

grant select on tt to sam with grant option;