Oracle OMF 非OMF 文件 轉化 不需要重建 file#.incarnation#

不需要重建就要重啟,

alter database datafile move 就可以在線

file#.incarnation#? 是 incarnation 不是dbid

Goal

How to convert non OMF files to OMF files with ASM storage

Datafiles are not deleted at dropping tablespace if files are non-OMF and if you want datafile to be deleted /removed from storage with dropping tablespace.

Solution

In ASM diskgroups, all files are created as OMF by default to ensure uniqueness.

A typical format of an OMF file in ASM is:

+group/dbname/file_type/file_type_tag.file#.incarnation#

If a non-OMF name is provided for a file creation, Oracle ASM code internally creates an OMF File and automatically creates an alias with user defined non-OMF name for the same, e.g. :

SQL> create tablespace test2 datafile '+DATA/test2.dbf' size 10M

It creates
+DATA/data.dbf <<== an alias as provided in command
+data/orcl/datafile/TEST2.327.953304985? <<==? OMF datafile

To convert non-OMF ASM database to OMF ASM database

1.? Get the name of alias and omf datafile

2. Drop alias of datafile

3. Restart database renaming datafile alias to omf datafile in controlfile after mount

1. Get the name of alias and omf datafile

ie.
* Check alias location. You can find alias name pointing to OMF datafile
ASMCMD> pwd
+data
ASMCMD> ls -altr
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'

WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'

Type Redund Striped Time Sys Name
Y ORCL/
Y ORCL11G/
N tclone/
DATAFILE UNPROT COARSE AUG 29 14:00:00 N test2.dbf => +DATA/ORCL/DATAFILE/TEST2.327.953304985

* Check OMF datafile location, you can find alias name pointing to OMF datafile
ASMCMD> cd ORCL/DATAFILE
ASMCMD> ls -altr
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'

WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'

Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => SYSAUX.257.924952255
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => SYSTEM.258.924952315
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => UNDOTBS1.260.924952429
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => UNDOTBS2.268.924952857
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => UNDOTBS3.269.924952863
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => USERS.259.924952407
DATAFILE UNPROT COARSE AUG 29 14:00:00 Y +DATA/test2.dbf => TEST2.327.953304985

2. Drop alias of datafile.? You still have OMF datafile after dropping alias

ie.

alter diskgroup data drop alias '+DATA/test2.dbf';


* Check alias location. the alias is removed/deleted
ASMCMD> pwd
+data
ASMCMD> ls -altr
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'

WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'

Type Redund Striped Time Sys Name
Y ORCL/
Y ORCL11G/
N tclone/

* Check OMF datafile location, you can find OMF datafile without alias
ASMCMD> pwd
+data/orcl/datafile
ASMCMD> ls -altr
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'

WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'

Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => SYSAUX.257.924952255
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => SYSTEM.258.924952315
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => UNDOTBS1.260.924952429
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => UNDOTBS2.268.924952857
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => UNDOTBS3.269.924952863
DATAFILE UNPROT COARSE AUG 29 11:00:00 Y none => USERS.259.924952407
DATAFILE UNPROT COARSE AUG 29 14:00:00 Y none => TEST2.327.953304985




3. Restart database renaming datafile (alias to omf datafile in controlfile)


sql> shutdown immediate

sql> startup mount


sql> alter database rename file '+DATA/test2.dbf' to '+data/orcl/datafile/TEST2.327.953304985';

sql> ater database open;

??

Note that you need to mount one db instance with all other instances(if any in RAC env) down to rename datafile name in cotnrolfile

otherwise, ora-1511 error

alter database rename file '+DATA/test2.dbf' to '+data/orcl/datafile/TEST2.327.953304985'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01121: cannot rename database file x - file is in use or recovery
ORA-01110: data file x: '+DATA/test2.dbf'

Goal

?NON-OMF to OMF ?( Datafile and Redo Migration )

Solution

1. Who Can Use Oracle Managed Files?


Oracle Managed Files are most useful for the following types of databases:

  • A logical volume manager that supports striping/RAID and dynamically extensible logical volumes .
  • A file system that provides large, extensible files?Low end or test databases

Initialization Parameters That Enable Oracle Managed Files for Datafiles , Redo and Controlfiles :

DB_CREATE_FILE_DEST
DB_CREATE_ONLINE_LOG_DEST_n
DB_RECOVERY_FILE_DEST

?The name that is used for creation of an Oracle managed file is constructed from three sources:

  1. The default creation location
  2. A file name template that is chosen based on the type of the file. The template also depends on the operating system platform and whether or not Oracle Automatic Storage Management is used.
  3. A unique string created by Oracle Database or the operating system. This ensures that file creation does not damage an existing file and that the file cannot be mistaken for some other file.

As a specific example, filenames for Oracle Managed Files have the following format on a Solaris file system:

destination_prefix/o1_mf_%t_%u_.dbf

where: destination_prefix is destination_location/db_unique_name/datafile
where: destination_location is the location specified in DB_CREATE_FILE_DEST

db_unique_name is the globally unique name (DB_UNIQUE_NAME initialization parameter) of the target database. If there is no DB_UNIQUE_NAME parameter, then the DB_NAME initialization parameter value is used.

%t is the tablespace name.
%u is an eight-character string that guarantees uniqueness
For example, assume the following parameter settings:
DB_CREATE_FILE_DEST = /u01/app/oracle/oradata
DB_UNIQUE_NAME = XXX

Then an example data file name would be:
/u01/app/oracle/oradata/XXX/datafile/o1_mf_tbs1_2ixh90q_.dbf

Reference:?Documentation

2) How to convert NON-OMF?Datafiles to OMF FILES?

a) Steps to Convert

SQL> select name from v$datafile;

NAME
-----------------------------------------------------------------------
<PATH>/system01.dbf
<PATH>/sysaux01.dbf
<PATH>/undotbs01.dbf
<PATH>/users01.dbf

SQL> create tablespace test datafile '<PATH>/test01.dbf' size 100m;

Tablespace created.

SQL> create table dd as select * from dba_objects;

Table created.

SQL> commit;

Commit complete.

SQL> alter table dd move tablespace test;

Table altered.

SQL> select count(*) from dba_objects;

COUNT(*)
----------
90898

SQL> select count(*) from dd;

COUNT(*)
----------
90898

SQL> select table_name,tablespace_name from dba_tables where table_name='DD';

TABLE_NAME ? ? ??TABLESPACE_NAME ? ? ?

--------------- ----------------------------
DD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TEST

SQL> show parameter db_create_file_dest

NAME TYPE VALUE
------------------------------
db_create_file_dest string

SQL> Alter system set db_create_file_dest='/tmp/OMF' scope=both;

System altered.

SQL> show parameter db_create_file_dest

NAME TYPE VALUE
------------------------------ ----------- ------------------------------
db_create_file_dest string ? ? ? ? ? ? ? ? ? ? ? ?/tmp/OMF

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
<PATH>/system01.dbf
<PATH>/sysaux01.dbf
<PATH>/undotbs01.dbf
<PATH>/test01.dbf
<PATH>/users01.dbf

SQL> alter database move datafile 1;

Database altered.

SQL> alter database move datafile 3;

Database altered.

SQL> alter database move datafile 4;

Database altered.

SQL> alter database move datafile 6;

Database altered.

SQL> alter database move datafile 5;

Database altered.

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/tmp/OMF/XXX/datafile/o1_mf_system_cxh44rx5_.dbf
/tmp/OMF/XXX/datafile/o1_mf_sysaux_cxh475v6_.dbf
/tmp/OMF/XXX/datafile/o1_mf_undotbs1_cxh490bz_.dbf
/tmp/OMF/XXX/datafile/o1_mf_test_cxh49m11_.dbf
/tmp/OMF/XXX/datafile/o1_mf_users_cxh49fqz_.dbf

b) Now Check With RMAN for recently converted Files

沒有意思,肯定是啊

RMAN> backup database plus archivelog;

Starting backup at 13-SEP-16
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=248 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=2 RECID=1 STAMP=922427023
channel ORA_DISK_1: starting piece 1 at 13-SEP-16
channel ORA_DISK_1: finished piece 1 at 13-SEP-16
piece handle=<PATH>/01rfm7kf_1_1 tag=TAG20160913T054343 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 13-SEP-16

Starting backup at 13-SEP-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/tmp/OMF/XXX/datafile/o1_mf_system_cxh44rx5_.dbf
input datafile file number=00003 name=/tmp/OMF/XXX/datafile/o1_mf_sysaux_cxh475v6_.dbf
input datafile file number=00005 name=/tmp/OMF/XXX/datafile/o1_mf_test_cxh49m11_.dbf
input datafile file number=00004 name=/tmp/OMF/XXX/datafile/o1_mf_undotbs1_cxh490bz_.dbf
input datafile file number=00006 name=/tmp/OMF/XXX/datafile/o1_mf_users_cxh49fqz_.dbf
channel ORA_DISK_1: starting piece 1 at 13-SEP-16
channel ORA_DISK_1: finished piece 1 at 13-SEP-16
piece handle=<PATH>/02rfm7kh_1_1 tag=TAG20160913T054345 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 13-SEP-16
channel ORA_DISK_1: finished piece 1 at 13-SEP-16
piece handle=<PATH>/03rfm7l0_1_1 tag=TAG20160913T054345 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 13-SEP-16

Starting backup at 13-SEP-16
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=3 RECID=2 STAMP=922427042
channel ORA_DISK_1: starting piece 1 at 13-SEP-16
channel ORA_DISK_1: finished piece 1 at 13-SEP-16
piece handle=<PATH>/04rfm7l2_1_1 tag=TAG20160913T054402 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 13-SEP-16

RMAN> list backup;

List of Backup Sets
===================

BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
1 20.96M DISK 00:00:01 13-SEP-16
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20160913T054343
Piece Name: <PATH>/01rfm7kf_1_1

List of Archived Logs in backup set 1
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 2 1698537 13-SEP-16 1705596 13-SEP-16

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2 Full 1.10G DISK 00:00:02 13-SEP-16
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20160913T054345
Piece Name: <PATH>/02rfm7kh_1_1
List of Datafiles in backup set 2
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 1705609 13-SEP-16 /tmp/OMF/XXX/datafile/o1_mf_system_cxh44rx5_.dbf
3 Full 1705609 13-SEP-16 /tmp/OMF/XXX/datafile/o1_mf_sysaux_cxh475v6_.dbf
4 Full 1705609 13-SEP-16 /tmp/OMF/XXX/datafile/o1_mf_undotbs1_cxh490bz_.dbf
5 Full 1705609 13-SEP-16 /tmp/OMF/XXX/datafile/o1_mf_test_cxh49m11_.dbf
6 Full 1705609 13-SEP-16 /tmp/OMF/XXX/datafile/o1_mf_users_cxh49fqz_.dbf

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3 Full 10.11M DISK 00:00:01 13-SEP-16
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20160913T054345
Piece Name: <PATH>/03rfm7l0_1_1
SPFILE Included: Modification time: 13-SEP-16
SPFILE db_unique_name: XXX
Control File Included: Ckp SCN: 1705614 Ckp time: 13-SEP-16

BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
4 7.00K DISK 00:00:00 13-SEP-16
BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20160913T054402
Piece Name: <PATH>/04rfm7l2_1_1

List of Archived Logs in backup set 4
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 3 1705596 13-SEP-16 1705619 13-SEP-16

RMAN> exit

c) Add New Files using OMF method and check :

SQL> alter tablespace test add datafile;

Tablespace altered.?

All Files converted into OMF Files and recorded in controlfile:

SQL>?select file#,name,status from v$datafile;

FILE# NAME STATUS
---------- ------------------------------------------------------------ -------
1 /tmp/OMF/XXX/datafile/o1_mf_system_cxh44rx5_.dbf SYSTEM
2 /tmp/OMF/XXX/datafile/o1_mf_test_cxh4rofn_.dbf ONLINE
3 /tmp/OMF/XXX/datafile/o1_mf_sysaux_cxh475v6_.dbf ONLINE
4 /tmp/OMF/XXX/datafile/o1_mf_undotbs1_cxh490bz_.dbf ONLINE
5 /tmp/OMF/XXX/datafile/o1_mf_test_cxh49m11_.dbf ONLINE
6 /tmp/OMF/XXX/datafile/o1_mf_users_cxh49fqz_.dbf ONLINE

6 rows selected.

SQL> select count(*) from dd;

COUNT(*)
----------
90898

SQL> select table_name,tablespace_name from dba_tables where table_name='DD';

TABLE_NAME TABLESPACE_NAME
--------------- ------------------------------
DD ? ? ? ? ? ? ? ? ? ? ? ? ? ?TEST

?3. How to convert Non-OMF REDO into OMF Files:
?

SQL> select GROUP#,STATUS,MEMBER from v$logfile;

GROUP# STATUS MEMBER
---------- ------- ------------------------------------------------------------
3 <PATH>/redo03.log
2 <PATH>/redo02.log
1 <PATH>/redo01.log

SQL> alter system set DB_CREATE_ONLINE_LOG_DEST_1='/tmp' scope=both;

System altered.

SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

GROUP# ARC STATUS
---------- --- ----------------
1 YES ACTIVE
2 NO CURRENT
3 YES ACTIVE

a) Adding New Redo ( OMF FILES) Before Dropping OLD (NON-OMF files)?

SQL> ALTER DATABASE ADD LOGFILE GROUP 11 SIZE 100M;

Database altered.

SQL> select GROUP#,STATUS,MEMBER from v$logfile;

GROUP# STATUS MEMBER
---------- ------- ------------------------------------------------------------
3 <PATH>/redo03.log
2 <PATH>/redo02.log
1 <PATH>/redo01.log
11 /tmp/XXX/onlinelog/o1_mf_11_cxh687tt_.log ? ? =========>??New group added, with OMF format

SQL> alter system switch logfile;

System altered.

SQL> ALTER DATABASE ADD LOGFILE GROUP 12 SIZE 100M;

Database altered.

SQL> ALTER DATA`BASE ADD LOGFILE GROUP 13 size 10m;

Database altered.

SQL> ALTER DATABASE ADD LOGFILE GROUP 14 size 50m;

Database altered.

SQL> ALTER DATABASE DROP LOGFILE GROUP 1;

Database altered.

b) If you get any Errors due to Drop redo check if its Current Redo log if so make some few Switch and drop them

SQL> ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE DROP LOGFILE GROUP 2
*
ERROR at line 1:
ORA-01624: log 2 needed for crash recovery of instance XXX (thread 1)
ORA-00312: online log 2 thread 1: '<PATH>/redo02.log'

c) Switch Logfile to change the status of the file from "CURRENT"?

SQL> alter system switch logfile;

System altered.

SQL> ALTER DATABASE DROP LOGFILE GROUP 3;

Database altered.

SQL> ALTER DATABASE DROP LOGFILE GROUP 4;

Database altered.

SQL> select GROUP#,STATUS,MEMBER from v$logfile;

GROUP# STATUS MEMBER
---------- ------- ------------------------------------------------------------
12 /tmp/XXX/onlinelog/o1_mf_12_cxh6kb1r_.log
11 /tmp/XXX/onlinelog/o1_mf_11_cxh687tt_.log
13 /tmp/XXX/onlinelog/o1_mf_13_cxh6ns1q_.log
14 /tmp/XXX/onlinelog/o1_mf_14_cxh6o20c_.log

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92761.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92761.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92761.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大型微服務項目:聽書——11 Redisson分布式布隆過濾器+Redisson分布式鎖改造專輯詳情接口

11 Redisson分布式布隆過濾器Redisson分布式鎖改造專輯詳情接口 11.1 緩存穿透解決方案&布隆過濾器 緩存穿透解決方案&#xff1a; 布隆過濾器&#xff1a; 布隆過濾器的使用&#xff1a; 11.2 遠程調用查詢所有的專輯id集合 修改&#xff1a; /*** 查詢所有的專輯…

STM32與ADS1220實現多通道數據采集的完整分析和源程序

以下是基于STM32與ADS1220實現多通道數據采集的完整分析和源程序,結合硬件設計、通信協議及軟件優化,提供高精度采集解決方案: 一、系統設計關鍵要點 ADS1220特性 24位高精度ΔΣ ADC,支持4路單端或2路差分輸入 集成PGA(增益1~128)、基準電壓和可編程電流源 多通道限制:…

百特搭AI低代碼平臺助力企業國際化業務敏捷拓展

在全球化浪潮下&#xff0c;企業揚帆出海或服務全球客戶已成為重要戰略。然而&#xff0c;開拓國際市場面臨多重挑戰&#xff1a;語言文化差異顯著、本地化需求復雜多變、智能化應用需求激增、各國IT基礎設施與合規要求各異。企業亟需一個能夠快速響應、靈活適應&#xff0c;并…

epoll_event數據結構及使用案例詳解

epoll_event 數據結構詳解 在 Linux 的 I/O 多路復用機制 epoll 中&#xff0c;epoll_event 是關鍵的數據結構&#xff0c;用于描述文件描述符&#xff08;fd&#xff09;上的事件和關聯數據。其定義在頭文件 <sys/epoll.h> 中&#xff1a; struct epoll_event {uint32_t…

C++11STL容器map和set簡單介紹

一、引言map和set底層結構比較復雜&#xff0c;我認為我們先談基本介紹再談C11&#xff0c;最后再談map和set底層以及map和set封裝。二、簡單介紹一下map和setmap和set底層都是紅黑樹&#xff0c;是二叉搜索樹的一種&#xff0c;查找非常快。不像數組、鏈表一樣一個一個對比&am…

Java線程基礎面試復習筆記

1. 線程與進程的區別進程是正在運行程序的實例&#xff0c;線程是進程中的執行單元。主要區別&#xff1a; 內存空間&#xff1a;不同進程使用不同的內存空間&#xff0c;同一進程下的線程共享內存空間資源開銷&#xff1a;線程更輕量&#xff0c;線程上下文切換成本比進程上下…

面試題(技術面+hr面)

面試技術面HR面后端HR面常見問題*穩定性&#xff0c;上進心&#xff0c;目標感&#xff0c;抗壓能力&#xff0c;學習能力*回答問題時注意體現上面五點&#xff0c;即使瞎扯也盡量往上靠。面經項目相關介紹一下你收獲最大的一個項目你們團隊有多少人&#xff0c;怎么分工的開發…

本地部署Dify教程

克隆 Dify 代碼倉庫克隆 Dify 源代碼至本地。git clone hts://github.com/langgenius/dify.git啟動 Dify進入 Dify 源代碼的 docker 目錄&#xff0c;執行一鍵啟動命令:cd dify/docker #切換到指定目錄 cp .env.example .env #修改文件名 docker compose up -d #啟動

Android Kotlin 協程全面指南

協程是 Kotlin 提供的一套簡化異步編程的輕量級線程操作框架&#xff0c;特別適合 Android 開發中的異步任務處理。以下是 Android 開發中需要掌握的協程核心知識點&#xff1a;1. 協程基礎概念1.1 協程是什么輕量級線程&#xff1a;比線程更高效&#xff0c;可以在單個線程中運…

【Linux】進程切換與優先級

前言&#xff1a; 上文我們講到了操作系統與Linux中進程的狀態【Linux】進程狀態-CSDN博客 本文我們來講進程的優先級、以及進程的切換 進程優先級 什么是優先級&#xff1f; CPU中資源是有限的&#xff0c;而進程的數量一定是遠大于CPU資源的&#xff0c;所以優先級是進程得…

首發即開源!DAWorkBench數據可視化分析軟件正式發布!(附源碼下載網址)

1 系統介紹DAWorkBench是一款面向科研實驗和工程測試場景的數據可視化分析開源軟件&#xff0c;支持實現數據清洗、信號處理和交互式可視化等功能。系統集成文件IO、數據處理以及可視化交互三大模塊&#xff0c;支持多維數據分析與高質量圖表生成&#xff0c;助力用戶高效完成從…

Android Studio歷史版本快速下載(二次修改記錄)

原版&#xff1a;Android Studio歷史版本快速下載_android studio 歷史版本下載-CSDN博客 一. 最新版本 https://developer.android.com/studio?hlzh-cn 二. 歷史版本 中國官網的歷史版本為何不能下載&#xff1f;&#xff08;https://developer.android.com/studio/archi…

The Missing Semester of Your CS Education 學習筆記以及一些拓展知識(六)

文章目錄The Missing Semester of Your CS Education 學習筆記以及一些拓展知識版本控制Git筆記部分Git的基本工作原理Git 的核心工作原理&#xff1a;快照而非差異Git 的三大工作區域Git的核心對象Git的四個對象對象之間的關系與工作流程&#xff1a;對象的引用Git的安裝和基礎…

嵌入式與 Linux 系統中的核心圖形庫全解析

嵌入式與 Linux 系統中的核心圖形庫全解析 圖形庫在嵌入式系統與 Linux 桌面系統中扮演著重要角色。從最底層的 GPU 驅動接口&#xff0c;到上層的圖形渲染與 GUI 工具包&#xff0c;共同構成了完整的圖形顯示棧。本文將系統整理圖形相關的核心組件&#xff0c;按功能分層分類&…

深度學習模塊實踐手冊(第十二期)

56、Ghost 模塊論文《GhostNet: More Features from Cheap Operations》1、作用&#xff1a; Ghost 模塊是一種輕量級的特征提取模塊&#xff0c;旨在通過廉價操作生成更多特征圖&#xff0c;減少計算量的同時保持模型性能。傳統卷積神經網絡在生成特征圖時存在大量冗余計算&am…

自己動手造輪子:如何創建JAR并通過Maven在Spring Boot中引用

讓代碼復用變得簡單優雅——3分鐘學會封裝專屬工具庫作為Java開發者&#xff0c;你是否遇到過這些痛點&#xff1f;多個項目重復編寫相同工具類工具代碼分散難以統一維護團隊協作缺乏標準化工具庫本文將手把手教你創建自己的JAR包&#xff0c;并優雅地集成到Spring Boot項目中&…

使用dea工具 給vue 里面的ts打斷點

在 Vue 項目中使用 TypeScript 時&#xff0c;我們通常會在 IDE&#xff08;如 JetBrains 的 IntelliJ IDEA 或 WebStorm&#xff09;中設置斷點進行調試。以下是詳細步驟&#xff1a; 準備工作 確保項目已配置 source maps&#xff08;Vue CLI 創建的項目默認已配置&#xff0…

Zabbix 企業級分布式監控

目錄 簡介 一、監控系統基礎 1.1 監控的價值 1.2 監控的 5 大類型與 5 大層次 1.3 監控系統的實現原理 二、Zabbix&#xff1a;企業級監控方案 2.1 Zabbix 簡介 2.2 Zabbix 核心功能特性 2.3 Zabbix 角色與架構 三、Zabbix 部署案例 3.1 資源清單 3.2 基礎環境配置…

SQL JOIN 全解析:用 `users` 與 `orders` 表徹底掌握內連接、左連接、右連接

SQL JOIN 全解析&#xff1a;用 users 與 orders 表徹底掌握內連接、左連接、右連接 在日常開發中&#xff0c;SQL 的連接&#xff08;JOIN&#xff09;語句是數據庫查詢的核心技能。尤其在多表聯合查詢時&#xff0c;不掌握好 INNER JOIN、LEFT JOIN、RIGHT JOIN&#xff0c;…

(一)從零搭建unity3d機械臂仿真-unity3d導入urdf模型

1.新建工程并加載模型 &#xff08;1&#xff09;unity中新建3d工程 &#xff08;2&#xff09;將機器人模型導入到unity3d中 導入開源Unity-Robotics-Hub的機械臂。 詳細操作參考視頻 ROS Unity URDF Import Testing Robot Motion 使用 URDF Importer工具 在 Unity 中&#x…