oracle物理结构、数据字典、用户管理、权限管理

物理结构

--数据文件--保存所有逻辑对象,比如表以及表和表之间的关系
select * from dba_data_files;

--日志文件--记录数据库的变化,需要在 mount模式下运行,作用:恢复
select * from v$logfile;

--控制文件--数据文件和日志文件之间的桥梁
select * from v$controlfile;

数据字典

--查看全部表空间
select * from dba_tablespaces;
--查看表
select * from all_tables; --当前用户权限内可操作的所有表
select * from user_tables; --当前用户拥有的所有表

--查看用户拥有的角色
select * from user_role_privs;
select * from dba_role_privs where grantee='ZHANGSAN';
--查看角色拥有的权限
select * from dba_sys_privs where grantee='CONNECT';
select * from dba_sys_privs where grantee='RESOURCE';

--创建用户  --ddl dml dcl
create user zhangsan identified by oracle;
grant connect to zhangsan;
grant resource to zhangsan;

create table test(id number primary key, name varchar2(20) not null);

select *from v$session;
select * from v$instance;

用户管理

select username,default_tablespace from dba_users;
select * from dba_tablespaces;

-- 创建表空间
create tablespace classes12
datafile 'D:\oracle\tablespacelocation\classes12.dbf' size 5m
--autoextend on next 5m naxsize 128m

create user lisi identified by oracle;
--修改表空间
alter user lisi default tablespace classes12;

--修改密码
alter user lisi identified by etc123;
--授权
grant connect,resource to lisi;

--用户锁定与解锁
alter user lisi account unlock; --lock
--删除用户
drop user lisi cascade; --cascade 级联删除,删除该用户下所有对象
--删除表空间
drop tablespace classes12 including contents and datafiles; --删除表空间的同时清楚内容以及数据文件

权限管理

--当前用户的角色
select * from user_role_privs;
select * from dba_role_privs where grantee='ZHANGSAN';

--查看角色对应的权限
select * from role_sys_privs where role='RESOURCE';
--查看当前用户给别的用户赋予的权限
select * from dba_tab_privs where grantee='ZHANGSAN';
--查看当前用户所拥有的表
select * from user_tables;

select * from test;
insert into test values(1,'张三');
update test set name='李四' where id=1;
select * from test for update;

--把test表的部分权限赋予scott,然后才能对test进行操作
grant select,insert on zhangsan.test to scott;

select * from zhangsan.test;
sdelete from zhangsan.test;
--收回权限
revoke select on zhangsan.test from scott;

create user lisi identified by oracle;
 grant connect,resource to lisi;


grant select,insert on zhangsan.test to public;--public指代所有用户
revoke select,insert on zhangsan.test from public;--public指代所有用户

--权限传递
grant select,insert on zhangsan.test to scott with grant option;--同时同意scott把改权限可以赋予给别人
grant select,insert on zhangsan.test to lisi;
select * from zhangsan.test;
revoke select,insert on zhangsan.test from scott;

--权限给角色
create role myrole;
grant select on zhangsan.test to myrole;


--角色给用户
grant myrole to lisi;

猜你喜欢

转载自www.cnblogs.com/Jotal/p/11356195.html