web-dev-qa-db-fra.com

Comment utiliser / en tant que SYSDBA dans la base de données Pluggable?

J'essaie de faire une exportation, généralement j'utilise userid=\"/ as sysdba\" Syntex dans la ligne de commande Linux (je ne connais pas le mot de passe SYS dans mon environnement de production.

Comment puis-je faire cela à l'aide de la base de données Pluggable? J'ai essayé quelque chose comme ça: userid=\"/ as sysdba@mypdb_Oracle_net\" Mais cela ne fonctionne pas.

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
DBA Jr

Tout d'abord, à exporter d'un PDB, vous ne devriez pas utiliser SYS pour cela. C'est bien sur le point de vue privilégié. Vous devez créer un utilisateur dans la PDB et utiliser cet utilisateur pour vous connecter à la base de données. Vous pouvez utiliser le privilège "exp_full_database" pour accorder les privilèges nécessaires.

Ensuite, vous devez spécifier une chaîne de connexion pour aller directement dans la PDB (via le service correspondant). C'est "mypdb_oracle_net" dans votre exemple. Cependant, si vous le faites, vous devez spécifier le mot de passe pour SYS. Vous ne pouvez pas utiliser l'authentification du système d'exploitation lorsque vous le faites.

Pour résoudre votre problème, je ferais quelque chose comme ça:

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......
3

D'abord, \"/ as sysdba@mypdb_Oracle_net\" ne fonctionnera pas. L'authentification SYSDBA OS ne fonctionnera pas via l'auditeur.

Seconde, \"/ as sysdba\" est défectueux en 19c (par rapport aux versions précédentes), en raison d'un bug:

bug 28707931 - exécutant ImpDP avec authentification OS invite un mot de passe (DOC ID 28707931.8)

Fondamentalement, la pompe à données vous demandera un mot de passe en utilisant ce qui précède, où vous pouvez entrer quelque chose et cela continuera. Le bogue est corrigé en 20.1, ou vous pouvez télécharger un patch ponctuel pour votre version avec un contrat de support valide.

Créez simplement un utilisateur et utilisez son nom et son mot de passe.

2
Balazs Papp