Oracle数据库基础

Posted 夜微凉、的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库基础相关的知识,希望对你有一定的参考价值。

  1. 简介
  2. 数据库实例
  3. 表空间
  4. 登录身份和角色
  5. 用户
  • 1
  • 1
  • 1

Oracle基础:

  Oracle创建数据库不能像SQL Server那样用一个简单的CREATE DATABASE命令就能完成,虽然一个 Oracle 数据库服务器中可以安装多个数据库,但是一个数据库需要占用非常大的内存空间。

  因此一般一个服务器只安装一个数据库。每一个数据库可以有很多用户,不同的用户拥有自己的数据库对象(比如:数据库表),一个用户如果访问其他用户的数据库对象,必须由对方用户授予一定的权限。

       不同的用户创建的表,只能被当前用户访问。因此在 Oracle 开发中,不同的应用程序只需使用不同的用户访问即可

数据库实例:  

用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。 

其实就是用来访问和使用数据库的一块进程,它只存在于内存中。就像Java中new出来的实例对象一样。 

我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。 

实例名指的是用于响应某个数据库操作的数据库管理系统的名称。她同时也叫SID。实例名是由参数instance_name决定的。

表空间

Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。

有了数据库,就可以创建表空间。

表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

查看当前用户拥有的表空间语句:

SELECT NAME FROM V$DATABASE

创建表空间语法: 

Create TableSpace 表空间名称  
DataFile          表空间数据文件路径  
Size              表空间初始大小  
Autoextend on     是否自动拓展空间

如:

create tablespace db_test  
datafile ‘D:\oracle\product\10.2.0\userdata\db_test.dbf‘  
size 50m  
autoextend on;

身份和角色

在oracle中分为三种连接身份 Normal sysDBA 和 sysyoper 

Normal    :普通用户,权限只能查询某些表的数据

SysDBA   : 即数据库管理员,权限包括:打开数据库服务器;关闭数据库服务器;备份数据库;恢复数据库;日志归档;会话限制;管理功能;创建数据库

Syssyoper:即数据库操作员,权限包括:打开数据库服务器;关闭数据库服务器;备份数据库;恢复数据库;日志归档;会话限制;

SYSSYSTEM 是每个ORACLE 数据库系统缺省安装的两个帐户。SYS 是所有内部数据库表、结构、过程包、等拥有者,此外它还拥有 V$ 和数据字典视图,并创建所有封装的数据库角色(DBA,CONNECT,RESOURCE)。 Sys是一个唯一能访问特定内部数据字典的用户。 System 也是在安装ORACLE 时创建的用户,用于 DBA 任务的管理。

Oracle创建好以后,系统会预设几个用户,sys  和  system  和  sott

账号/密码 身份 说明
sys/change_on_install  SYSDBA 或 SYSOPER 不能以 NORMAL 登录,可作为默认的系统管理员
system/manager   SYSDBA 或 NORMAL 不能以 SYSOPER 登录,可作为默认的系统管理员
scott/tiger     NORMAL 普通用户

 

 

 

角色:还有一个概念就是数据库角色(role),数据库角色就是若干个系统权限的集合。

Oracle 用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。系统权
限比如:CREATE SESSION,CREATE TABLE 等,拥有系统权限的用户,允许拥有相应的系统操
作。数据库对象权限,比如对表中的数据进行增删改操作等,拥有数据库对象权限的用户可
以对所拥有的对象进行对应的操作。

如新建一个用户UserA,但是UserA还是不能登录系统的,因为他没有权限,每个用户登录系统至少需要CREATE SESSION的角色权限。

角色名称 介绍说明
CONNECT 

主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予CONNECT role。CONNECT 是使用 Oracle 的简单权限,

拥有 CONNECT 角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。

 RESOURCE     

更可靠和正式的数据库用户可以授予 RESOURCE role。RESOURCE
提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器
(trigger)、索引(index)等。

 DBA  

DBA role 拥有所有的系统权限----包括无限制的空间限额和给其他用户授
予各种权限的能力。用户 SYSTEM 拥有 DBA 角色。

 

 

 

 

 

 

 

 

 

 

用户

Oracle 的用户可以用 CREATE USER 命令来创建。其语法是:

CREATE USER 用户名
IDENTIFIED BY 密码
ACCOUNT UNLOCK/LOCK(是否锁定)

 

CREATE USER User
IDENTIFIED BY 123456
ACCOUNT UNLOCK

 







以上是关于Oracle数据库基础的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

Oracle-常用数据库对象笔记(片段)

[vscode]--HTML代码片段(基础版,reactvuejquery)

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段