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、