検索
ホームページデータベースmysql チュートリアルDB_FILE_NAME_CONVERT参数导致ORA-15124:ASMfilename'..

RAC主库+DG单机环境中,一旦主备库之前有归档间隔,而这些归档可能由于种种原因被删除,如归档被清理了,备份集策略已经超出所需归档。也不用担心,可以按以下大致步骤做恢复: o 主库上做基于SCN的增量备份 o 将备份传输至备库 o 备库恢复增量备份 o 主库创

RAC主库+DG单机环境中,一旦主备库之前有归档间隔,而这些归档可能由于种种原因被删除,如归档被清理了,备份集策略已经超出所需归档。也不用担心,可以按以下大致步骤做恢复:

o 主库上做基于SCN的增量备份

o 将备份传输至备库

o 备库恢复增量备份

o 主库创建一个standby controlfile,并传输至备库

o 上一步生成的控制文件替换备库的控制文件

这几天遇到个非常奇怪的问题,主库创建standby controlfile时总是报错ORA-15124。这个问题也困扰了自己很多天。

都试过:

o 检查数据库的所有物理文件 asmcmd ls -l来查看

o 检查数据库数据字典 v$database.name / dba_data_files.file_name

o 在asmcmd debug模式下ls -l 查看文件

o 检查ASM的v$asm_file, v$asm_alias等等

o 对ORA-15124做10046和errorstack

o 检查DG备份等等

在创建standby controlfile依旧报错,错误如下:

SQL> show parameter conver;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string /data, +DATA/orcl/datafile
log_file_name_convert string /data, +DATA/orcl/onlinelog

(实际过程中,这两个参数如此配置是没有问题的...)

 

SQL> alter database create standby controlfile as '/tmp/a.ctl' reuse;
alter database create standby controlfile as '/tmp/a.ctl' reuse
*
ERROR at line 1:
ORA-15124: ASM file name '+data/odsptdb+DATAfile/system.259.862837403' containsan invalid alias name

对以上加粗部分的字符串是哪里来的表示非常有疑问!

最终,检查DB_FILE_NAME_CONVERT参数的配置,并且做了以下试验:

SQL> alter session set db_file_name_convert='/data','+abc';
------------------------------------------------------------------------/\\\\\\\\\
Session altered.

SQL> alter database create standby controlfile as '/tmp/a.ctl' reuse;
alter database create standby controlfile as '/tmp/a.ctl' reuse
*
ERROR at line 1:
ORA-15124: ASM file name '+data/odsptdb+abcfile/system.259.862837403' containsan invalid alias name
----------------------------------------------------------/\\\\\\\\\\

SQL> alter session set db_file_name_convert='/data','abc+abc';
-------------------------------------------------------------------------////\\\\
Session altered.

SQL> alter database create standby controlfile as '/tmp/a.ctl' reuse;
alter database create standby controlfile as '/tmp/a.ctl' reuse
*
ERROR at line 1:
ORA-15124: ASM file name '+data/odsptdbabc+abcfile/system.259.862837403' contains an invalid alias name
-------------------------------------------------------------////\\\\

 

SQL> alter session set db_file_name_convert='/data','abc';

Session altered.

SQL> alter database create standby controlfile as '/tmp/a.ctl' reuse;

Database altered.

 

从以上几个试验可以看出,DB_FILE_NAME_CONVERT确实影响了standby controlfile的创建。而且串里不能包含“+” (即加号)

在以往的RAC+ASM中,印象里面DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT参数是可以有“+” (即加号)的,这一次遇到了很奇怪的问题。计划找个时间窗口,将以上两个参数后半部分都改为"+DATA",完全让ASM来管理。

特意在此记录一下。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLはデータレプリケーションをどのように処理しますか?MySQLはデータレプリケーションをどのように処理しますか?Apr 28, 2025 am 12:25 AM

MySQLは、非同期、半同期、およびグループ複製の3つのモードを介してデータの複製を処理します。 1)非同期の複製パフォーマンスは高くなりますが、データが失われる可能性があります。 2)半同期複製により、データセキュリティが向上しますが、遅延が増加します。 3)グループレプリケーションは、高可用性要件に適したマルチマスターレプリケーションとフェールオーバーをサポートします。

説明ステートメントを使用してクエリパフォーマンスを分析するにはどうすればよいですか?説明ステートメントを使用してクエリパフォーマンスを分析するにはどうすればよいですか?Apr 28, 2025 am 12:24 AM

説明ステートメントは、SQLクエリのパフォーマンスを分析および改善するために使用できます。 1.説明ステートメントを実行して、クエリプランを表示します。 2。出力結果を分析し、アクセスの種類、インデックスの使用量に注意し、順序を結合します。 3.分析結果に基づいてインデックスを作成または調整し、結合操作を最適化し、フルテーブルスキャンを回避してクエリ効率を向上させます。

MySQLデータベースをバックアップして復元するにはどうすればよいですか?MySQLデータベースをバックアップして復元するにはどうすればよいですか?Apr 28, 2025 am 12:23 AM

論理バックアップにMySQLDUMPとホットバックアップにMySQLenterPriseBackupを使用することは、MySQLデータベースをバックアップする効果的な方法です。 1. mysqldumpを使用してデータベースをバックアップします:mysqldump-uroot-pmydatabase> mydatabase_backup.sql。 2。ホットバックアップにmysqlenterprisebackupを使用:mysqlbackup - user = root-password = password - backup-dir =/path/to/backupbackup。回復するときは、対応する寿命を使用します

MySQLのスロークエリの一般的な原因は何ですか?MySQLのスロークエリの一般的な原因は何ですか?Apr 28, 2025 am 12:18 AM

MySQLのクエリが遅い主な理由には、インデックスの欠落または不適切な使用、クエリの複雑さ、過剰なデータボリューム、および不十分なハードウェアリソースが含まれます。最適化の提案には以下が含まれます。1。適切なインデックスを作成します。 2。クエリステートメントを最適化します。 3.テーブルパーティションテクノロジーを使用します。 4.適切にハードウェアをアップグレードします。

mysqlのビューは何ですか?mysqlのビューは何ですか?Apr 28, 2025 am 12:04 AM

MySQLビューは、SQLクエリの結果に基づいた仮想テーブルであり、データを保存しません。 1)ビューは複雑なクエリを簡素化し、2)データセキュリティを強化し、3)データの一貫性を維持します。ビューは、テーブルのように使用できるデータベースにクエリを保存しますが、データは動的に生成されます。

MySQLと他のSQL方言の構文の違いは何ですか?MySQLと他のSQL方言の構文の違いは何ですか?Apr 27, 2025 am 12:26 AM

MySQLdiffersfromotherSQLdialectsinsyntaxforLIMIT,auto-increment,stringcomparison,subqueries,andperformanceanalysis.1)MySQLusesLIMIT,whileSQLServerusesTOPandOracleusesROWNUM.2)MySQL'sAUTO_INCREMENTcontrastswithPostgreSQL'sSERIALandOracle'ssequenceandt

MySQLパーティションは何ですか?MySQLパーティションは何ですか?Apr 27, 2025 am 12:23 AM

MySQLパーティション化により、パフォーマンスが向上し、メンテナンスが簡素化されます。 1)大きなテーブルを特定の基準(日付範囲など)、2)物理的に独立したファイルに物理的に分割する、3)MySQLはクエリするときに関連するパーティションに焦点を合わせることができます。

MySQLで特権をどのように許可して取り消しますか?MySQLで特権をどのように許可して取り消しますか?Apr 27, 2025 am 12:21 AM

mysqlで許可を許可および取り消す方法は? 1。grantallprivilegesondatabase_name.to'username'@'host 'などの許可を付与するために付与ステートメントを使用してください。 2。Revokeallprivilegesondatabase_name.from'username'@'host 'など、Revoke Statementを使用して、許可のタイムリーな通信を確保します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません