oracle权限管理笔记

oracle创建新用户 
1.首先我们可以用scott用户以sysdba的身份登录oracle. 
  conn scott/tiger as sysdba
2.然后我就可以来创建用户了. 
  create user shang identified by shang;
3.修改用户的密码. 
  alter user shang identified by shang123456; 
4.创建一个表空间.
  create tablespace shang_shang datafile 'D:\OLTDB\shang_shang.dbf' size 50M;
5.创建好表空间,还需要将表空间分配给用户. 
  alter user shang default tablespace shang_shang;
6.给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限 
  grant create session,create table,create view,create sequence,unlimited tablespace to zs;
 
===================================================
7、授权
grant connect to shang;
 
比如用户A想操作用户B下的某一个表,那么可以登录用户B输入以下指令:
 
grant all on T_OLT to shang;
这样,A就拥有了B下面 tablename 这个表的所有权限。
同理如果只是想赋某种权限的话,以下语句可供参考:
grant create tablespace to shang;
grant select on T_OLT to shang;
grant update on T_OLT to shang;
grant insert on T_OLT to shang;
 
grant execute on procedurename to shang; 授权存储过程
 
grant update on tablename to shang with grant option; 授权更新权限给A用户,A用户也可以将此权限继续授权给别人;
 
8、查询某个表属于哪个用户管理
  select owner from dba_tables where table_name=upper('表名');
  
9、创建表并指定表空间
CREATE TABLE T_OLT 
(
  ID INT NOT NULL 
, OLT_NAME VARCHAR2(250) NOT NULL 
, OLT_IP VARCHAR2(15) NOT NULL 
, OLT_TYPE VARCHAR2(20) NOT NULL 
, INPUT_TIME DATE 
, CONSTRAINT T_OLT_PK PRIMARY KEY 
  (
    ID 
  )
  ENABLE 
) tablespace  shang_shang;
 
----插入测试记录------
INSERT INTO t_olt (olt_name,olt_ip,olt_type) VALUES ('OLTfCLHW02/黄陂区/研子局01综合机房','172.26.115.3','5680T');
 
 
----插入测试记录------
 
 
 
10、创建序列,为自增字段做准备
create sequence T_OLT_AUTOINC
 minvalue 1  
 maxvalue 999999999999999999999999999 
 start with 1 
 increment by 1 
 nocache;
 
11、创建自增长字段
create or replace trigger insert_for_autoinc_for_T_OLT
     before insert  on T_OLT
     for each row
          begin
               select T_OLT_AUTOINC.nextval into :new.Id from dual;
          end insert_for_autoinc_for_T_OLT;
错误报告 -
ORA-04089: 无法对 SYS 拥有的对象创建触发器==注意:不能以sysdba角色
 
======Oracle视频笔记=====
1、 显示当前用户
Show user;
 
2、创建登录到数据库的权限
grant create session to 用户名
 
3、让用户有创建表的权限
grant create table to 用户名
 
4、如果没有授权给用户表空间,还是创建不了表
grant unlimited tablespace to 用户名
 
5、撤销创建表权限
revoke create table from 用户名
 
6、查看用户有哪些【系统】权限
select * from user_sys_privs;
查看用户有哪些【对象】权限
select * from user_tab_privs;
查看用户有哪些【对象】列权限
select * from user_col_privs;
 
7、撤销表空间权限
revoke unlimited tablespace from 用户名
 
8、【oracle数据库在插入记录是默认是不自动提交,必须要手动提交】
commit
 
[对象权限是谁拥有,谁授权;系统权限都是有管理员分配]
9、【对象权限,关键字all】授权让用户访问不是自己创建的表【让用户看其它用户创建的表】
grant select【查询权限】 on 表名称 to 用户名
grant insert【插入权限】 on 表名称 to 用户名
grant all   【所有权限】 on 表名称 to 用户名
 
revoke all on 表名称 from 用户名
 
10、【系统权限】授权给所有用户【关键字:public】
grant create session【登录权限】 public;
grant create table to public
 
11、修改表结构
alter table mytab add name varchar(10);
 
12、仅仅对某一列授权【仅对update和insert操作有效】
grant update(name,id) on mytab to lisi;
grant insert(id) on mytab to lisi;
 
13、oracle 增加表空间大小的四种方法
转载 2016年08月27日 22:36:32 5400
增加表空间大小的四种方法
Meathod1:给表空间增加数据文件
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
 
Meathod2:新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
 
Meathod3:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
 
Meathod4:手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
RESIZE 100M;
 
12、权限的传递
grant alter any table to lisi with [admin option];
grant select on mytab to lisi with [grant option];
 
13、使用角色管理权限
create role myrole;  //创建角色【角色的用途:就是对一组权限打包】
grant create session to myrole;//对角色赋给登录权限
grant create table to myrole;//对角色赋给创建表权限
grant myrole to lisi;//给lisi用户赋给myrole角色
drop role myrole;//删除角色
//某些系统权限不能放进角色
grant unlimited tablespace to myrole; //错误,此权限不可赋给角色
revoke  unlimited tablespace from shang;//回收shang的不受限制的表空间权限
 
14、权限分类
create table //只能创建属于自己的表,不能创建属于其它用户的表
create any table[可以给任意用户创建表]
alter any table //可以修改任意用户的表
drop any table //可以删除任意用户的表
表是属于某个单一用户的。【独享】
角色不属于任意一个用户。【共享】
 
15、修改普通用户密码口令【就算不知道密码,也可修改密码】
alter user scott identified by 123456;
 
16、管理员密码丢失怎么办?
oracle数据库的三种验证机制
1、操作系统验证【管理员口令验证】
2、密码文件验证【管理员口令验证】
3、数据库验证【普通用户都是采用此验证】
 
Linux下oracle启动过程
1、lsnrctl start 【首先启动监听】
2、sqlplus sys/oracle as sysdba
3、startup //启动数据库实例
 
windows下oracle启动过程
1、

 

posted on 2018-04-11 10:30  湖北笨笨  阅读(123)  评论(0编辑  收藏  举报