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;