Oracle数据库基础教程
一、Oracle基础:
1、简介
Oracle创建数据库不能像SQL Server那样用一个简单的CREATE DATABASE命令就能完成,虽然一个 Oracle 数据库服务器中可以安装多个数据库,但是一个数据库需要占用非常大的内存空间。
因此一般一个服务器只安装一个数据库。每一个数据库可以有很多用户,不同的用户拥有自己的数据库对象(比如:数据库表),一个用户如果访问其他用户的数据库对象,必须由对方用户授予一定的权限。
不同的用户创建的表,只能被当前用户访问。因此在 Oracle 开发中,不同的应用程序只需使用不同的用户访问即可。
2、数据库实例:
用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。
其实就是用来访问和使用数据库的一块进程,它只存在于内存中。就像Java中new出来的实例对象一样。
我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。
实例名指的是用于响应某个数据库操作的数据库管理系统的名称。她同时也叫SID。实例名是由参数instance_name决定的。
3、表空间:
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;
4、登录身份和角色:
4-1 身份
在oracle中分为三种连接身份 Normal 和 sysDBA 和 sysyoper
Normal :普通用户,权限只能查询某些表的数据
SysDBA : 即数据库管理员,权限包括:打开数据库服务器;关闭数据库服务器;备份数据库;恢复数据库;日志归档;会话限制;管理功能;创建数据库
Syssyoper:即数据库操作员,权限包括:打开数据库服务器;关闭数据库服务器;备份数据库;恢复数据库;日志归档;会话限制;
4-2 角色
角色:还有一个概念就是数据库角色(role),数据库角色就是若干个系统权限的集合。
Oracle 用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。系统权
限比如:CREATE SESSION,CREATE TABLE 等,拥有系统权限的用户,允许拥有相应的系统操
作。数据库对象权限,比如对表中的数据进行增删改操作等,拥有数据库对象权限的用户可
以对所拥有的对象进行对应的操作。
如新建一个用户UserA,但是UserA还是不能登录系统的,因为他没有权限,每个用户登录系统至少需要CREATE SESSION的角色权限。
角色名称 | 介绍说明 |
CONNECT |
主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予CONNECT role。CONNECT 是使用 Oracle 的简单权限, 拥有 CONNECT 角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。 |
RESOURCE |
更可靠和正式的数据库用户可以授予 RESOURCE role。RESOURCE |
DBA |
DBA role 拥有所有的系统权限----包括无限制的空间限额和给其他用户授 |
5、用户和授权:
SYS和SYSTEM 是每个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 | 普通用户 |
Oracle 的用户可以用 CREATE USER 命令来创建。其语法是:
CREATE USER 用户名
IDENTIFIED BY 密码
ACCOUNT UNLOCK/LOCK(是否锁定)
DEFAULT TABLESPACE 表空间
TEMPORARY TABLESPACE 临时表空间
如
CREATE USER TestUser
IDENTIFIED BY 123
ACCOUNT UNLOCK
DEFAULT TABLESPACE DB_ROADFLOW
TEMPORARY TABLESPACE ROADFLOW_TEMP
创建完用户以后角色授权
GRANT CONNECT TO TESTUSER --普通的连接权限
GRANT RESOURCE TO TESTUSER --数据库操作权限
GRANT DBA TO TESTUSER --超级管理员
GRANT SELECT ON MENU TO TESTUSER --将MENU表的权限赋值给TESTUSER
通过 GRANT SELECT ON MENU TO TESTUSER 语句 将 MENU 表的权限赋值给 TESTUSER。
如:用户 USER 创建 Menu 表,然后通过上面的 GRANT 语句 将 Menu 表的操作权限赋值给 TESTUSER ,查询的语句如下
GRANT SELECT ON MENU TO TESTUSER --将MENU表的权限赋值给TESTUSER
SELECT * FROM USER.MENU --查询的时候需要加上原表权限拥有者的名字+表名
用system账号创建A用户,然后用A用户创建表(N个),用system账号创建B用户,然后授权A的一个表的查询权限给B。查询的时候要 select * from A.表名;因此表属于A不属于B的
二、数据类型
Oracle常见数据类型如下:
类型 | 含义 |
CHAR(length) |
存储固定长度的字符串。参数 length 指定了长度,如果存储的字符串长 |
VARCHAR2(length) |
存储可变长度的字符串。length 指定了该字符串的最大长度。默认长度 |
NUMBER(p,s) |
既可以存储浮点数,也可以存储整数,p 表示数字的最大位数(如果是 |
DATE | 存储日期和时间,存储纪元、4 位年、月、日、时、分、秒,存储时间 |
TIMESTAMP | 不但存储日期的年月日,时分秒,以及秒后 6 位,同时包含时区。 |
CLOB | 存储大的文本,比如存储非结构化的 XML 文档 |
BLOB | 存储二进制对象,如图形、视频、声音等。 |
导入数据库:
导入oracle数据库可以使用 PL/SQL 工具来进行,下面主要是介绍使用CMD命令来导入数据库
导入之前需要拥有 DBA 的 权限,参考 用户和授权 设置DBA角色
- 打开CMD命令,输入 imp
- 命令框提示输入用户名和密码(密码输入时不显示的),然后回车。
- 出现导入 导入文件: EXPDAT.DMP> 命令时,输入导入文件的路径+文件名,比如我的保存在E盘目录下下文件名是roadflow-oracle.dmp,那么就输入 E:\Work\OA\DB\roadflow-oracle.dmp。然后回车。
- 然后按照提示确认几个步骤,确认完以后会进行导入操作。
Oracle数据库基础教程的更多相关文章
- 第一章 oracle数据库基础
第一章 oracle数据库基础 1.oracle简介-->数据库管理系统 1.1:数据库 1.2:全局数据库名 1.3:数据库实例 1.4:表空间 1.5:数据 ...
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- Oracle数据库基础入门《一》Oracle服务器的构成
Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- Oracle 数据库基础——安装
一.数据库基础知识 1.概念 数据库全称数据库管理系统,简称DBMS,是一种在计算机中,针对数据进行管理.存储.共享的一种技术. 2.分类 数据库的发展过程中,按逻辑模型可分为以下几种: 3.关系型数 ...
- 【学习笔记】Y2-1-1 Oracle数据库基础
Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...
- Oracle 数据库 基础学习 (一) SQL基本知识
Oracle 从零开始,不知所措.要掌握一种技能,最好的方式是先学会怎么使用它,然后再深入学习,先有样子,再有技术. 一,什么是数据库? 为什么需要数据库? 数据库实质上是一个信息的列表,或者是一 ...
- Oracle数据库 基础SQL语句练习
一.说明 第一次使用Oracle,想做一些练习,熟悉一些oracle. 表:使用的是scott用户,默认的表 具体表讲解,可以参考该文档:https://www.cnblogs.com/xjcheng ...
- [转载]Oracle数据库基础--SQL查询经典例题
Oracle基础练习题,采用Oracle数据库自带的表,适合初学者,其中包括了一些简单的查询,已经具有Oracle自身特点的单行函数的应用 本文使用的实例表结构与表的数据如下: emp员工表结构如下: ...
随机推荐
- 【转】C# 开发Chrome内核浏览器(WebKit.net)
WebKit.net是对WebKit的.Net封装,使用它.net程序可以非常方便的集成和使用webkit作为加载网页的容器.这里介绍一下怎么用它来显示一个网页这样的一个最简单的功能. 第一步: 下载 ...
- 测试教程网.unittest教程.3. 实例: 测试弱密码
From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...
- 【分布式session】Spring-session的使用
概述 Session用于保存用户信息,通常一个Session保存一个用户信息,在以Tomcat为Servlet Container的web应用中,用户信息都保存在HttpSession中: 当用户发起 ...
- PAT 乙级 1014 福尔摩斯的约会 (20) C++版
1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...
- word&excel&ppt文档加密方式
ppt excel word
- BloomFilter理解
知道BloomFilter是因为RocksDB数据库中用到了这个技术,用于判断1个数据是否存在于1个SST文件中. BloomFilter可能存在误判,就是判断数据是存在集合中,而实际上可能不存在,概 ...
- golang的垃圾回收(GC)机制
golang的垃圾回收采用的是 标记-清理(Mark-and-Sweep) 算法 就是先标记出需要回收的内存对象快,然后在清理掉: 在这里不介绍标记和清理的具体策略(可以参考https://lengz ...
- java使用freemarker模板导出word(带有合并单元格)文档
来自:https://blog.csdn.net/qq_33195578/article/details/73790283 前言:最近要做一个导出word功能,其实网上有很多的例子,但是我需要的是合并 ...
- CAS锁相关讲解
感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档: http://www.blogjava.net/xylz/archive/2010/07/04/325206.html ...
- iOS 懒加载 字典转模型
>>>懒加载 一.介绍 懒加载又称延时加载,即在系统调用时加载,如果系统不调用则不会加载,所谓懒加载其实就是重写其get方法. 在使用懒加载时要先判断该方法是否存在,如果不存在再进行 ...