Modifica della password con Oracle SQL Developer


139

Molti dei miei utenti non usano SQLPlus. Non posso dare loro un utente diverso. Scadiamo le password ogni 60 giorni.

Non riesco a far funzionare il comando SQLPlus "password" nello sviluppatore SQL.

  1. Quando premo run, ricevo un errore di comando non valido
  2. Quando premo run script, non succede nulla.

Non voglio scrivere loro un pacchetto per cambiare le loro password poiché abbiamo molti database. Ho un'opzione migliore?


4
Non è possibile modificare una password scaduta in SQL Developer tramite il comando SQL. Non è supportato nello stack JDBC. Per questo sono necessarie le librerie OCI. Lo sviluppatore SQL ha un'opzione per reimpostare e scadere la password tramite lo stack OCI se è stato installato correttamente. Vedi la mia risposta per tutti i dettagli.
Frobbit

Puoi farlo con SQL Developer 4.1.0.17. Vedi la mia risposta qui sotto.
Analisi fuzzy

Risposte:


190

La sintassi corretta per l'aggiornamento della password utilizzando SQL Developer è:

alter user user_name identified by new_password replace old_password ;

Puoi controllare più opzioni per questo comando qui: ALTER USER-Oracle DOCS


29
Inoltre, potrebbe essere necessario racchiudere le password tra virgolette doppie per evitare caratteri speciali nella password. Ad esempio, alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!"Maggiori informazioni su asktom.oracle.com/pls/asktom/…
Bryant Bowman,

6
Se il tuo pwd è scaduto, buona fortuna accedendo per eseguire questo. Risposte Una domanda, ma non LA domanda.
Ben George,

105

In un foglio di lavoro SQL:

  • Digita "password" (senza virgolette)

  • Evidenzia, premi CTRL+ ENTER.

  • Viene visualizzata la schermata di modifica della password.


4
Puoi anche fare "password someusername"
Anna,

3
Suppongo che intendi l'azione "Esegui istruzione". La scorciatoia predefinita sembra essere Ctrl + Invio .
Álvaro González,

70

SQL Developer ha un'opzione di reimpostazione della password integrata che può funzionare in base alla tua situazione. Richiede anche l'aggiunta di Oracle Instant Client alla workstation. Quando il client istantaneo si trova nel percorso all'avvio dello sviluppatore SQL, verrà abilitata la seguente opzione:

Sviluppatore SQL: menu a discesa che mostra l'opzione di reimpostazione della password

Oracle Instant Client non ha bisogno dei privilegi di amministratore per l'installazione, ma solo la possibilità di scrivere in una directory e aggiungere quella directory al percorso degli utenti. La maggior parte degli utenti ha i privilegi per farlo.

Riepilogo: per utilizzare Reimposta password su Oracle SQL Developer:

  1. È necessario decomprimere Oracle Instant Client in una directory
  2. È necessario aggiungere la directory Oracle Instant Client al percorso degli utenti
  3. È quindi necessario riavviare Oracle SQL Developer

A questo punto è possibile fare clic con il pulsante destro del mouse su un'origine dati e reimpostare la password.

Vedi http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/ per una guida completa

Vedi anche il commento nei documenti dell'oracolo: http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

Una configurazione alternativa per consentire a SQL Developer (testato sulla versione 4.0.1) di riconoscere e utilizzare Instant Client su OS X è:

  1. Imposta il percorso per Instant Client in Preferenze -> Database -> Avanzate -> Usa Oracle Client
  2. Verificare che il client dell'istanza possa essere caricato correttamente utilizzando le opzioni Configura ... -> Test ... dalla finestra di dialogo delle preferenze
  3. (OS X) Fare riferimento a questa domanda per risolvere i problemi relativi alla variabile di ambiente DYLD_LIBRARY_PATH. Ho usato il comando seguente e quindi ho riavviato SQL Developer per rilevare la modifica:

    $ launchctl setenv DYLD_LIBRARY_PATH / path / to / oracle / instantclient_11_2


1
Non disponibile per tutti gli utenti 80 (
Keng

hmmm, non sembra funzionare per me. Mi chiedo se l'aggiornamento del PERCORSO sia davvero tutto ciò che devi fare, su un Mac.
fudo,

Uso un mac a casa, ma un PC Windows al lavoro. Presto passeremo ai mac .. Se trovo i dettagli li posterò.
Frobbit,

1
Google è molto utile :-) con esso ho trovato: oracle.com/technetwork/topics/linuxx86-64soft-092277.html che potrebbe diventare obsoleto. Per google di nuovo usa goo.gl/kU5ZdM
Frobbit

1
Grazie, ha funzionato su Windows 7 64 bit. Ho dovuto fare un ulteriore passaggio (che è lo stesso del primo passaggio nella configurazione di OS X sopra), altrimenti l'opzione 'reset password' rimarrebbe disattivata. 4. Imposta il percorso per Instant Client in Preferenze -> Database -> Avanzate -> Usa Oracle Client
marciowerner

24

I tuoi utenti possono comunque cambiare le loro password "modifica solo userTheirUserName identificato da newpassword". Non devono avere il privilegio ALTER USER per cambiare la propria password.


16

A seconda delle impostazioni dell'amministratore, potrebbe essere necessario specificare la vecchia password utilizzando l'opzione REPLACE

alter user <username> identified by <newpassword> replace <oldpassword> 

la nuova password e la vecchia password possono essere uguali?
Haris Mehmood,

2
Questa risposta è sbagliata newpassword e oldpassword vengono trasposti. Utilizzare stackoverflow.com/a/10809140/643483~~V~~singular~~3rd invece
Aaron Kurtzhals

1
@AaronKurtzhals La risposta che fai riferimento dice la stessa cosa che fa la mia risposta. Fai
Gerry Gurevich,

La cosa principale da aggiungere (che è stato fatto da @pgs nella sua risposta su questa stessa domanda) è che potresti aver bisogno di mettere virgolette intorno alle password se contengono caratteri speciali.
Gerry Gurevich,

10

Per chiarire un po ':

Se il nome utente: abcdef e la vecchia password: a123b456, nuova password: m987n654

modifica utente abcdef identificato da m987n654 sostituzione a123b456 ;


9

Mi rendo conto che ci sono molte risposte, ma ho trovato una soluzione che potrebbe essere utile ad alcuni. Ho riscontrato lo stesso problema, sto eseguendo Oracle SQL sul mio computer locale e ho un sacco di utenti. Mi capita di ricordare la password di uno dei miei utenti e l'ho usata per reimpostare la password di altri utenti.

passi:

  1. connettersi a un database utilizzando un utente e una password validi, nel mio caso tutti i miei utenti sono scaduti tranne "sistema" e ricordo quella password

  2. trova il nodo "Altri_utente" all'interno dell'albero come mostrato nell'immagine seguente

inserisci qui la descrizione dell'immagine

3.nell'albero "Altro_utente" trova i tuoi utenti di cui desideri reimpostare la password e fai clic con il tasto destro del mouse sulla nota e seleziona "Modifica utenti"

inserisci qui la descrizione dell'immagine

4. compilare la nuova password nella finestra di dialogo Modifica utente e fare clic su "Applica". Assicurati di aver deselezionato "Password scaduta (l'utente deve cambiare il prossimo accesso)".

inserisci qui la descrizione dell'immagine

E quello ha funzionato per me, non è buono come altra soluzione perché devi essere in grado di accedere ad almeno un account ma funziona.


7

Ho confermato che funziona in SQL Developer 3.0.04. Le nostre password devono avere un carattere speciale, quindi nel nostro caso è necessaria la stringa tra virgolette doppie. Ovviamente, questo funziona solo se la password non è già scaduta e se si è attualmente connessi.

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"

3
Questa risposta è sbagliata newpassword e oldpassword vengono trasposti. Utilizzare stackoverflow.com/a/10809140/643483~~V~~singular~~3rd invece
Aaron Kurtzhals

3

Prova questa soluzione se l'opzione Reimposta password (di SQL Developer) non ha funzionato :

Passaggio 1: Apri Esegui riga di comando SQL (dal menu Start, fornito con il pacchetto di installazione di SQL Developer)

Passaggio 2: eseguire i comandi seguenti:

inserisci qui la descrizione dell'immagine

Nota: se la password è già scaduta, l' Changing password for <user>opzione verrà automaticamente.


2

L'opzione di reimpostazione della password integrata potrebbe non funzionare per l'utente. In questo caso la password può essere resettata usando la seguente istruzione SQL:

ALTER user "user" identified by "NewPassword" replace "OldPassword";

1

puoi trovare l'utente nella tabella DBA_USERS come

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

Ora vai su sys / system (amministratore) e usa query

ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"

Per verificare lo stato dell'account basta passare attraverso

SELECT * FROM DBA_USERS.

e puoi vedere lo stato del tuo utente.


1

Ora puoi farlo in SQL Developer 4.1.0.17 , non è richiesto nessun PL / SQL, supponendo che tu abbia un altro account con privilegi di amministratore:

  1. Creare una connessione al database in SQL Developer 4.1.0.17 con un utente amministrativo alternativo
  2. Espandi la sezione "Altri utenti" una volta connesso e fai clic con il pulsante destro del mouse sull'utente la cui password è scaduta. Scegli "Modifica utente".
  3. Deseleziona la casella di controllo "Password scaduta ...", digita una nuova password per l'utente e premi "Salva".
  4. Lavoro fatto! È possibile eseguire il test connettendosi con l'utente la cui password era scaduta, per confermare che ora è di nuovo valida.

1

Esiste un altro modo per reimpostare la password tramite il prompt dei comandi ...

1) Vai alla cartella del database Oracle (nel mio caso Oracle Database 11g Express Edition) nel menu di avvio.

2) All'interno di quella cartella, fai clic su "Esegui riga di comando SQL"

Immagine della cartella del database Oracle

3) Digita " connetti nome utente / password " (nome utente e vecchia password senza virgolette)

4) Il messaggio visualizzato è ...

ERRORE: ORA-28001: la password è scaduta

Modifica password per ora

-> Nuova password:

Inserisci nome utente, password immagine

5) Digitare la nuova password

6) Digitare nuovamente la nuova password

7) Il messaggio visualizzato è ...

Password modificata Connesso.

SQL>

8) VAI allo sviluppatore SQL -> digita la nuova password -> connesso


Mentre il PO è ancora attivo, 5 anni dopo la domanda, la risposta potrebbe non essere più pertinente.
Fragola,

@Strawberry se risponde alla domanda, perché no? !!
Muhammed Refaat,

1

Una nota per le persone che potrebbero non avere la password impostata per sysdba o sys e che utilizzano regolarmente un client di terze parti. Ecco alcune informazioni su come accedere a sqlplus da riga di comando senza una password che mi ha aiutato. A proposito, sto usando Fedora 21.

locate sqlplus

Nel mio caso, sqlplus si trova qui:

/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh

Adesso corri

cd /u01/app/oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba

Ora devi connetterti al database con le tue vecchie credenziali. Puoi trovare il modello fornito da Oracle nel tuo output:

Use "connect username/password@XE" to connect to the database.

Nel mio caso ho l'utente "oracle" con password "oracle", quindi il mio input è simile

connect oracle/oracle@XE

Fatto. Ora digita la tua nuova password due volte. Quindi se non vuoi più che la tua password scada, potresti correre

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.