`
tellixu
  • 浏览: 68043 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle系列之三内置用户及相关概念

阅读更多
    Oracle安装过程中系统提示我们需要修改2个用户的密码,sys,system他们的默认密码是:sys/change_on_install,system/manager;那么这两个用户的权限是什么呢?
    SYS和SYSTEM 是每个ORACLE 数据库系统缺省安装的两个帐户。SYS 是所有内部数据库表、结构、过程包、等拥有者,此外它还拥有 V$ 和数据字典视图,并创建所有封装的数据库角色(DBA,CONNECT,RESOURCE等)。 Sys是一个唯一能访问特定内部数据字典的用户。System 也是在安装ORACLE 时创建的用户,用于 DBA 任务的管理。
    这里有2个概念我们需要明白:
    1.V$指的是什么:以V$开头的表我们称为系统性能表,记录oracle运行过程中的信息,是保存在内存中的,我们可以查看。
    2.数据字典视图:数据字典就是数据字典,与视图有什么关系?数据字典我们知道是系统维护的,我们不能进行操作,理论上不能查看,但是不能查看又对用户不公平,因此系统提供了视图的形式供我们查看,这样我们就可以使用标准的select语句进行数据的查看了,就相当于SQLServer中的系统表。那么在Oracle中存在3类数据字典视图分别是以“alL_”,“dba_”,“user_”开头进行命名,这三类视图有什么区别呢?是不是权限的问题呀?提起权限我们就有点头大,可以这么说:

user_开头的视图表示这个视图中只存储当前用户的信息,如:
SQL> conn scott/tiger
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0
Connected as scott
 
SQL> select table_name from user_all_tables;
 
TABLE_NAME
------------------------------
BONUS
DEPT
EMP
SALGRADE
 
表示该用户拥有4张表。

前缀为DBA_的数据字典视图,包含了数据库拥有的所有对象和权限的信息。

前缀为ALL_的数据字典视图,包含了用户当前可以访问的全部对象和权限的信息,该对象也许是其他用户授权的。比如说:

SQL> conn sys/kdk as sysdba
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0
Connected as SYS
 
SQL> CREATE USER tellix identified by stephen;--创建用户命令

SQL> grant connect to tellixu;--授权

SQL> grant resources to tellix;-- 授权

 
SQL> conn tellix/stephen;
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0
Connected as tellix
 
SQL> create table test
  2  (
  3  a number(4),
  4  b varchar2(20)
  5  );
 
Table created

SQL> grant all on test to scott;

SQL> conn scott/tiger;
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0
Connected as scott

SQL> select OWNER,TABLE_NAME from all_all_tables where owner='TELLIX';
 
OWNER                          TABLE_NAME
------------------------------ ------------------------------
TELLIX                         TEST
 
这里我们把tellix用户的表授权给scott用户,则在scott用户下查询all_all_tables就可以查询出来信息。
   
     说到用户我们不免提到一个词:schema,很多地方说schema就是方案,有些资料中说是模式,呵呵,我认为我们没有必要非要使用汉语来解释,我们就说schema这个词,其实schema就是一个概念,我个人感觉应该这么说:一个用户以及这个用户下所有数据库的对象(如:用户的表,用户的存储过程,用户的函数,视图,同义词,序列等等)的一个统称,很多人问我:如何创建一个schema,schema是数据库对象吗?我认为不是呀,他其实是一个概念而已嘛,那么如何创建呢?我们其实创建一个用户的时候,一个Schema就存在了!我们平时说的schema名称就是用户名而已!

     说到这里有必要再罗嗦几句:很多人学习oracle之前可能已经了解了SQLServer了,在SQLServer企业管理器中我们非常容易就可以创建一个数据库,或者使用create database命令就非常方便创建一个数据库,但是在Oracle中创建一个数据库不是一个简单的事情,在同一台服务器上尽管可以创建多个数据库,但是一般情况下只创建一个数据库。这个数据库地位非常高,那么如何区分不同“区域”的数据呢?使用用户,在同一个数据库中,不同用户之间不能相互访问数据(除非授权),这个概念sqlserver中也存在,只是在sqlserver中我们做项目第一件事是创建一个数据库;但是在oracle中我们做项目第一件事是创建一个用户,然后在赋予这个用户所需要的角色权限即可,顺便说一下,一个用户创建成功后至少需要connect,resource两个角色才能进行正常的CRUD操作。
    学习Oracle一定要在观念上与sqlserver区分开来。

分享到:
评论

相关推荐

    Oracle RAC之名词解惑

    Oracle RAC,全称为Real Application ...理解这些核心概念有助于深入掌握Oracle RAC的运作原理,从而更好地管理和维护Oracle集群环境。在实践中,了解RAC的历史和与其他Oracle特性的交互也是提升技术水平的关键。

    oracle系列培训.pptx

    鑫诺通讯技术有限公司的Oracle系列培训旨在帮助员工理解和掌握Oracle的体系架构、开发方法以及相关开发工具的使用。 首先,Oracle的体系架构分为数据库和实例两部分。数据库是实际存储在磁盘上的数据集合,包括数据...

    oracle concepts概念手册中英文版(10gR2)

    ### Oracle概念手册中英文版(10gR2)知识点概览 #### 一、何为Oracle? **Oracle**是一款由Oracle公司开发的关系型数据库管理系统(RDBMS),它支持SQL语言,广泛应用于企业级的数据存储与管理。Oracle数据库以其强大...

    oracle相关的 api文档

    PL/SQL包含了一系列内置函数和过程,如DBMS_OUTPUT用于调试,DBMS_JOB用于调度任务,以及DBMS_LOCK用于实现锁定机制。此外,还有如DBMS_SQL用于动态执行SQL语句,DBMS_UTILITY用于获取元数据信息等功能强大的包。 ...

    Oracle Sql基础 宝典系列1

    ### Oracle SQL基础宝典系列1知识点详解 #### 第1章 编写基本的SQL SELECT语句 ##### 1.1 SQL的起源和分类 - **起源**:SQL(Structured Query Language,结构化查询语言)是一种专门用于管理和操作数据库的标准...

    oracle 数据库 scott.sql 范例表

    "SCOTT"是一个内置的Oracle示例用户,拥有几个预定义的表,如"EMP"(员工)、"DEPT"(部门)和"BONUS"(奖金)。这些表通常用于学习SQL语句和数据库管理概念。SCOTT用户的默认用户名为"scott",密码为"tiger"。 3....

    Oracle经典教程1——走进Oracle

    Oracle服务是指在安装过程中创建的一系列服务组件,用于支持Oracle数据库的运行。主要包括: 1. **Oracle数据库服务**:负责管理数据库实例,提供数据存储和检索服务。 2. **监听器服务**:监听网络连接请求,转发...

    Oracle快速参考手册

    本手册作为Oracle学习的必备参考资料,旨在帮助用户更好地理解和掌握Oracle的相关概念和技术。 首先,我们来了解一下Oracle的基本命名原则。Oracle中的所有对象,如表、用户、密码等,其名称遵循以下规则: 1. 名称...

    Oracle Concepts

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其核心概念是理解其高效运作的关键。以下是对Oracle基础知识的详细解析: 一、Oracle数据库体系结构 Oracle数据库由多个组件构成,包括实例(Instance...

    oracle实践精华知识集

    《Oracle实践精华知识集》包含了过去三个月对Oracle数据库系统深入学习的丰富内容,涵盖了理论、实践、技巧和参考资料。此集合旨在为初学者提供全面的学习路径,帮助他们掌握Oracle的核心概念和技术。 首先,...

    Oracle XML核心技术

    尽管题目给出的部分内容主要聚焦于ASP(Active Server Pages)的内嵌对象及其使用方法,但基于题目要求,本文将围绕"Oracle XML核心技术"这一主题展开讨论,同时也会简要提及ASP的相关知识点以确保内容的完整性和准确性。...

    Oracle ODI用户指南

    ### Oracle Data Integrator (ODI) 用户指南关键知识点解析 #### 一、Oracle Data Integrator 简介 **Oracle Data Integrator (ODI)** 是一款由甲骨文公司开发的强大数据集成工具,用于实现企业级的数据整合与管理...

    Oracle中文帮助与学习资料大全 最新

    通过这个文档,用户可以查询任何Oracle相关的技术问题,是日常工作中不可或缺的参考资料。 3. **oracle.10G函数大全.chm**:这个手册详细列举了Oracle 10g版本中的所有内置函数,包括数学函数、字符串函数、日期...

    Oracle Training PPT

    Oracle Training PPT是一套专为Oracle数据库学习设计的培训材料,源自Oracle公司的内部资源,旨在帮助用户深入理解和掌握Oracle数据库系统的核心概念和技术。这套PPT系列涵盖了从基础到高级的各种主题,通过一系列...

    Oracle 批处理

    2. **PL/SQL块**:PL/SQL是Oracle的内置编程语言,它允许用户创建包含一系列逻辑步骤的程序块。在批处理中,可以编写一个循环结构,批量处理多条记录,或者调用存储过程进行复杂操作。 3. **XML在Oracle中的处理**...

    Oracle数据库课堂笔记

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级应用中...以上就是Oracle数据库系列课程的主要内容,涵盖了数据库的基础概念、管理、查询和编程等多个方面,为学习者提供了全面的Oracle知识体系。

    oracle9i enterprise edition 数据库系统概念

    ### Oracle9i Enterprise Edition 数据库系统概念 #### 高可用性与稳定性 Oracle9i作为一款先进的企业级数据库管理系统,其设计重点在于提供一个既稳定又高性能的数据存储平台,尤其适用于互联网应用及电子商务...

    Oracle网上书店管理系统

    2. **内置对象**: JSP提供了一系列内置对象,如request、response、session、application等,方便处理HTTP请求和响应。 3. **Servlet支持**: JSP本质是转换为Servlet执行,可以利用Servlet的强大功能,如转发、包含...

    oracle及reports培训教程.asp.rar

    Oracle是世界上最广泛使用的数据库管理系统之一,它提供了丰富的功能来支持大型企业级的数据存储、管理和处理。Reports则是Oracle数据库系统中的一个重要组件,专门用于创建复杂的报表和业务分析。本教程将全面介绍...

    Oracle DBA workshop1 (中文版)

    - **动态性能视图**:是Oracle数据库提供的一系列内置视图,用于查询有关数据库实例的信息。 #### 5. 管理数据库存储结构 - **存储结构**:涉及到表空间、数据文件、块等概念。 - **如何存储表数据**:表数据是...

Global site tag (gtag.js) - Google Analytics