zoukankan      html  css  js  c++  java
  • oracle基本认识

    概要图

    1. 环境搭建

    1.1 Oracle的安装

    数据库的三个常用的用户及默认密码
    sys:change_on_install
    system:manager
    scott:tiger

    Oracle客户端:
     sqlplus:Oracle自带的

    1.2 sqlplus的启用

    (1)Oracle的安装目录中找到sqlplus
    (2)命令行中输入:sqlplus username/password@ip:port/database sid
    (3)开始菜单->运行:输入sqlplus username/password@ip:port/database sid
    注意:
    (1)@ip:port:登录远程数据库使用,登录本地数据库可以省略,可以写成:sqlplus username/password
    (2)database sid:选择数据库的意思。
    (3)问题:登陆本地数据库:sqlplus username/password@ORCL

     PL/SQL DEVELOPER:第三方软件,需要自行安装

     1.3 解锁用户和修改密码

    (1)sqlplus连接到数据库:sqlplus sys/123456 as sysdba
    (2)输入解锁语句:alter user scott account unlock;
    (3)修改密码:alter user scott identified by 654321;
    passw【ord】用户名:可以去修改其他用户的密码。
    passw:表示修改自己的密码。
     如果配置了企业管理器的,可以使用Web登录数据库
    企业管理器访问数据库地址:https://localhost:1158/em

    2. 引言

    2.1 为什么要使用数据库?

    淘宝网订单数据保存什么地方的?文件,数据库
    文件保存数据不方便:
    (1) 安全性问题
    (2) 不利于查询和管理
    (3) 不利于海量数据的存储
    (4) 文件在程序中不容易控制

    2.2  什么是数据库?

    数据库:数据的仓库,数据库是一个软件,是专家们设计出来的便于进行数据管理的软件。可以类比图书馆:图书馆:存放图书的 数据库:存放数据的

    2.3  数据库的三层结构@

     

     2.4 主流数据库

    微软:sqlserver 和 access(小巧,免费,不占资源,数据量不大,系统功能不多,安全性要求不高的时候,可以使用)
    Mysql:MySQL(开源的)较轻量级的数据库
    Ibm:db2(主要做海量数据的存储和处理)
    Oracle:Oracle 大型数据库,比较安全,服务好
    Sysbase:(专注于Linux下的开发,金融领域用比较多)
    思考题:(1)项目中如何去选择数据库?
    1. 项目标的是什么?
    2. 功能要求
    3. 安全性和稳定的要求
    4. 多少人用?(考虑并发)
    5. 操作系统(Linux/Unix/Windows/MacOS)

    Oracle的服务:
    必须开启的服务:OracleService<SID> OracleOraDb11g_home1TNSListener
    如果使用企业管理器,还需启动:OracleDBConsoleorcl

    3 .数据库和数据库实例的概念

    3.1 数据库 

    磁盘上存储的数据的集合
    在物理上表现为数据文件、日志文件和控制文件等
    在逻辑上以表空间形式存在
    必须首先创建数据库,然后才能使用Oracle

    3.2 数据库实例 @

    每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库
    为了运行数据库,Oracle系统所运行的所有进程和分配的内存结构的组合体

    注意:数据库:磁盘上,永久的 数据库实例:内存中的,临时的。

    数据文件,控制文件,日志文件,表空间:

     1 数据文件dbf  2 控制文件.ctl  3 日志文件log    4 表空间 SYSAUX  SYSTEM  TEMP  USER  UNDO,分别对应Oradata目录下的5个DBF文件。

     1 2 3物理  4 逻辑

    数据文件
    扩展名是.DBF,用于存储数据库数据的文件
    数据库表和数据文件不存在一对一对应关系

    控制文件
    扩展名是.CTL,是数据库启动及运行所必需的文件
    默认包含3个控制文件,各个控制文件内容相同

    日志文件
    扩展名是.LOG,它记录了对数据的所有更改信息
    多个日志文件组之间循环使用

    表空间
    每个Oracle数据库都是由若干个表空间构成,用户在数据库中建立的所有内容都被存储到表空间中
    创建数据库时会自动创建若干表空间:SYSAUX SYSTEM TEMP USER UNDO,分别对应Oradata目录下的5个DBF文件。

    3.3 表空间

    我们知道oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间。

    表空间属性:

    一个数据库可以包含多个表空间,一个表空间只能属于一个数据库

    一个表空间包含多个数据文件,一个数据文件只能属于一个表空间

    表这空间可以划分成更细的逻辑存储单元

    Oracle数据库的存储结构:

      从逻辑的角度来看,一个数据库(database)下面可以分多个表空间(tablespace);一个表空间下面又可以分多个段(segment);一个数据表要占一个段(segment),一个索引也要占一个段(segment )。 一个段(segment)由多个 区间(extent)组成,那么一个区间又由一组连续的数据块(data block)组成。这连续的数据块是在逻辑上是连续的,有可能在物理磁盘上是分散。

      那么从物理的角度上看,一个表空间由多个数据文件组成,数据文件是实实在在存在的磁盘上的文件。这些文件是由oracle数据库操作系统的block 组成的。

    Segment(段) :段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。

    Extent (区间):分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象.

    3.3 基本概念区别图

    4. Oracle的系统用户

    4.1 sys和system用户的区别?@

    【system】用户只能用normal身份登陆em。
    【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。
    “SYSOPER”权限,即数据库操作员权限,权限包括:
    打开数据库服务器 关闭数据库服务器
    备份数据库 恢复数据库
    日志归档 会话限制
    “SYSDBA”权限,即数据库管理员权限,权限包括:
    打开数据库服务器 关闭数据库服务器
    备份数据库 恢复数据库
    日志归档 会话限制
    管理功能 创建数据库

    4.2 normal 、sysdba、 sysoper有什么区别?@

    normal 是普通用户
    sysdba拥有最高的系统权限
    sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public
    sysdba登陆后是 sys

    5. sql*plus常用命令

    (1) conn[ect]:切换用户
    (2) disc[onnect]:断开某个用户和数据库的连接
    (3) passw[ord]:修改用户密码
    (4) show user:查看当前用户
    (5) exit:退出数据库
    (6) desc[ribe] 表名:查看表结构
    交互式命令:
    (1)&:可以替代变量,而在变量执行的时候,需要用户输入
    Select * from emp where deptno=’&deptno’;
    注意:Oracle中字符串用单引号
    (2)ed[it]:编辑指定的.sql文件的 edit C:a.sql
    (3)spool:可以将sqlplus屏幕上的内容输出到指定的文件中
    Spool d:a.sql
    Select * from emp;
    。。。查询结果
    Spool off

    6. 创建数据库

    在数据库配置助手可以创建,配置数据库,删除数据库,管理数据库模板
    7. 配置监听:
    Oracle Net Manager按照配置向导配置一下监听
    监听的信息写在Listener.ora和tnsnames.ora中的。

    作业:
    1. 在Win7 64位虚拟机上安装Oracle和PL/SQL Developer
    2. 如果你忘记了sys和system的密码,怎么办?
    3. sql*plus命令练习
    4. 创建数据库,配置监听
    5. 预习:表空间的相关知识


    作者:8亩田
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

    本文如对您有帮助,还请多帮 【推荐】 下此文。
    如果喜欢我的文章,请关注我的公众号
    如果有疑问,请下面留言

    学而不思则罔 思而不学则殆
  • 相关阅读:
    Windows环境下使用cygwin ndk_r9c编译FFmpeg
    android 开发环境搭建
    POJ 2559 单调栈入门,三种代码实现
    poj 2100 尺取法(尺度法)
    尺取算法 入门+模板+例题
    POJ 3579 Median 二分+思维
    POJ 3685 Matrix 二分套二分
    CodeForces 371C Hamburgers 二分
    HDU 4355 Party All the Time 三分算法
    HDU 3613 Best Reward Manacher算法
  • 原文地址:https://www.cnblogs.com/liu-wang/p/8195688.html
Copyright © 2011-2022 走看看