JAVAEE框架数据库技术之11 oracle入门

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: JAVAEE框架数据库技术之11 oracle入门

day01_Oracle

一、课程目标

1.安装oracle后,介绍常见的服务以及作用,介绍安装后默认的用户有哪些服务的作用

2.添加逻辑存储结构的介绍

3.常见的表空间

4.表空间和数据文件的关系

5.模式和用户的关系

6.删除表空间操作

7.oracle角色介绍

二、数据库概述

2.1 数据库的好处

  1. 将数据持久化到本地
  2. 提供结构化查询功能

2.2 数据库的常见概念

  1. DB:数据库,存储数据的仓库
  2. DBMS:数据库管理系统,又称为数据库软件或者数据库产品,用于创建和管理数据库,常见的有MySQL、Oracle、SQL Server
  3. DBS:数据库系统,数据库系统是一个通称,包括数据库、数据库管理系统、数据库管理人员等,是最大的范畴
  4. SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言

2.3 数据库的存储特点

  1. 数据存放到表中,然后表再放到库中
  2. 一个库中可以有多张表,每张表具有唯一的表名用来标识自己
  3. 表中有一个或多个列,列又称为“字段”,相当于Java中“属性”
  4. 表中的每一行数据,相当于Java中“对象”

2.4 数据库的常见分类

  1. 关系型数据库:MySQL、Oracle、DB2、SQL Server
  2. 非关系型数据库:
  • 键值存储数据库:Redis、Memcached、MemcacheDB
  • 列存储数据库:HBase、Cassandra
  • 面向文档的数据库:MongDB、CouchDB
  • 图形数据库:Neo4J

2.5 SQL语言的分类

  1. DQL:数据查询语言:select、from、where
  2. DCL:数据控制语言:grant、revoke
  3. DDL:数据定义语言:create、alter、drop、truncate
  4. DML:数据操作语言:insert、update、delete
  5. TCL:事务控制语言:commit、rollback

三、Oracle概述

3.1 什么是Oracle

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

ORACLE 通常应用于大型系统的数据库产品。

ORACLE 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

ORACLE 数据库具有以下特点:

(1)支持多用户、大事务量的事务处理

(2)数据安全性和完整性控制

(3)支持分布式数据处理

(4)可移植性

创始人:


他在32岁之前一直是一事无成的,可以说是无所事事,但是却在一夜之间成为了顶级富豪,源于Oracle。

3.2 Oracle下载与安装

课程使用:Windows 10

数据库版本:Oracle 11gR2

3.2.1 中文官网网址

https://www.oracle.com/cn/downloads/

在下载的时候,需要我们登录,如果没有账号是没办法下载的,再这里我们给大家已经提供了

3.2.2 Oracle安装

参考资料中的《oracle安装步骤.pdf》文件,进行安装

测试是否安装成功

sqlplus system/root

3.2.3 Oracle目录结构

  • admin目录

记录Oracle实例的配置,运行日志等文件,每一个实例一个目录,SID:SystemIDentifier的缩写,是Oracle实例的唯一标记,在Oracle中一个实例只能操作一个数据库,如果安装多个库那么就会有多个实例,我们可以通过实例SID来区分。

  • cfgtoollogs目录

下面子目录分别存放当运行dbca,emca,netca等图形化配置程序时的log。

  • checkpoints目录

存放检查点文件。

  • diag目录

Oracle11g添加的一个重组目录,其中的子目录,基本上Oracle每个组件都有了自己的单独目录,在Oracle10g中我们诟病的log文件散放在四处的问题终于得到解决,无论是asm还是crs还是rdbms,所有组件需要被用来诊断的log文件都存放在这个新的目录下。

  • flash_recovery_area(闪回区)目录

分配一个特定的目录位置来存放一些特定的恢复文件,用于集中和简化管理数据库恢复工作。闪回区可存储完全的数据文件备份,增量备份、数据文件副本、当前控制文件、备份的控制文件、spfile文件、快照控制文件、联机日志文件、归档日志、块跟踪文件、闪回日志。

  • oradata目录

存放数据文件。

名称 描述
CONTROL01.CTL Oracle数据库的控制文件
EXAMPLE01.DBF Oracle数据库表空间文件
REDO01.LOG Oracle数据库的重做日志文件,此文件有三个
SYSAUX01.DBF 11g新增加的表空间,主要存储除数据字典以外的其他数据对象,由系统内部自动维护
SYSTEM01.DBF 用于存放Oracle系统内部表和数据字典的数据。比如:表名、列名、用户名等
TEMP01.DBF 临时表空间文件
UNDOTBS01.DBF 撤销表空间文件,用来保存回滚数据
USERS01.DBF 用户表空间

  • product目录

数据库实例存放文件。

3.3 Oracle配置

3.3.1 服务启动配置

3.3.2 网络配置

如果你是把Oracle 11gR2安装到了服务器中,那么你要想客户端远程访问,接下来的这些步骤,请你仔细阅读!

客户端为了和服务器连接,必须先和服务器上的监听进程联络。ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息。一般tnsnames.ora 是建立在客户端上的。如果是客户端/服务器结构,整个网络上只有一台机器安装了ORACLE数据库服务器,那么只需在每个要访问ORACLE服务器的客户端上定义该文件,在服务器上无需定义。也就是说,如果客户端想连接到服务器上的Oracle数据库实例,客户端就必须有tnsnames.ora这个文件。一般在Oracle数据库安装的时候,它就会生成一个listener.ora(监听器配置文件)、tnsnames.ora(网络服务名配置文件),因为我们现在已经将Oracle安装到本地了,并没有安装到服务器上,为了能够测试连接服务器是否需要tnsnames.ora文件,我们假设D:\Oracle是服务器上的一个目录,D:\Oracle以外都是客户端的目录。

  • 第一步:打开文件夹(假设当前电脑是服务器)

  • 第二步:获取服务器IP地址

假设当前电脑是服务器:192.168.1.3

  • 第三步:修改listener.ora文件

  • 第四步:修改tnsnames.ora文件

  • 第五步:重启服务器Oracle的服务

  • 第六步:复制tnsnames.ora文件到客户端

假设当前电脑是客户端:D:\Config

  • 第七步:配置tnsnames.ora文件到环境变量

假设当前电脑是客户端: TNS_ADMIN = D:\Config

3.4 PLSQL DEVELOP 安装

PLSQL是连接Oracle的一款客户端工具,方便我们操作Oracle数据库

3.4.1 PLSQL DEVELOP 安装破解

  • 解压文件

  • 双击安装同意协议


剩下的步骤直接点击一下步即可

  • 启动PLSQL Developer进行破解

  • 打开资料中的注册文件,进行填写

  • 点击注册,提示注册成功

3.4.2 PLSQL DEVELOP 配置

点击 Apply–> ok 重新启动plsql

点击登录

3.5 Oracle体系结构

3.5.1 物理结构

存储到磁盘上的具体的信息:*.dbf(数据库文件) *.log(日志文件) *.cul(控制文件)

3.5.2 逻辑结构

就是我们使用者(开发者、DBA)等用户看到的ORACLE的结构信息.包括表空间、段、块等。

  • 数据库:Oracle是一种关系型的数据库管理系统
  • 数据库实例:数据库实例其实就是用来访问和使用数据库的一块进程,它只存在于内存中,就像Java中new出来的实例对象一样。数据库和实例的关系是1:N的关系;
  • 表空间:Oracle数据库是通过表空间来存储物理表的,一个数据库实例(Instance)可以有N个表空间,一个表空间下可以有N张表。
  • 用户:Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间

四、Oracle表空间和用户创建

4.1 创建表空间

Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表

4.1.1 sql语句

create tablespace oracletestspace
datafile 'D:\develop\Oracle\dbdata\test.dbf'
size 512m
autoextend on
next 10m

4.1.2 字段解释

字段名 说明
oracletestspace 表空间的名称
datafile 用于设置物理文件名称
size 用于设置表空间的初始大小
autoextend 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
next 用于设置扩容的空间大小

4.1.3 查看表空间

Select * from DBA_Tablespaces

4.2 创建用户并赋权

4.2.1 创建用户

-- 创建用户
-- 用户名
create user oracletest
-- 用户名密码
identified by root
-- 指定该用户的表空间
default tablespace oracletestspace;

语法:create user 用户名 identified by 密码 default tablespace 表空间的名

需要登录一下

4.2.2 赋予权限

创建好用户之后,我们重新使用新用户登录,是没办法登录的,因为新用户没有赋予权限,会出现以下提示,该用户没有登录权限

Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。

CONNECT 角色: --是授予最终用户的典型权利,最基本的ALTER SESSION --修改会话

CREATE CLUSTER --建立聚簇

CREATE DATABASE LINK --建立数据库链接CREATE SEQUENCE --建立序列

CREATE SESSION --建立会话CREATE SYNONYM --建立同义词CREATE VIEW --建立视图

RESOURCE 角色: --是授予开发人员的CREATE CLUSTER --建立聚簇CREATE PROCEDURE --建立过程CREATE SEQUENCE --建立序列CREATE TABLE --建表

CREATE TRIGGER --建立触发器CREATE TYPE --建立类型

DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,并且系统权限也需要DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除

sql语句

-- 为oracletest赋予为最高权限
grant dba to oracletest;
-- 把用户变成正式角色
grant connect,resource to 用户名;

再次重新登录

五、DDL语句

5.1 创建表

5.1.1 语法

CREATE TABLE 表名称(
    字段名 类型(长度) 约束,
    字段名 类型(长度),
     .......
);

5.1.2 数据类型

数据类型 说明
CHAR 固定长度的字符类型,最多存储 2000 个字节
VARCHAR2 可变长度的字符类型,最多存储 4000 个字节
LONG 大文本类型。最大可以存储 2 个 G
NUMBER 数值类型,默认长度18
NUMBER(5) 最大可以存的数为 99999
NUMBER(5,2) 最大可以存的数为 999.99 2表示小数位
DATE 日期时间型,精确到秒
TIMESTAMP 精确到秒的小数点后 6 位
CLOB 存储字符,最大可以存 4 个 G
BLOB 存储图像、声音、视频等二进制数据,最多可以存 4 个 G

5.1.3 创建student表

create table student(
 id number primary key,
 username varchar2(50),
 password varchar2(50),
 gender varchar2(2),
 address varchar2(100)
);

5.2 修改表结构【了解】

5.2.1 增加字段

  • 语法
ALTER TABLE 表名称 ADD(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...);
  • 示例

在student表中增加出生日期和手机号

ALTER TABLE student ADD(
  phonenumber VARCHAR2(11),
  birthday DATE
)

5.2.2 修改字段类型

  • 语法
ALTER TABLE 表名称 MODIFY(列名 1 类型 [DEFAULT 默认值],列名 1 类型[DEFAULT 默认值]...);
  • 示例
ALTER TABLE student MODIFY(
  phonenumber number(11),
  birthday varchar2(20)
)

5.2.3 修改字段名

  • 语法
ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名
  • 示例
ALTER TABLE student RENAME COLUMN gender TO sex;

5.2.4 删除字段名

  • 删除一个字段
ALTER TABLE 表名称 DROP COLUMN 列名;
  • 删除多个字段
ALTER TABLE 表名称 DROP (列名 1,列名 2...);
  • 示例
-- 删除一个字段
ALTER TABLE student DROP COLUMN birthday;
-- 删除多个字段
ALTER TABLE student DROP(sex ,phonenumber);

5.3 删除表

  • 语法
DROP TABLE 表名称
  • 示例
drop table studetn;

六、DML语句

6.1 添加数据

  • 语法
INSERT INTO 表名[(列名 1,列名 2,...)]VALUES(值 1,值 2,...);
  • 示例
insert into student(id,username,password,gender,address,birthday) values
(1,'张三','abc123','男','河南郑州',sysdate);
commit;
insert into student(id,username,password,gender,address,birthday) values
(2,'李四','abc123','女','河南郑州',TO_DATE('2001-09-27','YYYY-MM-DD'));
-- 每插入一条数据,要手动提交,oracle数据库默认是手动提交事务
commit;
  • 语句中的 sysdate 是系统变量用于获取当前日期,也可以使用to_date函数插入日期字符串

insert into test(id,name,height,birth)values

(2,‘王五’,160,to_date(‘2003-10-17’,‘yyyy-MM-dd’))

6.2 修改数据

  • 语法
update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];
  • 举例
update student set username = '王五', gender='男' where id = 2;
-- 每更新一条数据,要手动提交,oracle数据库默认是手动提交事务
commit;
  • 注意事项

如果不加任何条件,则会将表中所有记录全部修改。

6.3 删除数据

  • 语法
delete from 表名 [where 条件]  
  • 举例
delete from student where id = 1;
-- 每删除一条数据,要手动提交,oracle数据库默认是手动提交事务
commit;
  • 注意事项
    如果不加条件,则删除表中所有记录。
delete from student; -- 删除所有的记录
  • 如果要删除所有记录
delete from 表名;    -- 不推荐使用。有多少条记录就会执行多少次删除操作
TRUNCATE TABLE 表名;   -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表

七、DQL语句

7.1 数据准备

-- 创建表
CREATE TABLE student (
  id number,
  name varchar2(20),
  age number,
  sex varchar2(5),
  address varchar2(100),
  math number,
  english number
);
-- 插入记录
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES (1,'马云',55,'男','杭州',66,78);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES(2,'马化腾',45,'女','深圳',98,87);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES(3,'马景涛',55,'男','香港',56,77);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES(4,'柳岩',20,'女','湖南',76,65);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES(5,'柳青',20,'男','湖南',86,NULL);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES(6,'刘德华',57,'男','香港',99,99);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES(7,'马德',22,'女','香港',99,99);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES(8,'德玛西亚',18,'男','南京',56,65);
commit;

7.2 基本查询

  • 查询所有记录
语法:
  SELECT * FROM 表名;
举例:
  SELECT * FROM student;
  • 查询表中所有学生的姓名和对应的数学成绩
语法:
  SELECT 字段名1,字段名2... FROM 表名;
举例:
  SELECT name,english FROM student;
  • 查询表中学生地址(去重)
语法:
  select DISTINCT 字段名1,字段名2... FROM 表名;
举例:
  SELECT DISTINCT  address  FROM student;
  • 起别名
  • 语法

as : as也可以省略

  • 示例
SELECT DISTINCT  address as addr  FROM student;

7.3 条件查询

  • 查询math分数大于80分的学生
SELECT * FROM student WHERE math > 80;
  • 查询age大于35且性别为男的学生(两个条件同时满足)
SELECT * FROM student WHERE age > 35 AND sex = '男';
  • 查询english成绩大于等于77,且小于等于87的学生
SELECT * FROM student WHERE english >=77 AND english <=87;
SELECT * FROM student WHERE english BETWEEN 77 AND 87;
  • 查询id是1或3或5的学生
SELECT * FROM student WHERE id = 1 OR id =3 OR id = 5;
SELECT * FROM student WHERE id IN(1,3,5);
  • 查询英语成绩为null的学生
SELECT * FROM student WHERE english IS NULL;
  • 查询英语成绩不为null的学生
SELECT * FROM student WHERE english IS NOT NULL;
  • 查询姓名中包含’德’字的学生
SELECT * FROM student WHERE name LIKE '%德%';

八、序列*

注意:Oracle 没有主键能够自动增长的功能 ,如果想要得到主键自动增长的效果,就需要序列。

序列是用来产生一个自动递增的数值,可以插入到主键作为值使用。

5.1 简单序列

  • 语法
create sequence 序列名称;
  • 创建序列
create sequence seq_test;
  • 使用序列

序列有 currval 和 nextval 两个属性可以使用,区别如下:

  • nextval:拥有数字累加的效果,也是使用时最为常用的方式。而且第一次使用时也必须使用这个属性对序列初始化。
  • currval:获取当前的数字,不会进行累加,因此不管调用多少次都不会出现值的变化。注意如果序列没有初始化直接使用 currval 会报错。
  • *:我们在刚建立序列后,无法提取当前值,只有先提取下一个值时才能再次提取当前值。==
    提取下一个值
select 序列名称.nextval from dual
  • 提取当前值
select 序列名称.currval from dual
  • 第一次先用currval会报错?如何办

5.2 复杂序列

  • 语法
CREATE SEQUENCE 序列名称 -- 创建序列名称
[INCREMENT BY n] -- 递增的序列值是 n 如果n是正数就递增,如果是负数就递减 默认是 1
[START WITH n] -- 开始的值,递增默认是 minvalue 递减是 maxvalue
[{MAXVALUE n | NOMAXVALUE}] -- 最大值
[{MINVALUE n | NOMINVALUE}] -- 最小值
[{CYCLE | NOCYCLE}] -- 循环/不循环
[{CACHE n | NOCACHE}];-- 分配并存入到内存中
  • 创建序列
create sequence seq_empcopy_id start with 1 increment by 1;

和我们的表结合起来insert into test values(seq_copy_id.nextval,‘张三’,170,sysdate)

5.3 查看与删除序列

  • 查看序列状态
select seq_empcopy_id.currval from dual
  • 删除序列
drop sequence seq_empcopy_id;
  • 提取当前值
select 序列名称.currval from dual
  • 第一次先用currval会报错?如何办
    [外链图片转存中…(img-VMSF2ZmW-1665740422237)]

5.2 复杂序列

  • 语法
CREATE SEQUENCE 序列名称 -- 创建序列名称
[INCREMENT BY n] -- 递增的序列值是 n 如果n是正数就递增,如果是负数就递减 默认是 1
[START WITH n] -- 开始的值,递增默认是 minvalue 递减是 maxvalue
[{MAXVALUE n | NOMAXVALUE}] -- 最大值
[{MINVALUE n | NOMINVALUE}] -- 最小值
[{CYCLE | NOCYCLE}] -- 循环/不循环
[{CACHE n | NOCACHE}];-- 分配并存入到内存中
  • 创建序列
create sequence seq_empcopy_id start with 1 increment by 1;

和我们的表结合起来insert into test values(seq_copy_id.nextval,‘张三’,170,sysdate)

5.3 查看与删除序列

  • 查看序列状态
select seq_empcopy_id.currval from dual
  • 删除序列
drop sequence seq_empcopy_id;


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
18天前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
6天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
5天前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
17 2
|
9天前
|
SQL Oracle 关系型数据库
Oracle数据库管理:从入门到精通
表(Table):表是Oracle数据库中存储数据的基本结构单元,由行(Row)和列(Column)组成。每行代表一个记录,每列代表一个字段。 SQL(Structured Query Language):SQL是Oracle数据库的核心语言,用于与数据库交互,执行查询、插入、更新和删除等操作。 数据库实例与数据库:在Oracle中,数据库实例是一组后台进程和内存结构,用于管理数据库并提供服务。而数据库则是数据的物理存储,包括数据文件、控制文件、联机日志和参数文件等。
31 0
|
2月前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
|
2月前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
25天前
|
Oracle 安全 关系型数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法探讨
删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法(不考虑全库备份和利用归档日志)。
|
1月前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
38 10
|
2月前
|
存储 Oracle 关系型数据库
分享几个Oracle数据库日常维护中常见的问题
分享几个Oracle数据库日常维护中常见的问题
84 1
|
2月前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
72 7

推荐镜像

更多
下一篇
无影云桌面