千家信息网

oracle数据库的结构及基本操作

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"oracle数据库的结构及基本操作",在日常操作中,相信很多人在oracle数据库的结构及基本操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"ora
千家信息网最后更新 2026年10月31日oracle数据库的结构及基本操作

这篇文章主要介绍"oracle数据库的结构及基本操作",在日常操作中,相信很多人在oracle数据库的结构及基本操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"oracle数据库的结构及基本操作"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

系统简介

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。

如图所示:
SGA---为数据库提供服务
PGA---为用户提供服务
整个系统主要分为两大部分:
(一)实例-管理端
内存结构---SGA:共享池 数据缓冲区 日志缓冲区
后台进程---维持与数据库交互
(二)数据库
数据文件 控制文件 日志文件

特点

  • 完整的数据管理功能

  • 完备关系的产品

  • 分布式处理功能

  • 用ORACLE能轻松的实现数据仓库的操作

    逻辑结构

    逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。

  • 段(Segment):是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。

  • 范围(Extent):是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依次分配的。

  • 数据块(Block):是数据库进行IO操作的最小单位,oracle数据库是以多个Oracle数据库块为单位。

表空间

system:系统表空间,存放关于表空间名称、控制文件、数据文件等管理信息,它属于sys、system模式。不能删除或重命名
sysaux:辅助系统表空间,用于减少系统表空间负荷,提高效率
temp:临时表空间,存放临时表和临时数据,用于排序
users:用户表空间,存放永久性用户对象及私有信息,也成数据库表空间。每个数据库都应有一个用户表空间,创建用户时分配给用户
undo:重做表空间,用来帮助回退未提交的事务数据

文件结构

数据库的物理存储结构是由一些多种物理文件组成,主要有:

  • 控制文件:存储实例、数据文件及日志文件等信息的二进制文件。

  • 数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。

  • 重做日志文件:用于进行数据库的实例恢复。

  • 日志文件:记录数据库修改信息。

  • 参数文件:记录基本参数。

  • 口令文件:允许sysdba、sysoper和sysasm远程连接到实例并执行管理任务。

  • 归档日志文件:使用这些文件好数据库备份,可以恢复丢失数据文件。

  • 警告文件:show parameter background_dump_dest---使用共享服务器连接

  • 跟踪文件:show parameter user_dump_dest---使用专用服务器连接

基本操作

一、数据库开启、关闭

//进入数据库

su - oraclesqlplus / as sysdba                    #以最高管理员sysdba登录SQL> help index                       #查看命令列表SQL> show user                      #查看当前用户

//开启、关闭数据库(三阶段)

SQL>startup                                #开启:实例--数据库装载--数据库打开SQL>shutdown immediate        #关闭:数据库关闭--卸载数据库--实例


//启用、关闭监听

lnsrctl start
lnsrctl stop

二、创建数据库

dbca
#创建数据库(如果不弹窗口执行: export DISPLAY=:0.0)
执行成功会跳出创建数据库页面,按以下步骤操作


接下来等安装进度完成即可!

三、表空间操作

//创建表空间

SQL>create tablespace tbs_work
datafile '/orc/app/oracle/oradata/aaa01.dbf'
size 10M autoextend on; #支持自动扩展


//调整表空间大小
方法一:修改空间大小

SQL>alter database datafile
'/orc/app/oracle/oradata/aaa01.dbf'
resize 80M;


方法二:添加数据文件

SQL>alter tablespace tbs_work
add datafile
'/orc/app/oracle/oradata/aaa02.dbf'
size 40M autoextend on;


//表空间权限

alter tablespace tbs_work read only;
alter tablespace tbs_work write read;

//删除表空间

drop tablespaces tbs_work including contents;

四、CDB与PDB操作

//查询当前所在容器

SQL> startup
SQL> show con_name

//查询数据库所有容器

SQL> show pdbs;

//CDB切换到PDB

SQL> alter pluggable database orclpdb open;   #修改可插拔库orclpdb打开状态SQL> alter session set container=orclpdb;          #CDB下切换会话到PDB中

//PDB切换到CDB

SQL> shutdown immediate                                  #在PBD中关闭插拔数据库SQL> startup                                                          #在PBD中开启插拔数据库SQL> alter session set container=cdb$root;      #切换会话到CDB

五、用户管理

//创建表空间

SQL>create tablespace school  2  datafile '/orc/app/oracle/oradata/school01.dbf'  3  size 100M;

//创建用户(创建好未赋予权限,所以不能登录)

SQL> create user c##jack  2  identified by 123123                   3  default tablespace school              #默认表空间  4  temporary tablespace temp            #定义临时表空间  5  quota unlimited on school               #不设定配额  6  password expire;                             #设定密码,下次登录修改

//更改用户密码

SQL> alter user c##jack identified by abc123;

//删除用户

SQL> drop user c##jack cascade;


//用户授权

SQL> grant connect, resource to c##jerry; #授予连接和管理数据库权限
SQL> revoke connect, resource from c##jerry;


//用户登录

sqlplus -----c##jerry(用户名)----123123(密码)----新密码---登陆成功


//用户切换

coon sys/abc123 as sysdba #切换到sysdba
conn---c##jerry---123123 #切换到c##jerry

六、表的操作

create table info
2 (
3 id number(4) constraint PK_id primary key, #constraint PK_id:约束-约束名称
4 name varchar2(10),
5 score number(5,2),
6 born date,
7 address varchar2(50)
8 );

//查看表结构

desc info;


//插入数据

insert into info values(1,'zhangsan',88,to_date('2018-10-9','yyyy-mm-dd'),'nanjing');

//查看表格

select * from info;

七、事务

  • 事务:在不违反约束的条件下,sql语句要么执行成功,要么都不执行。
    //事务提交

    insert into info values(2,'lisi',88,null,null); #插入数据
    commit; #提交


//事务回滚

insert into info values(3,'wangwu',77,null,null); #插入数据
rollback; #回滚


//设置自动提交

set autocommit on; #自动提交,回滚无效
set autocommit off; #关闭自动提交

到此,关于"oracle数据库的结构及基本操作"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 数据库 空间 文件 结构 用户 存储 逻辑 切换 管理 实例 日志 系统 基本操作 事务 范围 服务 信息 学习 登录 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网 科技 互联网 科技创业 互联网与未来科技 贷财互联网科技 上海亿帐通互联网科技 上海电发互联网科技有限公司 小米互联网科技园设置 随着互联网科技发展 成都互联网科技公司100强 贵州叶脉互联网科技有限公司所属行业 乌鲁木齐新华智原互联网科技学校 产业互联网科技服务公司 互联网安防科技感 35岁以上互联网科技行业 2021世界互联网领先科技成果发布 南京一网一红互联网科技有限公司 西安左小互联网科技有限公司 互联网时代高科技布局 恒生科技指数 中概互联网 互联网科技创业计划的风险分析 互联网科技产业 互联网科技公司华为 西安互联网科技 沃里互联网科技 互联网 科技服务平台 成都铂石互联网科技做什么的 朱啸虎曾投资哪些互联网科技企业 小米互联网科技园入驻 广州有谷有贝互联网科技有限公司 科技信息时代互联网发展
0