web-dev-qa-db-ja.com

プラガブルデータベースでsysdbaとして/を使用する方法

エクスポートしようとしています。通常はuserid=\"/ as sysdba\" Linuxコマンドラインのsyntex(実稼働環境ではsysパスワードがわかりません。

プラガブルデータベースを使用してこれを行うにはどうすればよいですか?私はこのようなことを試しました:userid=\"/ as sysdba@mypdb_Oracle_net\"が機能しません。

expdp userid=\"/ as sysdba@mypdb_Oracle_net\" dumpfile=full_%U.exp logfile=full.log directory=teste full=y parallel=4 version=11.2.0

Export: Release 19.0.0.0.0 - Production on Tue Mar 10 11:18:06 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
UDE-00002: invalid username or password

Username:
1

まず、PDBからエクスポートするには、SYSを使用しないでください。それは非常に特権的です。 PDBにユーザーを作成し、そのユーザーを使用してデータベースに接続する必要があります。権限「exp_full_database」を使用して、必要な権限を付与できます。

次に、(関連サービスを介して)PDBに直接移動するための接続文字列を指定する必要があります。あなたの例では「mypdb_Oracle_net」です。ただし、その場合は、SYSのパスワードを指定する必要があります。この場合、OS認証を使用できません。

あなたの問題を解決するために、私はこのようなことをします:

SQLPLUS / AS SYSDBA
ALTER SESSION SET CONTAINER=mypdb;
CREATE USER EXPORT_USER IDENTIFIED BY YOUR_PASSWORD;
GRANT CREATE SESSION TO EXPORT_USER;
GRANT exp_full_database TO EXPORT_USER;

EXPDP EXPORT_USER/YOUR_PASSWORD@mypdb_Oracle_net dumpfi......

まず第一に、 \"/ as sysdba@mypdb_Oracle_net\" 動作しないでしょう。 SYSDBA OS認証はリスナーを介して機能しません。

第二に、\"/ as sysdba\"はバグのため、19cでは(以前のバージョンと比較して)欠陥があります。

バグ28707931-OS認証プロンプトでIMPDPを実行するとパスワードが要求される(Doc ID 28707931.8)

基本的に、Data Pumpは上記を使用してパスワードを要求します。ここでは、何でも入力でき、続行します。バグは20.1で修正されています。または、有効なサポート契約を結んでいるバージョンの個別パッチをダウンロードできます。

ユーザーを作成し、その名前とパスワードを使用するだけです。

3
Balazs Papp