Oracle数据库备份与恢复【RMAN】_分配的通道:ora_disk_1-程序员宅基地

技术标签: oracle  rman  Oracle备份与恢复  

1、理解备份与恢复

1.1、什么是备份与恢复

数据库备份通常分为如下两种:
1、物理备份:备份组成数据库的物理文件(包含数据文件、控制文件、归档重做日志文件),也即是在其他位置存放数据库物理文件的同本,比如脱机的磁盘或者磁带设备;
2、逻辑备份:指备份数据库中的逻辑数据,比如数据表和存储过程,可以使用Oracle的数据泵工具导出到二进制文件,在数据库恢复时导入到数据库。
1和2的关系:物理备份是制定任何备份策略的基础,逻辑备份可以看作是物理备份的有效补充,但是物理备份需要较长的备份和恢复时间,而逻辑备份可以仅对重要的数据库数据进行备份,可以实现较快的备份与恢复操作,因此在实际的工作中即要进行物理备份,也要确保对于重要数据的即时逻辑备份。
在实际工作过程中,需要DBA处理的故障有3大类,分别是介质故障、用户错误活应用程序错误,其他的错误不会造成数据的丢失,或需要从备份中恢复,比如可能需要重启数据库以便恢复数据库实例的失败。下面是对这3类DBA需要进行备份与恢复的错误详细描述:

  1. 介质故障,比如物理磁盘损坏导致读取或写入磁盘的失败,此时就需要进行介质恢复来实现数据完整性,对于这类故障,DBA必须制定完整的备份恢复策略,以防止出现灾难性的数据丢失。
    数据库备份以及介质恢复
  2. 用户错误
  3. 应用程序错误
  4. 实例恢复
  5. 介质恢复
    DBA必须尽量制定有效的备份恢复策略,缩减平均恢复时间(MTTR)延长平均故障间隔时间(MTBF),定期对备份和恢复的策略有效性进行检查(自动备份是否能够正常执行,备份后的文件能够正常恢复)。

1.2、备份与恢复的方法

1、进行Oracle备份恢复的方式有以下3种:

  1. 使用RMAN恢复管理器进行备份和恢复,RMAN是Oracle内置的备份恢复程序,不用单独安装。也可以通过Database Control界面来管理数据库实例;
  2. 用户管理的备份与恢复,这种是使用操作系统命令对数据库文件进行备份与恢复;
  3. 使用SQL*Loader或者数据泵导入导出工具进行逻辑备份与恢复,这种方式可以备份重要数据,并可以实现在不同操作系统或者不同的Oracle版本之间的数据传输。
    但是Oracke建议使用RMAN完成备份与恢复的工作,好处是用户不用记住备份的数据文件和归档重做日志文件,RMAN可以自己存储位置来记录这些信息,并且RMAAN能够验证备份文件内部数据块的有效性,并能欧在资料库中记录复制的情况。
    2、备份的方式
  4. 一致性备份:备份所包含的各个文件中的系统更改号(SCN)都相同,即备份所包含的各个文件中的所有数据均来自同一时间点。
  5. 非一致性备份:指文件包含来自不同时间点的数据,这主要用于联机备份模式,即数据库在处理事务时进行数据文件的备份,这种备份方式除了复原数据外,还需要使用归档和联机重做日志文件进行恢复,使数据库数据恢复到特定的时间点上。
  6. 数据库完全备份,是指对数据库内所有的数据文件、控制文件的备份,是最常用的备份类型,完全被分既可以是一致性备份也可以是非一致性备份。
  7. 部分备份数据库,对数据库部分内容进行备份,比如一个表或者一个数据文件,这种方式一般较少使用。
  8. 联机备份,是指数据库在运行过程中的备份,也称热备份,但是只有数据库运行在归档模式下,才能够对整个数据库进行联机备份,如果数据库雨荨在非归档模式下,则只能进行脱机备份。
  9. 脱机备份,数据处于关闭状态下的备份,也成热备份,只要数据库不适用SHUTDOWN ABORT进行关闭的,则备份总是一致性备份,否则备份就是非一致性备份,在富源数据库后需要应用重做日志文件使其保持一致性状态。

2、使用RMAN备份

2.1、设置归档日志模式

第一步:在SQL*PLUS中使用ARCHIVE LOG LIST 或者查询从v$database数据字典视图来查看当前数据库所处的模式。
1、在操作系统中使用sysdba账号登陆数据库

1、sqlplus / as sysdba;--登陆本机数据库
2、sqlplus [username]/[password]@[IP]:1521/[SID];--远程登陆数据库

第二步:查询v$database数据字典视图的log_mode字段,或者使用ARCHIVE LOG LIST来查看数据库所处模式。

set linesize 500;--格式化输出结果宽度
select dbid,name,log_mode,platform_name from v$database;--使用v$database查询

结果如下:NOARCHIVELOG代表非归档模式
v$database查询结果
或者

archive log list;

结果如下:
crchive log list查询结果
第二步:通过第一步中的结果可以看出当前数据库处于非归档模式,现在使用如下步骤将数据库设置成归档模式:
(1)、使用SHUTDOWN命令关闭数据库实例,然后将数据库启动到MOUNT状态,示例如下:

SQL> SHUTDOWN IMMEDIATE;--关闭数据库实例
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MOUNT;--启动数据库到MOUNT状态
ORACLE 例程已经启动。

Total System Global Area 3373858816 bytes
Fixed Size                  2180424 bytes
Variable Size            2348812984 bytes
Database Buffers         1006632960 bytes
Redo Buffers               16232448 bytes
数据库装载完毕。

(2)、使用ALTER DATABASE ARCHIVELOG语句将数据库设置为归档日志模式,或者使用ALTER DATABASE NOARCHIVELOG将数据库设置为非归档日志模式,语句如下:

SQL> ALTER DATABASE ARCHIVELOG;

数据库已更改。

(3)、将数据库设置为打开状态,语句如下:

SQL> ALTER DATABASE OPEN;

数据库已更改。

(4)、此时数据库已经使用归档模式在运行,可以使用ARCHIVE LOG ALL将重做日志文件进行归档,示例语句如下:

SQL> ARCHIVE LOG ALL;
ORA-00271: 没有需要归档的日志

如上结果所示,报错ORA-00271: 没有需要归档的日志,这可能是已经进行了归档或日志文件组还没有开始写入,可以使用如下命令对当前的日志组进行归档。
(5)、解决报错信息ORA-00271

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

系统已更改。

第三步:至此,数据库以能够自动完成归档,此时可以再次使用“第二步”中的语句查询出归档日志存储位置。

SQL> ARCHIVE LOG LIST;
数据库日志模式            存档模式
自动存档             启用
存档终点            USE_DB_RECOVERY_FILE_DEST--归档日志默认使用闪回区域
最早的联机日志序列     593
下一个存档日志序列   595
当前日志序列           595

如果需要查看归档日志文件可以执行以下命令:

C:\>RMAN TARGET /   --使用rman target / 命令登陆RAMN并连接数据库,或者使用rman target [username]/[passwd]@[IP]:1521/[SID]连接目标数据库

恢复管理器: Release 11.2.0.1.0 - Production on 星期四 1017 17:46:06 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: ORCL (DBID=1547773451)

RMAN> crosscheck archivelog all;--查看所有的归档日志文件

使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
对归档日志的验证成功
归档日志文件名=D:\APP\MINGYUAN\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_10_17\O1_MF_1_594_GTJ9Q3HR_.ARC RECID=1 STAMP=1021912291  --这个就是归档日志存储位置
已交叉检验的 1 对象
RMAN>

2.2、完整数据库备份

创建一个完成的数据库备份,备份所有的数据库文件及SPFILE文件,复制Oracle的安装目录,语句如下:

2.2.1、指定备份集的位置

RMAN> BACKUP DATABASE FORMAT 'C:\backup\%d_bak_%U';--%d指定数据库名称,%U指定产生一个唯一的命名,%t指定备份集的时间戳,%s指定备份集编号及%p指定备份片编号。

启动 backup18-10-19
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00005 名称=D:\APP\ORADATA\ORCL\XTDATA.DBF
输入数据文件: 文件号=00003 名称=D:\APP\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00004 名称=D:\APP\ORADATA\ORCL\USERS01.DBF
输入数据文件: 文件号=00001 名称=D:\APP\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号=00002 名称=D:\APP\ORADATA\ORCL\SYSAUX01.DBF
通道 ORA_DISK_1: 正在启动段 118-10-19
通道 ORA_DISK_1: 已完成段 118-10-19
段句柄=C:\BACKUP\ORCL_BAK_04UEKOF4_1_1 标记=TAG20191018T150404 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:05:25
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 118-10-19
通道 ORA_DISK_1: 已完成段 118-10-19
段句柄=C:\BACKUP\ORCL_BAK_05UEKOP9_1_1 标记=TAG20191018T150404 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup18-10-19

RMAN>

2.2.2、默认使用闪回恢复区创建备份

RMAN> BACKUP AS BACKUPSET DATABASE SPFILE;

启动 backup18-10-19
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=192 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00005 名称=D:\APP\ORADATA\ORCL\XTDATA.DBF
输入数据文件: 文件号=00003 名称=D:\APP\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00004 名称=D:\APP\ORADATA\ORCL\USERS01.DBF
输入数据文件: 文件号=00001 名称=D:\APP\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号=00002 名称=D:\APP\ORADATA\ORCL\SYSAUX01.DBF
通道 ORA_DISK_1: 正在启动段 118-10-19
RMAN-03009: backup 命令 (ORA_DISK_1 通道上,10/18/2019 14:32:33) 失败
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 52428800 字节磁盘空间 (4102029312 限制中)
继续执行其他作业步骤, 将不重新运行失败的作业
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 118-10-19
通道 ORA_DISK_1: 已完成段 118-10-19
段句柄=D:\APP\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_10_18\O1_MF_NCSNF_TAG20191018T143217_GTLQ426G_.BKP 标记=TAG20191018T143217 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 118-10-19
通道 ORA_DISK_1: 已完成段 118-10-19
段句柄=D:\APP\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_10_18\O1_MF_NNSNF_TAG20191018T143217_GTLQ439W_.BKP 标记=TAG20191018T143217 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================

RMAN-03009: backup 命令 (ORA_DISK_1 通道上,10/18/2019 14:32:33) 失败
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 52428800 字节磁盘空间 (4102029312 限制中)

RMAN>

如上所示,出现报错信息,该信息是指归档文件过大,导致归档失败,db_recovery_file_desc有size限制,默认是2G。
解决方法:删除多余的归档文件。然后设置较大的db_recovery_file_dest_size。
过程如下:
(1)查看闪回恢复区空间

C:\Users>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 1018 16:07:10 2019

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from v$recovery_file_dest;--space_limit:该区域的大小是多少,space_used:已经使用了多少空间,space_reclaimable:删除一些垃圾数据之后可以回收的空间大小(如obsolete,redundant、low priority),number_of_files:说明该区域目前存在有多少文件

NAME                                           SPACE_LIMIT SPACE_USED        SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------------- ----------  ----------------- ----------------- ---------------
D:\app\flash_recovery_area                     4102029312  372635648         372635648         12
SQL>

(2)、查询并删除无效归档日志文件

C:\Users>rman target /
RMAN>crosscheck archivelog all;   -- 运行这个命令可以把无效的expired的archivelog标出来。
RMAN>delete expired archivelog all;  -- 直接全部删除过期的归档日志。

(3)、如果无法删除归档日志文件,可以重新设置归档日志文件,并分配更大的空间,配置合理的覆盖策略。【具体方法请查询相关Blog文章】

2.2.3、查询、删除备份集


RMAN> LIST BACKUP OF DATABASE;--查询备份数据库文件


备份集列表
===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3       Full    11.13G     DISK        00:05:17     18-10-19
        BP 关键字: 3   状态: AVAILABLE  已压缩: NO  标记: TAG20191018T150404
段名:C:\BACKUP\ORCL_BAK_04UEKOF4_1_1
  备份集 3 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 4228805    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\SYSTEM01.DBF
  2       Full 4228805    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\SYSAUX01.DBF
  3       Full 4228805    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\UNDOTBS01.DBF
  4       Full 4228805    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\USERS01.DBF
  5       Full 4228805    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\XTDATA.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
5       Full    11.13G     DISK        00:03:34     18-10-19
        BP 关键字: 5   状态: AVAILABLE  已压缩: NO  标记: TAG20191018T154338
段名:C:\BACKUP\HYYS0508_BAK_06UEKQPA_1_1
  备份集 5 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 4230473    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\SYSTEM01.DBF
  2       Full 4230473    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\SYSAUX01.DBF
  3       Full 4230473    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\UNDOTBS01.DBF
  4       Full 4230473    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\USERS01.DBF
  5       Full 4230473    18-10-19 D:\APP\MINGYUAN\ORADATA\ORCL\XTDATA.DBF

RMAN> DELETE BACKUPSET 5;--删除BS关键字为5的备份数据库文件

使用通道 ORA_DISK_1

备份片段列表
BP 关键字  BS 关键字  Pc# Cp# 状态      设备类型段名称
------- ------- --- --- ----------- ----------- ----------
5       5       1   1   AVAILABLE   DISK        C:\BACKUP\HYYS0508_BAK_06UEKQPA_1_1

是否确定要删除以上对象 (输入 YES 或 NO)? Y
已删除备份片段
备份片段句柄=C:\BACKUP\HYYS0508_BAK_06UEKQPA_1_1 RECID=5 STAMP=1021995818
1 对象已删除

RMAN>

3、使用RMAN恢复数据库

RMAN的恢复对应有两个操作:

  • 数据库复原【RESTORE】,指利用备份集的数据文件来替换已经损坏的数据库文件或者将起恢复到一个新的位置。
  • 数据库恢复【RECOVER】,应用所有的归档重做日志将数据库恢复到健康的状态,或者仅应用部分的REDO将数据库恢复到指定的时间点。
    执行数据库恢复时,需要将整个数据库进入到MOUNT状态,如果只是对个别的表空间或者数据文件的恢复可以在OPEN状态下进行操作。
    恢复操作时,可以使用完全恢复来恢复到最近的时间点,也可以使用部分恢复来恢复到特定的时间点,恢复完成后,在开启数据库,或者如果是不完全恢复,需要指定RESETLOGS打开数据库。
    完全恢复数据库步骤如下:
    (1)、启动数据库到MOUNT状态
RMAN> STARTUP MOUNT;--需要数据库已经被SHUTDOWN才能恢复到这个状态,如果是正常的数据库需要使用管理员账号进行SHUTDOWN IMMEDIATE之后才能进行该操作。
Oracle 实例已启动
数据库已装载
系统全局区域总计    3373858816 字节
Fixed Size                     2180424 字节
Variable Size               2348812984 字节
Database Buffers            1006632960 字节
Redo Buffers                  16232448 字节

RMAN>

(2)、使用RESTORE DATABASE还原数据库

RMAN> RESTORE DATABASE;

启动 restore18-10-19
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=212 设备类型=DISK

通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 D:\APP\MINGYUAN\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 D:\APP\MINGYUAN\ORADATA\ORCL\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 D:\APP\MINGYUAN\ORADATA\ORCL\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\MINGYUAN\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 D:\APP\MINGYUAN\ORADATA\ORCL\XTDATA.DBF
通道 ORA_DISK_1: 正在读取备份片段 C:\BACKUP\HYYS0508_BAK_08UELAFM_1_1
通道 ORA_DISK_1: 段句柄 = C:\BACKUP\HYYS0508_BAK_08UELAFM_1_1 标记 = TAG20191018T201134
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:01:55
完成 restore18-10-19

RMAN>

(3)、在还原数据库后如果数据库在备份之后没有产生过任何事务,则恢复操作到此完成。
否则就需要使用RECOVER进行恢复操作。操作方式如下:

RMAN> RECOVER DATABASE;

启动 recover 于 18-10-19
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:01

完成 recover 于 18-10-19

RMAN>

(4)、将还原好的数据库切换到OPEN状态完成对数据库的恢复工作。

RMAN> ALTER DATABASE OPEN;
数据库已打开

备注:以上的恢复命令可以使用RUN来批量执行

RMAN>RUN{
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_31633205/article/details/102602803

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法