Oracle 控制文件详解
1、控制文件存储的数据信息
1)数据库名称和数据库唯一标识符(DBID)
2)创建数据库的时间戳
3)有关数据文件、联机重做日志文件、归档重做日志文件的信息
4)表空间信息
5)检查点信息
6)日志序列号信息
控制文件包含数据文件、联机重做日志文件等信息。
控制文件也会跟踪数据库的结构变化。
控制文件包含未打开数据库时必须可访问的元数据。
2、控制文件在什么时候用
mount时、open时、备份恢复过程中都会用到控制文件
3、至少有一个控制文件、建议有多个控制文件
多个控制文件的好处:多路复用,避免单点故障
4、控制文件位置
SYS@orcl(CDB$ROOT)> conn / as sysdba
Connected.SYS@orcl(CDB$ROOT)> select name from v$controlfile;NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/control01.ctl
/u01/app/oracle/fast_recovery_area/ORCL/control02.ctlSYS@orcl(CDB$ROOT)> show parameter control_filesNAME TYPE VALUE
------------------------------------ ----------- ------------------------------------------------------------------------------------------
control_files string /u01/app/oracle/oradata/ORCL/control01.ctl, /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
5、控制文件的增加、删除、重定位、重命名
5.1 增加控制文件
SYS@orcl(CDB$ROOT)> alter system set control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl','/u01/app/oracle/oradata/ORCL/control03.ctl' scope=spfile;System altered.SYS@orcl(CDB$ROOT)> show parameter control_filesNAME TYPE VALUE
------------------------------------ ----------- ------------------------------------------------------------------------------------------
control_files string /u01/app/oracle/oradata/ORCL/control01.ctl, /u01/app/oracle/fast_recovery_area/ORCL/control02.ctlSYS@orcl(CDB$ROOT)> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.SYS@orcl(CDB$ROOT)> host cp /u01/app/oracle/oradata/ORCL/control01.ctl /u01/app/oracle/oradata/ORCL/control03.ctlSYS@orcl(CDB$ROOT)> startup
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 939524096 bytes
Database Buffers 570425344 bytes
Redo Buffers 7639040 bytes
Database mounted.
Database opened.SYS@orcl(CDB$ROOT)> show parameter control_filesNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/ORCL/control01.ctl, /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl, /u01/app/oracle/oradata/ORCL/control03.ctl
注意shutdown 后要复制生成参数中新增的控制文件,否则启动数据库会失败:
SYS@orcl(CDB$ROOT)> startup
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 973078528 bytes
Database Buffers 536870912 bytes
Redo Buffers 7639040 bytes
ORA-00205: error in identifying control file, check alert log for more info
原因:找不到/u01/app/oracle/fast_recovery_area/ORCL/control03.ctl
查看alert日志会看到类似如下信息:
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_mz00_102709.trc:
ORA-00202: control file: '/u01/app/oracle/oradata/ORCL/control01.ctl,/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl,/u01/app/oracle/fast_recovery_area/ORCL/control03.ctl'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
5.2 删除控制文件
恢复成最初的两个控制文件
SYS@orcl(CDB$ROOT)> alter system set control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl' scope=spfile;System altered.SYS@orcl(CDB$ROOT)> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.SYS@orcl(CDB$ROOT)> startup
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 939524096 bytes
Database Buffers 570425344 bytes
Redo Buffers 7639040 bytes
Database mounted.
Database opened.SYS@orcl(CDB$ROOT)> show parameter control_filesNAME TYPE VALUE
------------------------------------ ----------- ------------------------------------------------------------------------------------------
control_files string /u01/app/oracle/oradata/ORCL/control01.ctl, /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
5.3 重命名控制文件
将/u01/app/oracle/oradata/ORCL/control01.ctl 改成/u01/app/oracle/oradata/ORCL/control04.ctl
SYS@orcl(CDB$ROOT)> alter system set control_files='/u01/app/oracle/oradata/ORCL/control04.ctl','/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl' scope=spfile;SYS@orcl(CDB$ROOT)> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@orcl(CDB$ROOT)> host cp /u01/app/oracle/oradata/ORCL/control01.ctl /u01/app/oracle/oradata/ORCL/control04.ctlSYS@orcl(CDB$ROOT)> startup
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 939524096 bytes
Database Buffers 570425344 bytes
Redo Buffers 7639040 bytes
Database mounted.
Database opened.
SYS@orcl(CDB$ROOT)> show parameter control_filesNAME TYPE VALUE
------------------------------------ ----------- ------------------------------------------------------------------------------------------
control_files string /u01/app/oracle/oradata/ORCL/control04.ctl, /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
5.4 重定位控制文件
修改 /u01/app/oracle/oradata/ORCL/control04.ctl 路径,为 /u01/app/oracle/oradata/control04.ctl
SYS@orcl(CDB$ROOT)> alter system set control_files='/u01/app/oracle/oradata/control04.ctl','/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl' scope=spfile;System altered.SYS@orcl(CDB$ROOT)> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.SYS@orcl(CDB$ROOT)> host cp /u01/app/oracle/oradata/ORCL/control04.ctl /u01/app/oracle/oradata/control04.ctlSYS@orcl(CDB$ROOT)> startup
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 939524096 bytes
Database Buffers 570425344 bytes
Redo Buffers 7639040 bytes
Database mounted.
Database opened.SYS@orcl(CDB$ROOT)> show parameter control_filesNAME TYPE VALUE
------------------------------------ ----------- ------------------------------------------------------------------------------------------
control_files string /u01/app/oracle/oradata/control04.ctl, /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
除了上述方法,还有如下方法可以修改control_files的配置。
查看得知当前是使用的spfile文件:
SYS@orcl(CDB$ROOT)> show parameter spfileNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/19.3.0/db_1/dbs/spfileorcl.ora
生成pfile文件:
SYS@orcl(CDB$ROOT)> create pfile from spfile;File created.
查看当前使用的控制文件:
SYS@orcl(CDB$ROOT)> select name from v$controlfile;NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/control04.ctl
/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
关闭数据库:
SYS@orcl(CDB$ROOT)> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
在$ORACLE_HOME/dbs 下可看到生成的pfile文件initorcl.ora
# su - oracle
Last login: Mon Mar 25 20:48:45 CST 2024 on pts/7
$ cd $ORACLE_HOME
$ cd dbs
$ ll
total 40
-rw-rw----. 1 oracle oinstall 1544 Mar 16 01:22 hc_oradb.dat
-rw-rw----. 1 oracle oinstall 1544 Mar 25 21:32 hc_orcl.dat
-rw-r--r--. 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r--r--. 1 oracle oinstall 1087 Mar 25 21:30 initorcl.ora
-rw-r-----. 1 oracle oinstall 24 Mar 16 01:07 lkORADB
-rw-r-----. 1 oracle oinstall 24 Mar 14 20:11 lkORCL
-rw-r-----. 1 oracle oinstall 2048 Mar 16 01:10 orapworadb
-rw-r-----. 1 oracle oinstall 2048 Mar 14 20:13 orapworcl
-rw-r-----. 1 oracle oinstall 3584 Mar 16 06:03 spfileoradb.ora
-rw-r-----. 1 oracle oinstall 3584 Mar 25 21:25 spfileorcl.ora
这里的spfile文件可以删除:
$ rm spfileorcl.ora
修改pfile文件initorcl.ora :
$ vi initorcl.ora

将红框部分修改为:
*.control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl'
备份控制文件:
$ cp /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl /u01/app/oracle/oradata/ORCL/control01.ctl
生成新的spfile文件:
SYS@orcl(CDB$ROOT)> create spfile from pfile;File created.
重启数据库后查看使用的控制文件:
SYS@orcl(CDB$ROOT)> startup
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 939524096 bytes
Database Buffers 570425344 bytes
Redo Buffers 7639040 bytes
Database mounted.
Database opened.
SYS@orcl(CDB$ROOT)> select name from v$controlfile;NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/control01.ctl
/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
6、控制文件的备份
6.1 备份二进制文件
SYS@orcl(CDB$ROOT)> alter database backup controlfile to '/home/oracle/control_bak.ctl';Database altered.
6.2 备份文本文件
SYS@orcl(CDB$ROOT)> alter database backup controlfile to trace as '/home/oracle/control_text.ctl' ;Database altered.
备份控制文件 备份控制文件是非常重要的,在对数据库的物理结构进行改变后,也需要重新对控制文件进行备份,这些操作包括:
增加、删除、重命名数据文件;
增加、删除表空间
增加、删除日志组或日志文件
7、创建控制文件
建议在归档模式创建控制文档,以避免日志文件被覆盖。(也可在非归档模式)
7.1 打开数据库归档
1)查看数据库归档情况
SYS@orcl(CDB$ROOT)> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 7
Current log sequence 92)关闭数据库
SYS@orcl(CDB$ROOT)> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.3)启动数据库到 mount
SYS@orcl(CDB$ROOT)> startup mount
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 939524096 bytes
Database Buffers 570425344 bytes
Redo Buffers 7639040 bytes
Database mounted.4)打开归档
SYS@orcl(CDB$ROOT)> alter database archivelog;Database altered.5)打开数据库
SYS@orcl(CDB$ROOT)> alter database open;Database altered.6)查看数据库归档情况
SYS@orcl(CDB$ROOT)> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 7
Next log sequence to archive 9
Current log sequence 9
7.2 删除所有的控制文件 ,模拟控制文件丢失
1)查看数据库控制文件
SYS@orcl(CDB$ROOT)> select name from v$controlfile;NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/control01.ctl
/u01/app/oracle/fast_recovery_area/ORCL/control02.ctlSYS@orcl(CDB$ROOT)> host rm /u01/app/oracle/oradata/ORCL/control01.ctlSYS@orcl(CDB$ROOT)> host rm /u01/app/oracle/fast_recovery_area/ORCL/control02.ctlSYS@orcl(CDB$ROOT)> shutdown abort
ORACLE instance shut down.
7.3 将数据库启动到 NOMOUNT
SYS@orcl(CDB$ROOT)> startup nomount
ORACLE instance started.Total System Global Area 1526723568 bytes
Fixed Size 9135088 bytes
Variable Size 939524096 bytes
Database Buffers 570425344 bytes
Redo Buffers 7639040 bytes
7.4 执行创建控制文件的语句
创建控制文件的语句从6.2中做的控制文件备份control_text.ctl中copy,选择NORESETLOGS语句。
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOGMAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 1024MAXINSTANCES 8MAXLOGHISTORY 292
LOGFILEGROUP 1 '/u01/app/oracle/oradata/ORCL/redo01.log' SIZE 200M BLOCKSIZE 512,GROUP 2 '/u01/app/oracle/oradata/ORCL/redo02.log' SIZE 200M BLOCKSIZE 512,GROUP 3 '/u01/app/oracle/oradata/ORCL/redo03.log' SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE'/u01/app/oracle/oradata/ORCL/system01.dbf','/u01/app/oracle/oradata/ORCL/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf','/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/users01.dbf','/u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdb/system01.dbf','/u01/app/oracle/oradata/ORCL/pdb/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/pdb/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdb/users01.dbf'
CHARACTER SET AL32UTF8
;
直接粘贴在SQL>后,如下:
SYS@orcl(CDB$ROOT)> STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
ORA-01081: cannot start already-running ORACLE - shut it down firstMAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 1024MAXINSTANCES 8MAXLOGHISTORY 292
LOGFILEGROUP 1 '/u01/app/oracle/oradata/ORCL/redo01.log' SIZE 200M BLOCKSIZE 512,GROUP 2 '/u01/app/oracle/oradata/ORCL/redo02.log' SIZE 200M BLOCKSIZE 512,GROUP 3 '/u01/app/oracle/oradata/ORCL/redo03.log' SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE'/u01/app/oracle/oradata/ORCL/system01.dbf','/u01/app/oracle/oradata/ORCL/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf','/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/users01.dbf','/u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdb/system01.dbf','/u01/app/oracle/oradata/ORCL/pdb/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/pdb/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdb/users01.dbf'
CHARACTER SET AL32UTF825 ;Control file created.
7.5 启动数据库
1)查看数据库当前状态
SYS@orcl(CDB$ROOT)> select status from v$instance;STATUS
------------
MOUNTED2)启动数据库
SYS@orcl(CDB$ROOT)> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/app/oracle/oradata/ORCL/system01.dbf'3)恢复数据库
SYS@orcl(CDB$ROOT)> recover database;
Media recovery complete.4)启动数据库
SYS@orcl(CDB$ROOT)> alter database open;Database altered.
7.6 查看控制文件
SYS@orcl(CDB$ROOT)> select name from v$controlfile;NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/control01.ctl
/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl$ ls /u01/app/oracle/oradata/ORCL/control01.ctl
/u01/app/oracle/oradata/ORCL/control01.ctl
$ ls /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
相关文章:
Oracle 控制文件详解
1、控制文件存储的数据信息 1)数据库名称和数据库唯一标识符(DBID) 2)创建数据库的时间戳 3)有关数据文件、联机重做日志文件、归档重做日志文件的信息 4)表空间信息 5)检查点信息 6)日志序列号…...
活体成像应用染料CY3.5-NHS星戈瑞
活体成像是一种生物医学研究的重要工具,它能够实时、无创地观察生物体内细胞和分子的动态变化。染料CY3.5-NHS,作为一种常用的活体成像染料,在许多生物医学研究中发挥着关键作用。本文将详细介绍染料CY3.5-NHS的特点、应用以及优势࿰…...
【优选算法】专题1 -- 双指针 -- 复写0
前言: 补充一下前文没有写到的双指针入门知识:专题1 -- 双指针 -- 移动零 目录 基础入门知识: 1. 复写零(easy) 1. 题⽬链接:1089.复习0 - 力扣(LeetCode) 2. 题⽬描述ÿ…...
GESP Python编程三级认证真题 2024年3月
Python 三级 2024 年 03 月 1 单选题(每题 2 分,共 30 分) 第 1 题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( ) A. 小程序 B. 计时器 C. 操作系统…...
前端理论总结(css3)——link/import区别 // 伪类/伪元素
伪类/伪元素 1: 伪类使用1个冒号,常见的有::hover,:link,:active,:target,:not(),:focus等 伪元素使用 2 个冒号,常见的有:::before&…...
ntp服务器搭建
1、手动修改时区 CST可以为如下4个不同的时区的缩写: 美国中部时间:Central Standard Time (USA) UT-6:00 澳大利亚中部时间:Central Standard Time (Australia) UT+9:30 中国标准时间:China Standard Time UT+8:00 古巴标准时间:Cuba Standard Time UT-4:00小结: UTC:…...
对象的内存布局
在Java虚拟机(HotSpot)中,对象在 Java 内存中的 存储布局 可分为三块: 对象头 存储区域实例数据 存储区域对齐填充 存储区域 对象头区域: 存储对象自身的运行时数据,如:哈希码、GC分代年龄、锁状…...
docker centos7离线安装ElasticSearch单机版
目录 1.下载ES并解压2.新建elasticsearch用户3.修改ES配置文件4.启动ES服务5.设置开机启动 本文以 elasticsearch-7.8.1为例。 1.下载ES并解压 cd /root/install wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.1-linux-x86_64.tar.gz tar -z…...
【计算机网络】IP 协议
网络层IP协议 一、认识 IP 地址二、IP 协议报头格式三、网段划分1. 初识子网划分2. 理解子网划分3. 子网掩码4. 特殊的 IP 地址5. IP 地址的数量限制6. 私有 IP 地址和公网 IP 地址7. 理解全球网络(1)理解公网(2)理解私网…...
刷题DAY38 | LeetCode 509-斐波那契数 70-爬楼梯 746-使用最小花费爬楼梯
509 斐波那契数(easy) 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1)…...
蓝桥杯-卡片换位
solution 有一个测试点没有空格,要特别处理,否则会有一个测试点运行错误! 还有输入数据的规模在变,小心顺手敲错了边界条件 #include<iostream> #include<string> #include<queue> #include<map> #incl…...
Unity 布局控制器Content Size Fitter
Content Size Fitter是Unity中的一种布局控制器组件,用于根据其内容的大小来调整包含它的UI元素的大小。换句话来说就是,Content Size Fitter可以根据UI元素内部内容的大小,自动调整UI元素的大小,以确保内容能够正确显示。 如下图…...
Python的面向对象、封装、继承、多态相关的定义,用法,意义
面向对象编程(OOP)是一种编程范式,它使用对象的概念来模拟现实世界的实体,并通过类(Class)来创建这些实体的蓝图。OOP的核心概念包括封装、继承和多态。 Python中的面向对象编程 在Python中,一…...
Elasticsearch 向量搜索
目标记录 ["你好,我的爱人","你好,我的爱妻","你好,我的病人","世界真美丽"] 搜索词 爱人 预期返回 ["你好,我的爱人","你好,我的爱妻"] 示例代码…...
2024蓝桥杯每日一题(背包)
备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:货币系统 试题二:01背包问题 试题三:完全背包问题 试题一:货币系统 【题目描述】 给定 V 种货币(单位:元),每…...
Redis桌面客户端
3.4.Redis桌面客户端 安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,包括: 命令行客户端图形化桌面客户端编程客户端 3.4.1.Redis命令行客户端 Redis安装完成后就自带了命令行客户端࿱…...
让Unity的协程变得简单
作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。 (谢谢…...
2.9 Python缩进规则(包含快捷键)
Python缩进规则(包含快捷键) 和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号( : )来区分代码块之间的层次。 在 Python 中,对于类…...
任务记录.
播放器端的解码同步问题 miracast的投屏问题,进行修改的问题。 播放器ffplay命令没有声音的修改问题。 任务:如何将断开连接后在连接发送的数据,两秒后再去显示。 猜测: 一直在监听。断开后要求2秒后的数据再显示。那么也就是认为…...
andv vue 实现多张图片上传
1、提示 注意::: 便利出来的数组 点击保存需要 把 双引号去掉 this.formData.image this.imageUrlList.filter((image) > image ! ) 注意::: 回显的时候需要 再把 双引号加上 …...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
小智AI+MCP
什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析:AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github:https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...
