一:用户操作
创建用户 create user jyb identified by jyb 【密码区分大小写】
修改用户 alter user jyb identified by test
锁定用户 alter user jyb account lock;
解锁用户 alter user jyb account unlock;
查询所有的用户 select * from all_users;
删除用户 drop user jyb 【cascade代表所有关联的对象都被删除】;
二:角色操作
创建角色 create role stu;
删除角色 drop role stu;
给角色添加功能权限 grant create session to stu
给用户添加角色 grant stu to jyb
通过dd表可以查询所有的系统表:select * from dictionary where table_name like '%ROLE%'
查询所有的角色 select * from dba_roles;
三:权限操作
新创建的用户没有任何权限,就连连服务器的权限都没有系统权限:允许用户在数据库中执行特定的操作。
如:执行DCL、DDL语句
grant 系统权限 to 用户|角色
所有的系统权在 dba_sys_privs表中可以查询
grant create user to jyb --jyb就能通通过 create user 创建用户
回收系统权限
revoke 系统权限 from 用户|角色
对象权限:允许用户针对数据库对象执行特定的操作。
(针对某个对象(表)进行数据操作(DML)(crud)的权限)
grant 操作(CRUD|RW) on 对象|all to 用户|角色
grant insert on jyb.course to jyb --jyb用户就拥有了访问course表的权限
回收对象权限
revoke 操作(CRUD|RW) on 对象|all from 用户|角色
角色 (将对象权限或者系统权限赋予给角色 就是角色权限)
Oracle10g内置的常用角色:
CONNECT:连接到Oracle的权限
SELECT PRIVILEGE FROM dba_sys_privs WHERE grantee = 'CONNECT';
RESOURCE:创建各种数据库对象的权限。
SELECT PRIVILEGE FROM dba_sys_privs WHERE grantee = 'RESOURCE';
DBA:数据库管理员所有权限
EXP_FULL_DATABASE:可把数据库整个备份输出的权限
IMP_FULL_DATABASE :可把数据库整个备份恢复输入的权限
GRANT 角色名[,角色名2,...] TO 用户名;
REVOKE 角色名[,角色名2,...] FROM 用户名;
四:备份和恢复 (dos备份)
热备份
(必须要先连接数据库后 备份数据后导出文件)
冷备份(DBA)
(不需要连接oracle数据库 直接备份文件)
plsqldevloper 工具提供三种
1 exp/imp
2 导出sql语句
3 自定义导出pde
热备份 举例:
备份(DOS):
1》 客户端备份 【文件被保存在当前的客户端】【一般使用客户端备份】
exp 用户名/密码@连接描述符 file=保存的文件.dmp 【tables=(表1,表2....)】 owner=方案名
2》 服务器备份 【文件被保存在服务器上】
被导出的用户必须要添加 grant create any directory to 用户名
create directory 目录名称 as 'c:/test'
expdp 用户名/密码@连接描述符 directory=目录名称 dumpfile=jybdp1.dmp tables=(表1,表2....)
还原:
客户端 还原
imp 用户名/密码@连接描述符 file=保存的文件.dmp full=y ignore=y
服务器 还原
impdp jyb/jyb@orcl directory=jybdir dumpfile=jybdp1.dmp tables=(表1,表2....)