Oracle笔记

Oracle笔记

一.Oracle简介

  • Oracle Database,简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。甲骨文公司是全球最大的企业级软件公司,最大的数据库供应商、企业应用平台供应商。
  • ORACLE数据库系统
    • 是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
    • ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;
    • 作为一个关系数据库,它是一个完备关系的产品;
    • 作为分布式数据库,它实现了分布式处理功能;
    • Oracle数据库相关知识在不同系统上无差异;

二.Oracle数据库版本

  • 企业版
    • Oracle数据库11g企业版可以运行在Windows、Linux和Unix的集群服务器或单一服务器上,它提供了全面的功能来进行相关的事务处理、商务智能和内容管理,具有业界领先的性能、可伸缩性、安全性和可靠性。
  • 标准版
    • Oracle数据库11g标准版功能全面。可适用于多达四个插槽的服务器。它通过应用集群服务实现了高可用性,提供了企业级性能和安全性,易于管理并可随需求的增长轻松扩展。标准版可向上兼容企业版,并随企业的发展而扩展,从而保护企业的初期投资。
  • 标准版1
    • Oracle数据库11g标准版1功能全面,可适用于两个插糟的服务器。它提供了企业级性能和安全性,易于管理,并可随需求的增长轻松进行扩展。与标准版一样,标准版1可向上兼容其他数据库版本,并随企业的发展而扩展。从而使得企业能够以最低的成本获得朵高的性能,保护企业的初期投资。
  • 个人版
    • 个人版数据库只提供Oracle作为DBMS的基本数据库管理服务,它适用于单用户开发环境,其对系统配置的要求也比较低,主要面向开发技术人员使用。

三.Oracle中的用户

用户 描述
sys用户 是超级管理员,具有最高权限,具有sysdba,有create database权限,默认密码change_on_install
system用户 是普通管理员,权限也很大,具有sysoper角色,没有create database权限。默认密码是manager
普通用户 用户名:scott; 密码:tiger(默认) 安装时内置好,默认锁定的。
大数据用户 用户名:sh,密码:sh

四.Oracle基本术语

1.数据字典

  • 概念

​ 数据字典是Oracle数据库的重要组成部分。它由一系列拥有数据库元数据(metadata)信息的数据字典表和用户可以读取的数据字典视图组成,存放有Oracle数据库所用的有关信息。

  • 存放Oracle数据库的主要信息内容
    • 系统的空间信息,即分配了多少空间,当前使用了多少空间等;
    • 数据库中所有模式对象的信息,如表、视图、簇、同义词及索引等;
    • 例程运行的性能和统计信息;
    • Oracle用户的名字;
    • 用户访问或使用的审计信息;
    • 用户及角色被授予的权限信息;
    • 列的约束信息的完整性;
    • 列的缺省值等

2.数据文件

  • 概念

​ 一个Oracle数据库可以拥有一个或多个物理的数据文件。数据文件包含了全部数据库数据。逻辑数据库结构的数据也物理的存储在数据库的数据文件中。

  • 数据文件特征
    • 一个数据库可拥有多个数据文件,但一个数据文件只对应一个数据库;
    • 可以对数据文件进行设置,使其在数据库空间用完的情况进行自动扩展;
    • 一个表空间(数据库存储的逻辑单位)可以由多个数据文件组成;
  • 数据文件大小表示
    • 数据文件的大小可以 用两种方式表示,即字节和数据块。数据块是Oracle数据库中最小的数据组织单位,它的大小由参数“DB_BLOCK_SIZE”来确定。

3.控制文件

  • 概念

    ​ 数据库控制文件是一个很小的二进制文件,它维护者数据库的全局结构,用以支持数据库成功地启动和运行。创建数据库时,同时就提供了与之对应的控制文件。在数据库使用过程中,Oracle不断更新控制文件,所以只要数据库是打开的,控制文件就必须处于可写状态。若由于某些原因控制文件不能被访问,则数据库也就不能正常工作。

  • 每一个数据库均有一个控制文件,记录着数据库的物理结构,主要包含:

    • 数据库名称;
    • 数据库数据文件和日志文件的名字和位置;
    • 数据库建立日期;
    • 日志历史;
    • 归档日志信息;
    • 表空间信息;
    • 数据文件脱机范围等等

4.日志文件

  • 概念
    • 日志文件也称为重做日志文件,重做日志文件用于记录对数据库的所有修改信息,修改信息包括用户对数据的修改以及管理员对数据库结构的修改。重做日志文件是保证数据库安全和数据备份与恢复的文件。
    • 重做日志文件主要在数据库出现故障时使用。
  • Oracle日志模式:
    • 归档模式(ARCHIVELOG);
    • 非归档模式(NOARCHIVELOG);

五.Oracle安装部署

1.Oracle数据库软件安装准备

  • Oracle服务端

    • 在Oracle数据库服务器上安装运行,方便客户端访问
    • 属于重量级应用,服务器配置好坏直接影响到Oracle数据库的性能
  • Oracle客户端

    • 在需要连接Oracle数据库服务的客户机上安装运行,辅助客户机连接本地或远程Oracle数据库
    • 属于轻量级应用,对客户机器需求不高
  • Windows环境下Oracle安装部署(一般指安装服务端)

    Windows系统采用图形化界面安装数据库,首先将安装包放置在磁盘空间较大的分区。(安装包下载地址:Software Download | Oracle)

    具体安装部署教程见 (106条消息) oracle的安装和配置_斌斌Running的博客-CSDN博客_oracle怎么配置

2.Oracle数据库必要配置

主要有:

​ 优化最大连接数;

​ 会话数;

​ 数据库密码有效期更改;

​ SGA、PGA优化;

​ 关闭审计功能;

​ 关闭监听日志功能

3. PL/SQL Developer数据库开发工具

  • PL/SQL Developer工具介绍

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发工具

  • PL/SQL Developer 常用功能

    • PL/SQL编辑器:该编辑器具有语法加强、SQL和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。当您需要某个信息时,它将自动出现,至多单击即可将信息调出;
    • 集成调试器:该调试器提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何程序单元(包括触发器和对象类型),无需作出任何修改;
    • SQL窗口:该窗口允许您输入任何SQL语句,并以栅格形式对结果进行观察和编辑,支持按范例查询模式,以便在某个结果集合中查找特定记录。另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性;
    • 命令窗口:使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQLPlus相同的感观,另外还增加了一个内置的带语法加强特性的脚本编辑器。这样,您就可以开发自己的脚本,无需编辑脚本/保存脚本/转换为SQLPlus/运行脚本过程,也不用离开PL/SQL Developer集成开发环境;
    • 对象浏览器:可配置的树形浏览能够显示同PL/SQL开发相关的全部信息,使用该浏览器可以获取对象描述、浏览对象定义、创建测试脚本以便调试、使能或禁止触发器或约束条件、重新编译不合法对象、查询或编辑表格、浏览数据、在对象源中进行文本查找、拖放对象名到编辑器等。
    • 导出用户对象:该工具可以导出用户所选对象的DDL(数据定义语言)语句。您可以方便的为其他用户重新创建对象,也可以保存文件作为备份;
    • 工具:PL/SQL Developer为简化日常开发专门提供了几种工具。使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等;
  • PL/SQL Developer安装及简单配置

    详细安装教程:(106条消息) PL/SQL Developer下载安装及使用_小咪喵了个咪的博客-CSDN博客_plsql下载

六. Oracle数据库基础SQL

1.SQL概述

  • 什么是SQL:SQL全称结构化查询语言(Structured
    Query Language),是数据库操作的国际标准语言,也是所有的数据库产品均要支持的语言
  • SQL的作用:数据库连接客户端使用SQL来操作数据库
  • SQL标准(例如SQL99,即1999年制定的标准)
    • 由国际标准化组织(ISO)制定的,对DBMS的统一操作方式(例如相同的语句可以操作:mysql、oracle等)。
  • SQL方言

​ 某种DBMS不仅会支持SQL标准,而且还会有一些自己独有的语法,这就称之为方言(例如limit语句只在mysql中使用)

  • SQL语言按功能分类

    数据定义语言数据操纵语言数据查询语言数据控制语言事务控制语言(本教学不讲解,可查找资料自学)

  • SQL语言规则

    • SQL关键字不区分大小写,建议大写;
    • 对象名和列名也不区分大小写,建议大写;
    • 字符值和日期值区分大小写;
    • SQL语句可以在单行或多行书写,以分号结尾;
    • 可使用空格和缩进来增强语句的可读性;

2.数据定义语言(DDL)

2.1 基于Oracle数据库的数据定义语言(DDL)

概念:SQL的数据定义语言定义功能通过数据定义语言(Data
Definition Language, DDL)实现,用来定义数据库的逻辑结构,包括定义基表、视图和索引。基本的DDL主要包括三类,即定义、修改和删除,分别对应CREATE\ALTER和DROP三条语句。

在标准SQL语句中,DDL主要用于基表、视图和索引的定义,在Oracle数据库中,还有各种其他数据库对象,如空表空间、触发器、存储过程、游标、序列等

本节重点讲解Oracle数据库部分基础数据库对象的DDL

2.2 Oracle数据库表空间(TABLESPACES)
  • 概念

    Oracle表空间(TABLESPACES)是Oracle数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫做数据文件,一个数据文件只能属于一个表空间,数据文件的大小和位置可以自己定义。

  • 特性

    • 控制数据库数据磁盘分配
    • 限制用户在表空间中可以使用的磁盘空间大小
    • 表空间具有online,offline,readonly,readwrite属性
  • 表空间的分类

    • 永久表空间:数据库中要永久化存储的一些对象,如:表、视图、存储过程
    • 临时表空间:数据库操作当中中间执行的过程,执行结束后,存放的内容会被自动释放
    • UNDD表空间:用于保存事务所修改数据的旧值,可以进行数据的回滚
  • 通过Oracle数据字典查询表空间

    • select * from dba_tablespaces; --系统管理员级别查看的数据字典
    • select * from user_tablespaces; --普通用户查看的数据字典
  • 查询Oracle表空间对应数据文件信息

    • select * from dba_data_files; --系统管理员查询数据文件信息
    • select * from dba_temp_files; --系统管理员查询临时数据文件信息
  • 创建Oracle数据库表空间一般语法

    CREATE TABLESPACE tablespace_name
    DATAFILE filename 
    SIZE size 
    REUSE
    [AUTOEXTEND [ON/OFF]] 
    NEXT size 
    [MAXSIZE size]
    [PERMANENT|TEMPORARY]
    [EXTENT MANAGEMENT [DICTIONARY|LOCAL [AUTOALLOCATE|UNIFORM [SIZE integer[K|M]] ] ] ]
    

    语法解析:

    • TABLESPACE:指定要创建的表空间名称。
    • DATAFILE:指定在表空间中存放数据文件的文件名,包含文件的存放路径。
    • SIZE:指定数据文件大小
    • REUSE:表示数据文件支持被重用。
    • AUTOEXTEND:指定数据文件扩展方式,ON代表自动扩展,OFF代表非自动扩展。另外,如果要把数据文件指定为自动扩展,应该在NEXT后面指定具体大小。
    • MAXSIZE:指定数据文件为自动扩展方式的最大值
    • PERMANENT|TEMPORARY:指定表空间类型, PERMANENT是指永久表空间;TEMPORARY指临时表空间,在创建表空间时默认都是永久表空间。
    • EXTENT MANAGEMENT DICTIONARY|LOCAL:指定表空间的管理方式,DICTIONARY是字典管理方式;LOCAL是指本地管理方式,在创建表空间时默认是本地管理方式(Oracle推荐)。
    • AUTOALLOCATE|UNIFORM:AUTOALLOCATE说明表空间自动分配范围,用户不能指定范围的大小; UNIFORM说明表空间的范围的固定大小,缺省是1M。

    ​ Oracle数据库表空间创建示例

    CREATE TABLESPACE TSP_KYEECIS
        DATAFILE 'D:\APP\PDA\ORADATA\ORCL\TSP_KYEECIS.DBF'
        SIZE 16M
        REUSE
        AUTOEXTEND ON
        NEXT 4M
        MAXSIZE UNLIMITED;
    
    
2.3 Oracle数据库用户(USER)
  • Oracle数据库用户

    Oracle数据库建好后,要想在数据库里建表,必须为数据库建立用户,并为用户指定表空间

  • 创建Oracle数据库用户

    CREATE USER           c##用户名  
    IDENTIFIED BY         密码  
    DEFAULT TABLESPACE    默认表空间(默认USERS)
    TEMPORARY TABLESPACE  临时表空间(默认TEMP) 
    
  • 创建Oracle数据库用户实例

    CREATE USER c##KYEECIS
    IDENTIFIED BY kyee_password
    DEFAULT TABLESPACE TSP_KYEECIS
    TEMPORARY TABLESPACE TEMP
    PROFILE DEFAULT;
    grant connect,resource,dba to KYEECIS;   --授权
    
2.4 Oracle数据库表(TABLE)
  • 创建表的基本语法

    CREATE TABLE table_name (
        column_name data_type column_constraint,
        column_name data_type column_constraint,
        ...
        table_constraint
     );
    
    • table_name: 在数据库中创建的数据表名称,在一个数据库表中表名不能重复;
    • column_name:表中的列名,列名在一个表中也不能重复;
    • data_type: 数据表的列对应的数据类型声明;
    • column_constraint:列的一些约束及默认值设置等;
    • table_constraint: 为表设置约束,约束主要包括主键约束,外键约束,检查约束等。
  • 创建表示例:创建用户与科室关系表,主键定义、外键定义等

    create table SYS_USER_VS_DEPT 
    (
       USER_DEPT_ID         VARCHAR2(50)         not null,
       USER_ID              VARCHAR2(50),
       DEPT_ID              VARCHAR2(50),
       CREATOR              VARCHAR2(20),
       CREATE_DATE          DATE,
       constraint PK_SYS_USER_VS_DEPT primary key (USER_DEPT_ID)
    );
    comment on table SYS_USER_VS_DEPT is '用户科室关系表';
    comment on column SYS_USER_VS_DEPT.USER_DEPT_ID is '用户科室关系主键';
    comment on column SYS_USER_VS_DEPT.USER_ID is '用户主键';
    comment on column SYS_USER_VS_DEPT.DEPT_ID is '科室主键';
    comment on column SYS_USER_VS_DEPT.CREATOR is '创建人';
    comment on column SYS_USER_VS_DEPT.CREATE_DATE is '创建时间';
    --外键约束声明
    alter table SYS_USER_VS_DEPT
       add constraint FK_SYS_USER_REF_SYS_USER_DEPT foreign key (USER_ID) references SYS_USERS (USER_ID);
    alter table SYS_USER_VS_DEPT
       add constraint FK_SYS_USER_REFERENCE_SYS_DEPT foreign key (DEPT_ID) references SYS_DEPT (DEPT_ID);
    
    
2.5 Oracle数据库视图(VIEW)
  • 视图概念

    • 是基于一个表或者多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。
    • 视图是存储在数据字典里面的一条select语句,通过创建视图可以提取数据的逻辑上的集合或组合。
  • 视图的优点

    • 对数据库的访问,因为视图可以有选择性的选取数据库里的一部分;
    • 用户通过简单的查询可以从复杂查询中得到结果;
    • 维护数据的独立性,视图可从多个表检索数据;
    • 对于相同的数据可产生不同的视图
  • 创建视图语法

    CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
        [(alias[, alias]...)]
    AS subquery
         [WITH CHECK OPTION [CONSTRAINT constraint]]
         [
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 1 前言 7 1.1 编写目的 7 1.2 预期读者 8 2 数据库部署模式及选择建议 8 2.1 数据库部署模式 8 2.2 单机模式 8 2.3 HA热备模式 9 2.4 RAC模式 10 2.5 DATAGUARD模式 11 2.6 RAC+DATAGUARD模式 11 2.7 部署模式的选择建议 12 2.8 RAC部署模式应用建议 12 2.9 操作系统参数建议 13 2.9.1 AIX 13 2.9.2 HP 15 3 数据库设计考虑的因素 15 3.1 数据库类型特点分析 15 3.1.1 OLTP(联机事务处理) 15 3.1.2 OLAP(联机分析处理) 15 3.1.3 BATCH(批处理系统) 16 3.1.4 DSS(决策支持系统) 16 3.1.5 Hybrid(混合类型系统) 16 3.2 数据库规模 17 4 数据库部署前提建议 17 4.1 根据数据中心发布的推荐版本选择数据库产品 17 4.2 磁盘阵列布局原则 17 4.3 内存分配原则 19 5 数据库物理结构设计 19 5.1 软件安装路径及环境变量 19 5.2 数据库实例的命名规则 20 5.3 表空间设计 20 5.3.1 业务数据量的估算 20 5.3.2 表空间的使用规则 21 5.3.2.1 表空间的类型 21 5.3.2.2 表空间及其文件的命名规则 23 5.3.3 表空间的参数设置原则 25 5.3.3.1 数据表空间设置 25 5.3.3.2 临时表空间的存储参数(Oracle9i/10g) 26 5.3.3.3 Undo/temp表空间的估算 26 5.4 其他文件设计 26 5.4.1 参数文件 27 5.4.1.1 参数文件命名规则 27 5.4.2 控制文件 27 5.4.2.1 控制文件命名规则 28 5.4.3 重做日志文件 28 5.4.3.1 日志文件命名规则 29 5.4.4 Vote Disk 文件(RAC) 29 5.4.4.1 Vote Disk文件命名规则 30 5.4.5 OCR Disk文件(RAC) 30 5.4.5.1 OCR文件命名规则 30 5.5 初始化安装逻辑卷总计 30 6 数据库配置 31 6.1 数据库字符集配置 31 6.2 10g数据库参数设置 32 6.2.1 必须修改的初始化参数 32 6.2.1.1 DB_CACHE_SIZE 32 6.2.1.2 SHARED_POOL_SIZE 33 6.2.1.3 LARGE_POOL_SIZE 34 6.2.1.4 SGA_MAX_SIZE 34 6.2.1.5 DB_BLOCK_SIZE 34 6.2.1.6 SP_FILE 35 6.2.1.7 PGA_AGGREGATE_TARGET 35 6.2.1.8 PROCESSES 36 6.2.1.9 OPEN_CURSORS 36 6.2.1.10 MAX_DUMP_FILE_SIZE 36 6.2.1.11 PARALLEL_MAX_SERVER 36 6.2.1.12 PARALLEL_EXECUTION_MESSAGE_SIZE 37 6.2.1.13 FAST_START_MTTR_TARGET 37 6.2.1.14 INSTANCE_GROUPS(RAC) 37 6.2.1.15 PARALLEL_INSTANCE_GROUP(RAC) 38 6.2.1.16 与DRM有关的隐藏参数(RAC) 38 6.2.1.17 SESSION_CACHED_CURSORS 39 6.2.1.18 BACKUP_TAPE_IO_SLAVES 39 6.2.1.19 LOG_ARCHIVE_DEST_1 39 6.2.2 不得修改的初始化参数 40 6.2.2.1 COMPATIBLE 40 6.2.2.2 CURSOR_SHARING 40 6.2.2.3 SGA_TARGET 40 6.2.3 建议不修改的初始化参数 41 6.2.3.1 UNDO_RETENTION 41 6.2.3.2 SESSIONS 41 6.2.3.3 TRANSACTIONS 42 6.2.3.4 DB_KEEP_CACHE_SIZE 42 6.2.3.5 LOCK_SGA 43 6.2.3.6 DB_FILES 43 6.2.3.7 DB_FILE_MULTIBLOCK_READ_COUNT 43 6.2.3.8 LOG_BUFFER 44 6.2.4 与并行操作有关的参数 44 6.2.5 Data Guard有关的参数 45 6.2.5.1 DB_UNIQUE_NAME 45 6.2.5.2 LOG_ARCHIVE_CONFIG 45 6.2.5.3 LOG_ARCHIVE_DEST_1 45 6.2.5.4 LOG_ARCHIVE_DEST_2 46 6.2.5.5 LOG_ARCHIVE_DEST_STATE_1 46 6.2.5.6 LOG_ARCHIVE_DEST_STATE_2 46 6.2.5.7 REMOTE_LOGIN_PASSWORDFILE 46 6.2.5.8 LOG_ARCHIVE_MAX_PROCESSES 46 6.2.5.9 FAL_SERVER 47 6.2.5.10 FAL_CLIENT 47 6.2.5.11 STANDBY_FILE_MANAGEMENT 47 6.2.5.12 LOG_FILE_NAME_CONVERT 47 6.2.5.13 DB_FILE_NAME_CONVERT 48 6.3 9i数据库参数的区别 48 6.3.1 需要单独设置的参数 48 6.3.1.1 CLUSTER_INTERCONNECTS 48 6.3.2 和10g设置要求不同的参数 49 6.3.2.1 LOG_BUFFER 49 6.3.2.2 DB_FILE_MULTIBLOCK_READ_COUNT 49 6.3.2.3 UNDO_RETENTION 49 6.3.3 9i中不存在的参数 49 6.4 数据库连接服务 50 6.4.1 专用服务器连接 50 6.4.2 共享服务器连接 50 6.4.3 连接服务建议 51 6.4.3.1 专用服务器连接 51 6.5 数据库安全建议 51 6.5.1 采用满足需求的最小安装 51 6.5.2 安装时的安全 52 6.5.2.1 删除或修改默认的用户名和密码 52 6.5.2.2 必须使用dbca创建数据库 53 6.5.3 用户及权限管理 53 6.6 ORACLE NETWORK 配置 53 6.6.1 监听器的使用配置原则 53 6.6.2 TNSNAMES的使用配置原则 54 6.6.3 RAC环境下TNSNAMES的配置 54 6.6.3.1 各节点启用负载均衡 54 6.6.3.2 各节点不启用负载均衡 55 6.7 其他设置 56 6.7.1 Sqlplus连接设置 56 6.7.2 AWR报告默认文件名设置 56 7 不推荐使用的10g新功能 57 7.1 ASM 57 7.2 FLASH BACK数据库 57 8 附件 57 8.1 Oracle参数说明 57 8.2 合规性检查 58

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值