温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-08-27 15:39:23 来源:亿速云 阅读:204 作者:chen 栏目:关系型数据库

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

系统简介

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

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

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

特点

  • 完整的数据管理功能

  • 完备关系的产品

  • 分布式处理功能

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

    逻辑结构

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

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 - oracle
sqlplus / as sysdba                    #以最高管理员sysdba登录
SQL> help index                       #查看命令列表
SQL> show user                      #查看当前用户

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

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

oracle数据库的结构及基本操作
//启用、关闭监听

lnsrctl start
lnsrctl stop

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

二、创建数据库

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

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

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

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

oracle数据库的结构及基本操作
接下来等安装进度完成即可!

三、表空间操作

//创建表空间

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

oracle数据库的结构及基本操作
//调整表空间大小
方法一:修改空间大小

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

oracle数据库的结构及基本操作
方法二:添加数据文件

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

oracle数据库的结构及基本操作
//表空间权限

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

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

//删除表空间

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中

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

//PDB切换到CDB

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

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

五、用户管理

//创建表空间

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;

oracle数据库的结构及基本操作
//用户授权

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

oracle数据库的结构及基本操作
//用户登录

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

oracle数据库的结构及基本操作
//用户切换

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

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

六、表的操作

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;

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

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

//查看表格

select * from info;

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

七、事务

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

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

oracle数据库的结构及基本操作
//事务回滚

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

oracle数据库的结构及基本操作
//设置自动提交

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI