oracle数据库

概 述

  • Oracle数据库是一种网络上的数据库, 它在网络上支持多用户, 支持服务器/客户机等部署(或配置)
  • 服务器与客户机是软件概念, 它们与计算机硬件不存在一一对应的关系. 即: 同一台计算机既可以充当服务器又可以充当客户机, 或者, 一台计算机只充当服务器或只充当充当客户机。

Oracle 数据库体系结构简介

  • 平常所说的 Oracle 或 Oracle 数据库指的是 Oracle 数据库管理系统. Oracle 数据库管理系统是管理数据库访问的计算机软件(Oracle database manager system).

    • 它由 Oracle 数据库和 Oracle 实例(instance)构成.
      Oracle Server = 实例 + 数据库 (Instance和Database是相互独立的)

数据库 = 数据文件 + 控制文件 +日志文件
实例 = 内存池 + 后台进程
所以可以细分为: Oracle Server = 内存池 + 后台进程 + 数据文件 + 控制文件 + 日志文件

  • Oracle 数据库:

    一个相关的操作系统文件(即存储在计算机硬盘上的文件)集合,

    这些文件组织在一起, 成为一个逻辑整体, 即为 Oracle 数据库.

  • Oracle 用它来存储和管理相关的信息. Oracle数据库必须要与内存里实例合作,才能对外提供数据管理服务。

文件类型

1.1数据文件(.DBF)

数据文件是一个二进制文件,是用于保存用户应用程序数据和 Oracle 系统内部数据的 文件,这些文件在操作系统中就是普通的操作系统文件。Oracle 在创建表空间的同时会创建 数据文件。

1.2控制文件(.CTL)

控制文件是一个二进制文件,它主要记录数据库的名称、数据库的数据文件存放位置等 信息。一个控制文件只能属于一个数据库。如果控制文件丢失,这数据库就无法操作。

1.3日志文件(.LOG)

日志文件在 Oracle 数据库中分为重做日志(RedoLogFile)文件和归档日志文件两种。重 做日志文件是 Oracle 数据库正常运行不可缺少的文件。重做日志文件主要记录了数据库操 作过程。用于备份和还原数据库,以达到数据库的最新状态。

Oralce进程结构

数据字典

数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。

  • 在oracle里为了能记录所有对象的信息,提供了数据字典的概念。
  • 用户级别的数据字典:user_开头_
  • 管理员级别数据字典:dba_开头_
  • 全级别:all开头

查询用户

select username from dba_users; -- 只有管理员权限的用户才能查询
select username from all_users; -- 当前或任何用户都可使用
-- 查看当前用户的默认表空间
select username, default_tablespace from user_users;
--当前用户角色
select * from user_role_privs;
-- 当前用户的系统权限和表级权限
select * from user_sys_privs;
select * from user_tab_privs;

查询 表空间 (拥有DBA权限的用户才能查询)

select * from dba_data_files;
select * from dba_tablespaces; --表空间
select tablespace_name, sum(bytes), sum(blocks) from dba_free_space group by tablespace_name; --空闲表空间
select * from dba_data_files where tablespace_name='USERS'; -- 表空间对于的数据文件
select * from dba_segments where tablespace_name='USERS';
--查询用户模式对象所使用过的正在使用空间大小
select name, type, source_size, code_size from user_object_size;

查询数据库对象(拥有DBA权限的用户才能查询)

select * from dba_objects
select * from dba_objects where object_type = upper('package body');
select * from dba_objects where OBJECT_TYPE='TABLE' and OWNER='SCOTT'

可根据拥有者查询下列对象类型(object_type)

cluster    databaselink
    function   index
    library   package
    package body   procedure
    sequence   synonym
    table   trigger
    type   undefined
    view

查询表

select * from dba_tables;select extent_id, bytes from dba_extents where segment_name='CUSTOMERS' and segment_type='TABLE' order by extent_id;-- 查看回滚段的空间分配信息列信息 SELECT * FROM user_tab_columns;select distinct table_name from user_tab_columns where column_name='ID';-- 查看当前用户下所有的表select * from user_tables;--查看名称包含log字符的表select object_name, object_id from user_objects where instr(object_name, 'LOG') > 0;-- 查看某表的创建时间select object_name, created from user_objects where object_name = upper('&table_name');-- 查看某表的大小select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name = upper('&table_name');-- 查看放在oracle的内存的表select table_name, cache from user_tables where instr(cache, 'Y') > 0;

实例、表空间、用户、表之间关系

https://blog.csdn.net/liuchaoxuan/article/details/78966355

  • 数据库:

    Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。

    其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。

  • **实例: **

    一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。

    一个数据库可以有n个实例。(实例有点类似其他数据库中库的概念)

  • 用户:

    用户是在实例下建立的。不同实例可以建相同名字的用户。

  • **表空间:

    表空间是一个用来管理数据存储逻辑概念**

    表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

  • **数据文件(dbf、ora):

    ** 数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真 正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

注:

表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

逻辑上的关系

使用

  • 安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。

  • 运行CMD进入DOS界面,首先输入:sqlplus,回车;再输入:sys/sys as sysdba,回车,即进入“SQL〉”操作状态。

  • 创建表空间(表空间名称,表空间数据文件,内存相关属性的设置)

  • 创建用户,并且授予相关权限(dos界面下创建的用户不具有connect权限)设置默认表空间

    • DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

    • RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

    • CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

      • 对于普通用户:授予connect, resource权限。

      • 对于DBA管理用户:授予connect,resource, dba权限。

  • 创建表

    • 表空间就像仓库,表就像物品,每个用户都有自己默认的表空间,在创建表的时候若无特定声明则放入自己默认的表空间下。
  • 插入数据

  • 增删改查

实际操作

  • 借助控制台,在图形化界面操作了
  • 创建表空间
CREATE SMALLFILE TABLESPACE "CHAT" DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\chat' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
  • 创建用户
CREATE USER "CHATADMIN" PROFILE "DEFAULT" IDENTIFIED BY "*******" DEFAULT TABLESPACE "CHAT" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
GRANT "CONNECT" TO "CHATADMIN"
  • 创建表
CREATE TABLE IM_USER
(ID NUMBER(10) NOT NULL
, USER_ID NUMBER(10) NOT NULL
, SEX NUMBER(1) NOT NULL
, NIKE_NAME VARCHAR2(32) NOT NULL
, PASSWORD VARCHAR2(64) NOT NULL
, PHONE_NUMBER VARCHAR2(20)
, EMAIL VARCHAR2(20)
, AVATAR VARCHAR2(1024)
, STATUS NUMBER(1)
, SIGN_INFO VARCHAR2(225)
)

1.为表中增加约束,语法:
ALTER TABLE 表名称 ADD CONSTRAINT 约束名称 约束类型(字段)[选项];

范例:为member表增加主键约束
ALTER TABLE member ADD CONSTRAINT pk_mid PRIMARY KEY(mid);

oracle数据库基础知识相关推荐

  1. oracle数据库中基础知识,oracle数据库基础知识

    oracle数据库基础知识 -- End loop --1 declare pnum number(4):=0; begin while pnum < 10 loop dbms_output.p ...

  2. oracle数据库基础知识总结,oracle数据库基础知识学习笔记

    oracle数据库基础知识学习笔记 一.oracle数据库类型: Char:  字符型(最大长度2000,定长.不足时以空格补充) Varchar2:字符型 最大长度 4000,变长,实际长度由存储的 ...

  3. oracle数据库sql基础知识,Oracle数据库基础知识为内部培训资料.doc

    PAGE 1 课程 IL001100 ORACLE数据库基础知识 ISSUE1.0 开心Java整理 IL001100 ORACLE数据库基础知识 ISSUE1.0 目录 PAGE 1 PAGE 45 ...

  4. Oracle数据库基础知识+sql语句练习

    文章目录 四.数据库 4.1 Oracle 准备知识 SQL基本分类 Oracle数据类型 基本用法 事务 事务特性: 隔离性问题: 隔离级别: 锁 锁的介绍 锁的分类 锁的类型 锁等待和死锁 查看是 ...

  5. oracle数据库基础知识总结,oracle知识点总结(一)

    关键字: oracle,database Oracle SQL(Oracle 9i 9.2.0.1.0) 一.DataBase 保存数据,以表的形式表现数据 二.SQL SQL(structure q ...

  6. Oracle数据库基础知识(一)

    创建表空间 create tablespace xiaomifeng1010 datafile 'c:\xiaomifeng1010.dbf' size 100m autoextend on next ...

  7. oracle数据库基础知识总结,我见过的最值得收藏的Oracle数据库知识点总结(III)...

    16.select语句和update语句 --select语句的基本用法 select * from myusers; --修改李四的工资为5000 --修改李连杰的工资为10000 update m ...

  8. oracle 数据库基础知识复习

    1. 单表的数据查询 1.1指定字段的数据记录查询 select field1,field2,... FROM 表名 WHERE CONDITION 例: select t.stuname,t.age ...

  9. Oracle数据库基础知识(二)

    视图 ---视图的概念:视图就是提供一个查询的窗口,所有数据来自于原表. ---查询语句创建表 create table emp as select * from scott.emp; select ...

  10. 在oracle数据库的逻辑结构中以下组件,数据库基础知识试题(含答案)

    WORD格式可编辑 . 数据库基础知识试题 部门____________姓名__________日期_________得分__________ 一.不定项选择题(每题1.5分,共30分) 1.DELE ...

最新文章

  1. C++_泛型编程与标准库(二)
  2. Odoo(OpenERP)配置文件openerp-server.conf详解
  3. cesium obj转b3dm转换及加载
  4. xms跨平台基础框架 - 基于.netcore
  5. C++vector容器-数据存取
  6. 牛客题霸 [ 求二叉树的层序遍历] C++题解/答案
  7. 计算机组成原理简单计算机设计,计算机组成原理课设.doc
  8. JMeter学习笔记——数据库压力测试(JDBC Request)
  9. 关于提高网站性能的几点建议(二)
  10. ai神经网络滤镜安装包
  11. 从山寨机看手机的未来
  12. thinkphp5 自定义分页样式
  13. Placement blockage types
  14. torchaudio安装与实例
  15. Pandas方法实践-2012美国总统竞选赞助数据分析
  16. vulnhub-warzone_1
  17. IITP:截止2017年韩国人工智能专利排名全球第三
  18. 巡检机器人智能图像识别算法
  19. 技嘉服务器主板是什么型号,ASUS华硕/技嘉/微星MSI工作站服务器主板型号对比说明,注入win7驱动工具...
  20. 常用markdown语法

热门文章

  1. hmcl手机版_hmcl启动器整合包安卓版下载-我的世界hmcl启动器安卓版v1.17.10最新版_新绿资源网...
  2. 模2运算 / 模2算法(模2加法、模2减法、模2乘法、模2除法)
  3. 关于xcode中的代码比较工具
  4. vscode代码对比功能
  5. java反射机制原理详解
  6. Java的日期类说明Calendar、Data、日期转化格式化以及注意事项
  7. vue 中使用海康威视视频插件
  8. Chinapub要买的书
  9. bolt界面引擎学习笔记一
  10. Real-Time Rendering 4th 译文《二十一 虚拟现实与增强现实》