0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SpringBoot + Flyway,自動(dòng)化實(shí)現(xiàn)數(shù)據(jù)庫(kù)版本控制

jf_ro2CN3Fa ? 來(lái)源:CSDN ? 作者:CSDN ? 2022-12-02 14:26 ? 次閱讀


為什么使用Flyway

最簡(jiǎn)單的一個(gè)項(xiàng)目是一個(gè)軟件連接到一個(gè)數(shù)據(jù)庫(kù),但是大多數(shù)項(xiàng)目中我們不僅要處理我們開(kāi)發(fā)環(huán)境的副本,還需要處理其他很多副本。例如:開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境。想到數(shù)據(jù)庫(kù)管理,我們立刻就能想到一系列問(wèn)題

  • 如何快速收集執(zhí)行腳本的清單
  • 執(zhí)行的腳本總要人工執(zhí)行,是否可以通過(guò)機(jī)器執(zhí)行
  • 執(zhí)行的腳本是否已經(jīng)在數(shù)據(jù)庫(kù)執(zhí)行過(guò)
  • 執(zhí)行的腳本是否全部在數(shù)據(jù)庫(kù)中執(zhí)行過(guò)
  • 執(zhí)行的腳本如何回退
  • 如何初始化一個(gè)空數(shù)據(jù)庫(kù)實(shí)例

Flyway是一款數(shù)據(jù)庫(kù)版本控制管理工具,它可以簡(jiǎn)單的、可靠的升級(jí)你的數(shù)據(jù)庫(kù)。它能幫助解決上面的問(wèn)題。Flyway核心是記錄所有版本演化和狀態(tài)的MetaData,首次啟動(dòng)創(chuàng)建默認(rèn)名為SCHEMA_VERSION的元素表。表中保存了版本,描述,要執(zhí)行的sql腳本等信息。

Flyway已經(jīng)支持?jǐn)?shù)據(jù)庫(kù)包括:Oracle, SQL Server, SQL Azure, DB2, DB2 z/OS, MySQL (including Amazon RDS), MariaDB, Google Cloud SQL, PostgreSQL (including Amazon RDS and Heroku), Redshift, Vertica, H2, Hsql, Derby, SQLite, SAP HANA, solidDB, Sybase ASE and Phoeni

官網(wǎng)鏈接:https://flywaydb.org/

基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶(hù)小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶(hù)、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

  • 項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 視頻教程:https://doc.iocoder.cn/video/

SpringBoot集成Flyway

2.1 簡(jiǎn)單示例

參考版本信息

7bf71424-7207-11ed-8abf-dac502259ad0.png

參考目錄結(jié)構(gòu)

7c111e8c-7207-11ed-8abf-dac502259ad0.png

1.創(chuàng)建SpringBoot應(yīng)用,并添加flyway-core依賴(lài),本例中將實(shí)現(xiàn)初始化腳本到mysql數(shù)據(jù)庫(kù),因此同時(shí)引入了驅(qū)動(dòng)依賴(lài) mysql-connector-java

<dependency>
<groupId>org.flywaydbgroupId>
<artifactId>flyway-coreartifactId>
<version>7.15.0version>
dependency>

參考pom.xml依賴(lài)如下

<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starterartifactId>
dependency>

<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>

<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-jdbcartifactId>
dependency>

<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.28version>
dependency>

<dependency>
<groupId>org.flywaydbgroupId>
<artifactId>flyway-coreartifactId>
<version>7.15.0version>
dependency>

<dependency>
<groupId>org.junit.jupitergroupId>
<artifactId>junit-jupiter-apiartifactId>
<version>5.8.2version>
<scope>testscope>
dependency>

dependencies>

2.在application.properties中設(shè)置flyway信息

server.port=7002

##是否啟動(dòng),默認(rèn)開(kāi)啟
spring.flyway.enabled = true
##腳本存放路徑
spring.flyway.locations = classpath:db/migration
##當(dāng)flyway第一次運(yùn)行時(shí),會(huì)在我們對(duì)應(yīng)的數(shù)據(jù)庫(kù)中新建一個(gè)記錄腳本運(yùn)行情況的
spring.flyway.table=flyway_schema_history

> 基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶(hù)小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶(hù)、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
>
> * 項(xiàng)目地址:
> * 視頻教程

# flyway指向的數(shù)據(jù)庫(kù)鏈接
spring.datasource.url=jdbc//127.0.0.1:3306/runoob?useUnicode=true&characterEncoding=utf8
# 用戶(hù)名
spring.flyway.user=nacos
# 密碼
spring.flyway.password=nacos
# 數(shù)據(jù)庫(kù)驅(qū)動(dòng)
spring.flyway.driver-class-name=com.mysql.cj.jdbc.Driver

3.腳本整理

將腳本整理到resource/db.migration路徑下,例如

7c2b9b5e-7207-11ed-8abf-dac502259ad0.png

參考SQL腳本信息如下

//V1.20190621.1854__CREATE_PERSION_TABLE.sql腳本內(nèi)容
createtablePERSON(
IDintnotnull,
NAMEvarchar(100)notnull
);

//V1.20190621.1904__INIT_PERSION.sql腳本內(nèi)容
insertintoPERSON(ID,NAME)values(1,'Axel');
insertintoPERSON(ID,NAME)values(2,'Mr.Foo');
insertintoPERSON(ID,NAME)values(3,'Ms.Bar');

sql 目錄中存放腳本文件,腳本名稱(chēng)命名方式

  • 版本化遷移 :執(zhí)行一遍,版本號(hào)唯一,有重復(fù)會(huì)報(bào)錯(cuò):格式:V+版本號(hào) +雙下劃線(xiàn)+描述+結(jié)束符
  • 重復(fù)的遷移 ,不需要版本號(hào),腳本發(fā)生變化啟動(dòng)就會(huì)執(zhí)行:格式:R+雙下劃線(xiàn)+描述+結(jié)束符
  • 撤消遷移 :格式:U+版本號(hào) +雙下劃線(xiàn)+描述+結(jié)束符
7c43493e-7207-11ed-8abf-dac502259ad0.png

4.運(yùn)行啟動(dòng)主類(lèi),運(yùn)行日志如下,從日志中可以看到如下信息

  • 啟動(dòng)后正確鏈接到數(shù)據(jù)庫(kù)runoob
  • 驗(yàn)證2個(gè)遷移腳本成功
  • 使用命令行的方式創(chuàng)建了一張名稱(chēng)為 flyway_schema_history 的記錄表,這里要注意,所有腳本一旦執(zhí)行了就會(huì)在 flyway_schema_history中創(chuàng)建記錄, 如果出錯(cuò)引發(fā)問(wèn)題,可以刪除表中記錄,反正啟動(dòng)的時(shí)候還會(huì)再執(zhí)行,當(dāng)然生產(chǎn)環(huán)境不建議此方法,但生產(chǎn)環(huán)境上部署的包都是驗(yàn)證過(guò)無(wú)問(wèn)題的包也不會(huì)出現(xiàn)此問(wèn)題
  • 執(zhí)行了resource/db.migration 目錄下的兩個(gè)腳本,并執(zhí)行成功
INFO190688---[main]o.f.c.internal.license.VersionPrinter:FlywayCommunityEdition7.15.0byRedgate
INFO190688---[main]o.f.c.i.database.base.BaseDatabaseType:Database:jdbc//127.0.0.1:3306/runoob(MySQL5.7)
INFO190688---[main]o.f.core.internal.command.DbValidate:Successfullyvalidated2migrations(executiontime00:00.016s)
INFO190688---[main]o.f.c.i.s.JdbcTableSchemaHistory:CreatingSchemaHistorytable`runoob`.`flyway_schema_history`withbaseline...
INFO190688---[main]o.f.core.internal.command.DbBaseline:Successfullybaselinedschemawithversion:1
INFO190688---[main]o.f.core.internal.command.DbMigrate:Currentversionofschema`runoob`:1
INFO190688---[main]o.f.core.internal.command.DbMigrate:Migratingschema`runoob`toversion"1.20190621.1854-CREATEPERSIONTABLE"
INFO190688---[main]o.f.core.internal.command.DbMigrate:Migratingschema`runoob`toversion"1.20190621.1904-INITPERSION"
INFO190688---[main]o.f.core.internal.command.DbMigrate:Successfullyapplied2migrationstoschema`runoob`,nowatversionv1.20190621.1904(executiontime00:00.225s)

停止服務(wù)后,重新運(yùn)行日志如下,從日志中可以看到信息

  • 啟動(dòng)后正確鏈接到數(shù)據(jù)庫(kù)runoob
  • 驗(yàn)證2個(gè)遷移腳本成功
  • 本次沒(méi)有重復(fù)執(zhí)行腳本, 日志中打印當(dāng)前腳本編號(hào)20190621.1904, 即最后1次執(zhí)行的腳本
INFO193184---[main]o.f.c.internal.license.VersionPrinter:FlywayCommunityEdition7.15.0byRedgate
INFO193184---[main]o.f.c.i.database.base.BaseDatabaseType:Database:jdbc//127.0.0.1:3306/runoob(MySQL5.7)
INFO193184---[main]o.f.core.internal.command.DbValidate:Successfullyvalidated3migrations(executiontime00:00.024s)
INFO193184---[main]o.f.core.internal.command.DbMigrate:Currentversionofschema`runoob`:1.20190621.1904
INFO193184---[main]o.f.core.internal.command.DbMigrate:Schema`runoob`isuptodate.Nomigrationnecessary.

查看Mysql數(shù)據(jù)庫(kù)

7c677750-7207-11ed-8abf-dac502259ad0.png

2.2 常見(jiàn)問(wèn)題

1.Caused by: org.flywaydb.core.api.FlywayException: Found non-empty schema(s)

Causedby:org.flywaydb.core.api.FlywayException:Foundnon-emptyschema(s)`runoob`butnoschemahistorytable.Usebaseline()orsetbaselineOnMigratetotruetoinitializetheschemahistorytable.
atorg.flywaydb.core.Flyway$1.execute(Flyway.java:200)~[flyway-core-7.15.0.jar:na]
atorg.flywaydb.core.Flyway$1.execute(Flyway.java:170)~[flyway-core-7.15.0.jar:na]
atorg.flywaydb.core.Flyway.execute(Flyway.java:586)~[flyway-core-7.15.0.jar:na]

問(wèn)題原因:第一執(zhí)行的時(shí)候沒(méi)有找到schema history table ,這張表其實(shí)就是application.properties文件中spring.flyway.table屬性配置的表,因此要么使用命令創(chuàng)建一個(gè)或者在application.properties文件中設(shè)置 spring.flyway.baseline-on-migrate=true,

2.Caused by: org.flywaydb.core.api.FlywayException: Unsupported Database: MySQL 5.7

Causedby:org.flywaydb.core.api.FlywayException:UnsupportedDatabase:MySQL5.7
atorg.flywaydb.core.internal.database.DatabaseTypeRegister.getDatabaseTypeForConnection(DatabaseTypeRegister.java:106)~[flyway-core-8.4.2.jar:na]
atorg.flywaydb.core.internal.jdbc.JdbcConnectionFactory.(JdbcConnectionFactory.java:75)~[flyway-core-8.4.2.jar:na]
atorg.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:143)~[flyway-core-8.4.2.jar:na]
atorg.flywaydb.core.Flyway.migrate(Flyway.java:124)~[flyway-core-8.4.2.jar:na]

問(wèn)題原因:flyway-core對(duì)數(shù)據(jù)庫(kù)版本有要求,例如flyway-core的當(dāng)前最高版本V8.4.3,不能使用 MySQL 5.7, 當(dāng)flyway-core 降低到V7.15.0后 問(wèn)題解決,所以匹配flyway-core和數(shù)據(jù)庫(kù)版本后問(wèn)題即可解決

2.3 源碼參考

https://github.com/PNZBEIJINGL/springboot

總結(jié)

本文介紹了Springboot集成flyway方式

  • 使用Flyway之前部署腳本方式一般為開(kāi)發(fā)人員按照順序匯總數(shù)據(jù)庫(kù)的升級(jí)腳, 然后DBA或者售后在生產(chǎn)庫(kù)中按照順序執(zhí)行升級(jí)腳本。
  • 使用Flyway之后部署腳本方式就變更為開(kāi)發(fā)人員將腳本構(gòu)建到程序包中, 部署程序包后啟動(dòng)時(shí)Flyway自動(dòng)執(zhí)行腳本升級(jí)


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    29

    文章

    5602

    瀏覽量

    79470
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3839

    瀏覽量

    64544
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    340

    瀏覽量

    14362
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    174

    瀏覽量

    187

原文標(biāo)題:SpringBoot + Flyway,自動(dòng)化實(shí)現(xiàn)數(shù)據(jù)庫(kù)版本控制

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    分布式云數(shù)據(jù)庫(kù)有哪些類(lèi)型

    分布式云數(shù)據(jù)庫(kù)有哪些類(lèi)型?分布式云數(shù)據(jù)庫(kù)主要類(lèi)型包括:關(guān)系型分布式數(shù)據(jù)庫(kù)、非關(guān)系型分布式數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-15 09:43 ?54次閱讀

    Oracle數(shù)據(jù)庫(kù)的多功能集成開(kāi)發(fā)環(huán)境

    Oracle數(shù)據(jù)庫(kù)的多功能集成開(kāi)發(fā)環(huán)境 快捷菜單中的可視對(duì)象編輯器 上下文感知的SQL代碼補(bǔ)全、智能格式和重構(gòu) 逐步執(zhí)行的自動(dòng)調(diào)試功能 多功能數(shù)
    的頭像 發(fā)表于 01-14 13:52 ?62次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)庫(kù)</b>的多功能集成開(kāi)發(fā)環(huán)境

    數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類(lèi)型?

    數(shù)據(jù)庫(kù)是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫(kù),它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶(hù)提供高效、靈活的數(shù)據(jù)庫(kù)服務(wù)。云數(shù)據(jù)庫(kù)主要分為兩大類(lèi):關(guān)系型數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-07 10:22 ?102次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫(kù)表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫(kù)故障: Mysql數(shù)據(jù)庫(kù)表記錄丟失。 Mysql數(shù)據(jù)庫(kù)故障表現(xiàn): 1、Mysql數(shù)據(jù)庫(kù)表中無(wú)任何數(shù)據(jù)或只有部分
    的頭像 發(fā)表于 12-16 11:05 ?189次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—Mysql<b class='flag-5'>數(shù)據(jù)庫(kù)</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    AI時(shí)代的數(shù)據(jù)庫(kù)技術(shù)發(fā)展論壇亮點(diǎn)前瞻

    可以看到,數(shù)據(jù)庫(kù)技術(shù)作為數(shù)字經(jīng)濟(jì)的基石,在全球范圍內(nèi)正經(jīng)歷著由傳統(tǒng)架構(gòu)向云原生、智能的轉(zhuǎn)型。而AI技術(shù)的融入,使得數(shù)據(jù)庫(kù)系統(tǒng)在性能優(yōu)化、自動(dòng)化管理、智能決策等方面展現(xiàn)出前所未有的潛力
    的頭像 發(fā)表于 12-12 11:31 ?283次閱讀

    LMX2595EVM如何實(shí)現(xiàn)自動(dòng)化控制?

    我需要用LMX2595EVM實(shí)現(xiàn)自動(dòng)化控制,請(qǐng)問(wèn)那里有LMX2595EVM相關(guān)的sdk接口文檔或者Demo?
    發(fā)表于 11-13 06:09

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—通過(guò)拼接數(shù)據(jù)庫(kù)碎片恢復(fù)SQLserver數(shù)據(jù)庫(kù)

    一個(gè)運(yùn)行在存儲(chǔ)上的SQLServer數(shù)據(jù)庫(kù),有1000多個(gè)文件,大小幾十TB。數(shù)據(jù)庫(kù)每10天生成一個(gè)NDF文件,每個(gè)NDF幾百GB大小。數(shù)據(jù)庫(kù)包含兩個(gè)LDF文件。 存儲(chǔ)損壞,數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 10-31 13:21 ?287次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—通過(guò)拼接<b class='flag-5'>數(shù)據(jù)庫(kù)</b>碎片恢復(fù)SQLserver<b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫(kù)故障: SQL Server附加數(shù)據(jù)庫(kù)出現(xiàn)錯(cuò)誤823,附加數(shù)據(jù)庫(kù)失敗。數(shù)據(jù)庫(kù)沒(méi)有備份,無(wú)法通過(guò)備份恢復(fù)數(shù)據(jù)庫(kù)。
    的頭像 發(fā)表于 09-20 11:46 ?382次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫(kù)</b>出現(xiàn)823錯(cuò)誤的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    機(jī)械自動(dòng)化和電氣自動(dòng)化區(qū)別是什么

    機(jī)械自動(dòng)化和電氣自動(dòng)化是現(xiàn)代工業(yè)生產(chǎn)中兩個(gè)重要的領(lǐng)域,它們?cè)谠S多方面有著密切的聯(lián)系,但也存在一些明顯的區(qū)別。 一、基本概念 機(jī)械自動(dòng)化 機(jī)械自動(dòng)化是指利用機(jī)械設(shè)備、傳感器、
    的頭像 發(fā)表于 07-01 09:33 ?4260次閱讀

    機(jī)械自動(dòng)化自動(dòng)化的一種嗎

    引言 自動(dòng)化技術(shù)是指利用控制裝置對(duì)生產(chǎn)過(guò)程進(jìn)行控制,以實(shí)現(xiàn)生產(chǎn)過(guò)程的自動(dòng)化。機(jī)械自動(dòng)化
    的頭像 發(fā)表于 07-01 09:32 ?1755次閱讀

    工業(yè)自動(dòng)化中的控制方式

    工業(yè)自動(dòng)化是現(xiàn)代工業(yè)發(fā)展的重要標(biāo)志,它極大地提高了生產(chǎn)效率,降低了生產(chǎn)成本,并改善了產(chǎn)品質(zhì)量。在工業(yè)自動(dòng)化中,控制方式作為實(shí)現(xiàn)自動(dòng)化
    的頭像 發(fā)表于 06-17 11:41 ?893次閱讀

    如何實(shí)現(xiàn)PLC的自動(dòng)化控制邏輯

    在工業(yè)自動(dòng)化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)扮演著至關(guān)重要的角色。PLC通過(guò)編程實(shí)現(xiàn)自動(dòng)化
    的頭像 發(fā)表于 06-15 16:44 ?1255次閱讀

    機(jī)械制造與自動(dòng)化自動(dòng)化類(lèi)嗎

    機(jī)械制造與自動(dòng)化自動(dòng)化領(lǐng)域的一個(gè)重要分支,它涉及到機(jī)械設(shè)計(jì)、制造、檢測(cè)、控制等多個(gè)方面,是現(xiàn)代制造業(yè)的核心組成部分。 機(jī)械制造與自動(dòng)化是指利用計(jì)算機(jī)、機(jī)器人、傳感器等
    的頭像 發(fā)表于 06-11 11:18 ?1589次閱讀

    工廠自動(dòng)化控制的典型實(shí)現(xiàn)方式

    架構(gòu)設(shè)計(jì) 傳感器與執(zhí)行器的應(yīng)用 控制器與控制策略 人機(jī)交互界面 數(shù)據(jù)采集與分析 通信與網(wǎng)絡(luò)技術(shù) 安全與可靠性 系統(tǒng)集成與優(yōu)化 系統(tǒng)架構(gòu)設(shè)計(jì) 工廠自動(dòng)化
    的頭像 發(fā)表于 06-06 15:51 ?1120次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)】Oracle數(shù)據(jù)庫(kù)ASM實(shí)例無(wú)法掛載的數(shù)據(jù)恢復(fù)案例

    oracle數(shù)據(jù)庫(kù)ASM磁盤(pán)組掉線(xiàn),ASM實(shí)例不能掛載。數(shù)據(jù)庫(kù)管理員嘗試修復(fù)數(shù)據(jù)庫(kù),但是沒(méi)有成功。
    的頭像 發(fā)表于 02-01 17:39 ?549次閱讀
    【<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)】Oracle<b class='flag-5'>數(shù)據(jù)庫(kù)</b>ASM實(shí)例無(wú)法掛載的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例