Oracle 数据库新手指南(一) Oracle基础

打印 上一主题 下一主题

主题 1027|帖子 1027|积分 3081

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
专栏目的

本专栏旨在为读者提供一个全面相识 Oracle 数据库的平台。通过一系列的文章,我们将探索 Oracle 数据库的关键特性和最佳实践,帮助您把握 Oracle 数据库的核心技术,并办理日常管理中遇到的问题。详细而言,本专栏的目的包罗:


  • 深入理解 Oracle 的核心特性:解释 Oracle 数据库的核心组件和架构,以及怎样利用这些特性来进步性能和可靠性。
  • 实战履历分享:提供现实案例分析,展示怎样在真实环境中应用 Oracle 的高级功能。
  • 问题办理策略:讨论常见的 Oracle 数据库管理挑衅及其办理方案。
  • 最佳实践:分享数据库设计、维护和优化的最佳实践,帮助您构建稳定高效的数据库环境。
  • 技术趋势展望:探讨 Oracle 数据库的未来发展方向,以及怎样利用新技术来增强数据库体系的功能。
无论是刚刚接触 Oracle 的新手,还是有一定履历的技术人员,本专栏都将为您提供有代价的信息和见解。我们希望通过这一系列的文章,可以或许帮助您更好地利用 Oracle 数据库的强大功能,为您的业务创造更大的代价。

在开始之前,让我们先来相识一下 Oracle 是什么,它与 MySQL 有何差别之处,以及为何选择使用 Oracle。
Oracle 数据库简介

Oracle 数据库是由 Oracle 公司开发的一款关系型数据库管理体系。它以其高可用性、可扩展性以及强大的数据处置惩罚能力而闻名。Oracle 支持多种平台,包罗 Windows、Linux 和 Unix 等操纵体系。其主要特性包罗:


  • 高可用性:Oracle 提供了多种高可用性和灾难恢复办理方案,如 Real Application Clusters (RAC) 和 Data Guard,确保数据库服务的连续性。
  • 安全性:Oracle 集成了高级安全功能,包罗透明数据加密、审计和访问控制机制等。
  • 性能优化工具:Oracle 提供了一系列工具和服务,如自动数据库诊断监控器 (ADDM) 和 SQL 调优引导 (STG),帮助管理员优化查询性能。
  • 集成与支持:Oracle 与其他 Oracle 产物紧密集成,并提供广泛的文档和支持服务。
Oracle 与 MySQL 的区别

固然 Oracle 和 MySQL 都属于关系型数据库管理体系,但它们之间存在一些明显差异:


  • 商业与开源:Oracle 是一款商业软件,需要购买允许证;而 MySQL 是一款开源数据库,免费且源代码开放。
  • 企业级特性:Oracle 提供更多企业级特性和服务,如高级安全选项、高可用性和灾难恢复办理方案,而 MySQL 更适合小型项目或对本钱敏感的应用步伐。
  • 性能与可扩展性:Oracle 在处置惩罚大量数据和复杂事务处置惩罚方面体现出色,而 MySQL 在简单查询和低负载环境下运行效率较高。
  • 技术支持:Oracle 提供了全面的技术支持和咨询服务,而 MySQL 的支持则更多依赖于社区。
为什么选择 Oracle?

尽管 MySQL 在某些情况下是一个很好的选择,但在企业级应用中,Oracle 数据库通常被以为是更可靠的选择,缘故原由如下:


  • 业务关键应用:对于处置惩罚关键业务数据的应用步伐来说,Oracle 的稳定性、安全性和高性能至关重要。
  • 大数据处置惩罚:劈面对海量数据时,Oracle 的可扩展性和性能优势更为明显。
  • 集成与支持:Oracle 提供了广泛的集成办理方案和支持服务,有助于简化 IT 环境并进步生产率。
介绍完 Oracle 后,我们如今进入正题,本章将重点介绍 Oracle 的基础知识,以便大家获得对其核心概念的基本理解。
---------------------------------------------------------------------------------------------------------------------------------
1. Oracle目录

 (1)oradata: 数据存放位置
       ①.DBF: 数据文件/表空间文件
       ②.LOG日志文件
       ③.CTL控制文件
 (2)product: Oracle软件安装位置

如许的组织结构有助于清楚地管理数据库的各个组成部分及其相关软件。

 2.Oracle服务



  • OracleServiceORCL: 数据库服务,必须启动以确保数据库正常运行。
  • OracleOraDb11g_home1TNSListener: 监听服务,必须启动以监听并处置惩罚客户端毗连请求。
注: 在卸载 Oracle 数据库之前,必须先停止所有相关的 Oracle 服务。

3.用户

(1)sys: 超等体系用户,拥有最高的权限。



  •  sysdba: 管理员角色,用于实行数据库管理使命。
  •  sysoper: 操纵员角色,用于实行数据库操纵使命。
(2)system: 体系用户,通常用于创建与数据字典相关的表或视图。

这些用户对于数据库的管理和日常操纵至关重要。

4.SQL Developer 中的窗口:



  • SQL Window: 类似于一个查询文件,文件通常以 .sql 结尾,用于编写和实行 SQL 查询。
  • Command Window: 功能类似于 SQL Plus,用于直接输入和实行 SQL 下令及 PL/SQL 代码块。
这两个窗口为用户提供了机动的方式来管理和实行数据库操纵。

5.表空间:

(1)表空间: 表空间是数据库中数据的逻辑划分,用于存储各种数据库对象,如表、索引等。每个表空间对应数据库的一部分。

(2)表空间分类



  • 永世表空间: 用于存储持久性数据,如表和索引。
  • 暂时表空间: 用于存储暂时数据,如排序操纵的中心效果。
(3)创建表空间

只能在 sys 或 system 用户下创建表空间。以下是一个创建永世表空间的示例语法

  1. CREATE TABLESPACE oracle
  2. DATAFILE 'E:\Oracle\oracleservice\oradata\orcl\oracle.dbf'
  3. SIZE 20M
  4. AUTOEXTEND ON NEXT 10M
  5. PERMANENT ONLINE;
复制代码
(4)检察表空间的数据文件

  1. SELECT * FROM dba_data_files;
复制代码
(5)删除表空间

删除表空间时需要注意,只有当表空间为空或其中的数据已妥善处置惩罚后才能删除。以下是一个删除表空间的示例下令:

  1. DROP TABLESPACE oracle INCLUDING CONTENTS AND DATAFILES;
复制代码
请注意,在删除表空间时,如果表空间中有任何数据,通常会使用 INCLUDING CONTENTS AND DATAFILES 选项来删除该表空间及其所有内容和数据文件。如许可以确保数据被安全地移除,并且不会留下未使用的文件。
6.权限

(1)对象权限 (Object Privileges)

这类权限允许用户操纵特定的数据库对象,如表、视图等。例如,授予用户对某个表的 SELECT, INSERT, UPDATE, DELETE 等权限。
(2)角色权限 (Role Privileges)

角色是一组预定义的权限集合。当用户被赋予一个角色时,他们将自动获得该角色所包含的所有权限。例如,将 DBA 角色分配给用户,意味着用户将拥有管理员级别的所有权限。
(3)体系权限 (System Privileges)

 这些权限允许用户实行影响整个数据库的操纵,如创建新的表空间、表、视图等。例如,授予用户 CREATE TABLE, CREATE VIEW, CREATE SESSION 等权限。


7.常见权限



  • CONNECT: 允许用户建立与数据库的毗连。
  • DBA (Database Administrator): 授予用户完整的数据库管理权限,包罗管理所有表空间的能力。
  • UNLIMITED TABLESPACE: 允许用户在其默认表空间中创建对象而不受空间限制。
  • CREATE ANY TABLE: 允许用户在任何表空间中创建表。
  • CREATE ANY INDEX: 允许用户在任何表上创建索引。
这些权限对于管理数据库和用户访问至关重要。正确分配这些权限可以帮助确保数据的安全性和划一性。

8.SQL 创建和管理用户

(1)SQL 创建用户:



  • 语法:
    1. CREATE USER 用户名 IDENTIFIED BY 密码
    2. [DEFAULT TABLESPACE 表空间名称]
    3. [TEMPORARY TABLESPACE 临时表空间名称];
    复制代码
  • 示例:
    1. CREATE USER LUO IDENTIFIED BY 123456;
    复制代码
这条下令创建了一个名为 LUO 的新用户,并设置了密码为 123456。由于没有指定 DEFAULT TABLESPACE 和 TEMPORARY TABLESPACE,所以该用户将会使用数据库的默认永世表空间和默认暂时表空间。 
(2)SQL 删除用户:



  • 语法:
    1. DROP USER 用户名;
    复制代码
  • 示例:
    1. DROP USER LUO;
    复制代码
这条下令尝试删除名为 LUO 的用户。如果该用户没有拥有任何对象,或者已经被正确地撤销了所有权限,那么这条下令会成功实行。如果该用户拥有对象,那么在没有指定 CASCADE 的情况下,下令会失败。


  • 如果想删除用户 LUO 并且同时删除其所有的对象和权限,可以使用:
  1. DROP USER LUO CASCADE;
复制代码
这条下令会删除用户 LUO 以及他所拥有的所有对象,并撤销所有对该用户的权限。 


  • 注意事项: 如果尝试删除正在使用数据库的用户,将会失败。需要先杀死该用户的会话。
(3)查询当前运动会话

  1. SELECT username, sid, serial# FROM v$session WHERE username = 'LUO';
复制代码
会话 ID (SID) 和序列号 (SERIAL#) 可以通过查询 VSESSION视图来获取。VSESSION视图来获取。VSESSION 视图包含了当前所有运动会话的信息。
(4)杀死会话



  • 语法:
  1. ALTER SYSTEM KILL SESSION 'sid,serial#';
复制代码


  • 示例: 
通过运行上面的代码我们获得了会话id为164,序列号为163
  1. ALTER SYSTEM KILL SESSION '164,163';
复制代码
(5)授予权限



  • 语法:
  1. GRANT 权限或角色 TO 用户;
复制代码


  • 示例:
  1. GRANT CREATE ANY INDEX TO LUO;
复制代码
 这条下令授予用户 LUO 创建任意索引的权限。这意味着用户 LUO 可以在数据库中的任何表上创建索引,而不受限于表的所有权。 
  1. GRANT DBA TO LUO;
复制代码
这条下令授予用户 LUO DBA 角色。DBA 角色是 Oracle 数据库中的预定义角色,具有很高的权限,险些可以实行数据库中的所有操纵,包罗管理用户、表空间、权限等。授予 DBA 角色意味着用户 LUO 将具有管理数据库的全面权限。 
(6)接纳权限



  • 语法:
  1. REVOKE 权限或角色 FROM 用户;
复制代码


  • 示例:
  1. REVOKE CREATE ANY INDEX FROM LUO;
复制代码
这条下令撤销了用户 LUO 创建任意索引的权限。这意味着用户 LUO 将不再可以或许创建数据库中的任意索引。 

  1. REVOKE DBA FROM LUO;
复制代码
这条下令撤销了用户 LUO 的 DBA 角色。撤销 DBA 角色后,用户 LUO 将失去管理数据库的全面权限。 

通过上述 SQL 语句,可以有效地管理用户的创建、删除以及权限的授予与接纳。在现实操纵中,请确保正确地管理用户的权限,以保证数据库的安全性。

通过本章的介绍,我们已经对 Oracle 数据库有了一个基本的相识,并探讨了它与 MySQL 的主要区别。Oracle 数据库以其杰出的性能、高可用性和强大的企业级特性而闻名,使其成为处置惩罚关键业务数据的抱负选择。
接下来的章节中,我们将进一步深入探索 Oracle 数据库的各个功能领域,无论你是一位数据库新手还是履历丰富的专业人士,我们都会提供实用的知识和本领,帮助大家更高效地管理 Oracle 数据库。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表