微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle

数据字典

数据字典提供了数据库的一些系统信息。它是只读表和视图的集合,数据字典的所有者是sys用户。其信息是从数据文件获取的,用户在上面只能执行查询操作,其维护和修改是系统自动完成的.

数据字典基表:存储数据库的基本信息,普通用户不能访问数据字典的基表
数据字典视图:数据字典视图是基于数据字典基表所建立的视图,普通用户可以查询数据字典视图获取系统信息。

表名 含义
user_tables 记录当前用户所拥有的所有表
all_tables 记录当前用户可以访问的所有表
dba_tables 显示所有方案所拥有的所有表。查询这个试图,要求用户dba角色或者拥有select any table的系统权限,会返回system,sys,scott….方案中的所有表
dba_users 显示数据库中所有用户的信息
dba_sys_privs 显示用户所拥有的系统权限
dba_tab_privs 显示用户所拥有的对象权限
dba_role_privs 显示用户所拥有的角色权限
dba_roles 显示数据库中所有角色信息
dba_tablespaces 显示数据库中所有表空间信息
role_sys_privs 显示角色的系统权限
global_name 显示当前数据库的全称

[例子]

查询当前用户所拥有的所有表
select table_name from user_tables
查询当前用户可以访问的所有表
select table_name from all_tables
查询所有方案所拥有的所有表
select table_name from dba_tables
查询scott用户所拥有的角色
select * from dba_role_privs where GRANTEE=’SCott
查询某角色的系统权限
select * from dba_sys_privs where GRANTEE=’CONNECT’
select * from role_sys_privs where role=’CONNECT’
查询用户拥有的角色
select * from dba_role_privs where GRANTEE=’SCott

视图

动态性能视图:用来记录当前例程的活动信息。动态性能视图中的信息是从SGA、控制文件和oracle数据库相关性能信息中获得的,所以数据库的状态不同时,能访问的视图不同。

  1. oracle server启动时,系统就会建立动态性能视图
  2. oracle server停止时,系统就会删除动态性能视图
  3. 动态性能视图的所有者为sys。一般是dba或者特权用户用来查询动态性能视图
  4. oracle的所有动态性能视图都是v_$开始的。并且oracle为每个动态性能视图都提供了相应的同义词。并且同义词是以v$开始的。例如v_$datafile的同义词是v$datafile

常用动态性能视图

名称 用途 范例
v$fixed_table 用于列出所有可用的动态性能视图和动态性能 select name from v$fixed_table where name like 'V$%'
v$instance 获取当前例程的详细信息 select instance_name,host_name,status from v$instance
v$SGA 显示SGA主要组成部分 select * from v$SGA
v$parameter 取得初始化参数的详细信息 select name,value,description from v$parameter
v$version 获取ORACLE版本的详细信息 select * from v$version
v$option 显示已经安装的ORACLE选项 select * from v$option
v$session 显示会话的详细信息 select sid,username from v$session where username is not null(null表示后台进程会话)
v$process 显示与ORACLE相关的所有进程信息(包括后台进程和服务器进程) select * from v$process
v$bgprocess 显示后台进程详细信息 select name,description from v$bgprocess
v$database 取得当前数据库的详细信息 select name,log_mode,created from v$database
v$controlfile 取得当前数据库所有控制文件的信息 select name from v$controlfile
v$dbfile 取得数据文件编号及名称 select * from v$dbfile
v$logfile 显示重做日志成员的信息 select * from v$logfile
v$log 显示日志组的详细信息 select group#,thread#,sequence#,bytes,members,status from v$log
v$tablespace 显示表空间信息 select * from v$tablespace
v$tempfile 显示数据库所包含的临时文件 select name from v$tempfile
v$locked_object 显示被加锁的数据库对象 select * from v$locked_object
v$lock 显示锁信息 select * from v$lock

system账户不能登陆

sqlplus / as sysdba // sqlplus高权限登陆
alter user system account unlock // 解锁system账户
alter user system identified by manger // 修改system账户密码为manager

创建新用户

sqlplus system/manager@192.168.1.66/orcl // sqlplus高权限登陆
create user ssyang identified by ssyang // 创建用户ssyang,密码为ssyang
grant create session to ssyang // 为ssyang用户授权登陆
grant create table to ssyang // 为ssyang用户授权表操作
grant unlimited tablespace to ssyang // 为ssyang用户提供无限空间
alter user ssyang quota 4M on users // 为ssyang用户提供4M配额空间

重新启动oralce服务和监听

lsnrctl start // 启动监听
net start OracleServiceORCL // 启动oracle服务

lsnrctl stop // 停止监听
net stop OracleServiceORCL // 停止oracle服务

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐