2010-06-21 51 views
102

Molti dei miei utenti non utilizzare sqlplus. Non posso dargli cambiare utente. Scadiamo password ogni 60 giorni.modifica della password con SQL Developer Oracle

non riesco a ottenere il comando sqlplus "password" per lavorare in SQL Developer.

  1. Quando mi ha colpito corsa, ottengo un errore comando non valido
  2. Quando mi ha colpito Esegui script, non succede nulla.

Non voglio scrivere loro un pacchetto per modificare le loro password poiché abbiamo un sacco di database. Ho una soluzione migliore?

+3

Non è possibile modificare una password scaduta in SQL Developer tramite il comando SQL. Non è supportato nello stack JDBC. Hai bisogno delle librerie OCI per questo. Lo sviluppatore SQL ha un'opzione per reimpostare e scadere la password tramite lo stack OCI se è stato installato correttamente. Vedere la mia risposta per i dettagli completi. – Frobbit

+0

È possibile farlo con SQL Developer 4.1.0.17. Vedi la mia risposta qui sotto. – fuzzyanalysis

risposta

23

Gli utenti possono comunque modificare le proprie password "alterare l'utente onlyTheirUserName identificato da newpassword". Non è necessario il privilegio ALTER USER per modificare la propria password.

11

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

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

la nuova password e la vecchia password possono essere uguali? –

+1

Questa risposta è sbagliata. newpassword e oldpassword sono state trasposte. Usa http://stackoverflow.com/a/10809140/643483 invece –

+0

@AaronKurtzhals La risposta che hai indicato dice la stessa cosa della mia risposta. Fai riferimento ai documenti oracle qui: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4003.htm –

10

Per rendere un po 'chiaro:

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

alter utente abcdef identificato da m987n654 sostituire a123b456;

134

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

alter user user_name identified by "new_password" replace "old_password" ;

Potete controllare più opzioni per questo comando qui: http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_4003.htm#i2058207

+23

Inoltre, potrebbe essere necessario racchiudere la/e password/e tra virgolette per evitare qualsiasi carattere speciale nella password. Ad esempio, 'alter utente __user_name__ identificato da" newp @ ss !!! " sostituisci "oldp @ ss !!!" 'Ulteriori informazioni su http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::1111QUESTION_ID:897930000346894755 –

+3

Se il tuo pwd è scaduto, allora buona fortuna per accedere a questo. Risposte Una domanda, ma non LA domanda. –

8

ho confermato questo funziona in SQL Developer 3.0.04. Le nostre parole d'accesso sono tenuti ad avere un carattere speciale, quindi la stringa con virgolette doppie è necessaria nel nostro caso. Naturalmente, questo funziona solo non se la password è già scaduto e si è attualmente connessi

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

Questa risposta è sbagliata. newpassword e oldpassword sono state trasposte. Usa http://stackoverflow.com/a/10809140/643483 invece –

77

In un foglio di lavoro di SQL:.

digitare "password" (senza le virgolette) Evidenziare, ha colpito CTRL + INVIO. schermo modifica della password viene in su.

+4

Puoi anche fare "password nomeutente" – Anna

+3

Suppongo che intendi l'azione "Esegui istruzione". La scorciatoia predefinita sembra essere ** Ctrl + Invio **. –

41

SQL Developer ha un'opzione di reimpostazione della password incorporata che può funzionare per la situazione. Richiede l'aggiunta di Oracle Instant Client anche alla workstation. Quando il cliente istante è nel percorso quando sviluppatore SQL lancia si otterrà la seguente opzione abilitata:

SQL Developer: Drop Down menu showing reset password option

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

Recap: Per poter utilizzare Password Reset su Oracle SQL Developer:

  1. È necessario decomprimere il client di instant Oracle in una directory
  2. È necessario aggiungere la directory Oracle Instant client al percorso utenti
  3. È necessario riavviare Oracle SQL Developer

a questo punto si può fare clic destro un'origine dati e reimpostare la password.

Vedi http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/ per un completo walk-through

veda anche il commento nella documentazione di Oracle: http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

una configurazione alternativa di avere SQL Developer (testato su versione 4.0.1) di riconoscere e utilizzare Instant client su OS X è:

  1. Imposta percorso di Instant client in Preferenze -> Database -> Avanzate -> Usa Oracle client
  2. Verificare che il client Instance possa essere caricato correttamente utilizzando le opzioni Configura ... -> Test ... dalla finestra delle preferenze
  3. (OS X) Fare riferimento a this question per risolvere i problemi relativi alla variabile di ambiente DYLD_LIBRARY_PATH. Ho usato il seguente comando e quindi riavviato SQL Developer per raccogliere il cambiamento:

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

+1

Non disponibile per tutti gli utenti 80 ( – Keng

+0

hmmm, non sembra funzionare per me. Mi chiedo se aggiornare PATH è davvero tutto quello che devi fare, su un Mac. – fudo

+0

Io uso un Mac una casa, ma un PC Windows al lavoro. Stiamo passando a macs presto ..Se trovo i dettagli li posterò. – Frobbit

0

Il built-in opzione di reimpostazione della password potrebbe non funzionare per utente. In questo caso, la password può essere azzerato utilizzando istruzione SQL seguente:

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

è possibile trovare l'utente nella tabella DBA_USERS come

SELECT profile 
FROM dba_users 
WHERE username = 'MacsP' 

Ora andate al sys/sistema (amministratore) e utilizzare interrogazione

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

Per verificare lo stato del conto basta andare attraverso

SELECT * FROM DBA_USERS. 

e puoi vedere lo stato del tuo utente.

1

Ora è possibile farlo in SQL Developer 4.1.0.17, senza PL/SQL necessario, a patto di avere un altro account con privilegi amministrativi:

  1. creare una connessione al database in SQL Developer 4.1.0.17 con una amministrativa alternativa utente
  2. Espandere la sezione "Altri utenti" una volta connessi e fare clic con il pulsante destro del mouse sull'utente la cui password è scaduta. Scegli "Modifica utente".
  3. Deselezionare la casella di controllo "Password scaduta ...", digitare una nuova password per l'utente e premere "Salva".
  4. Lavoro fatto!È possibile verificare connettendosi con l'utente la cui password è scaduta, per confermare che ora è di nuovo valida.
0

C'è un altro modo per resettare la password attraversoprompt dei comandi ...

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

2) All'interno di questa cartella click "Esegui SQL Commandline"

Oracle Database Folder image

3) Tipo "connect username/password" (il tuo nome utente e la vecchia password senza le virgolette)

4) Il messaggio visualizzato è ...

E Rror: ORA-28001: la password è scaduta

Cambiare la password per hr

-> Nuova password:

Enter Username, Password image

5) digitare la nuova password

6) Ridigita la nuova password

7) Il messaggio visualizzato è ...

Password modificata Connesso.

SQL>

8) Vai SQL Developer -> digitare la nuova password -> connected

+0

Mentre l'OP è ancora attivo, 5 anni dopo la domanda, la risposta potrebbe non essere più pertinente. – Strawberry

+0

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

0

Una nota per le persone che potrebbero non avere la password impostata per sysdba o sys e utilizzare regolarmente un cliente di terze parti. Ecco alcune informazioni su come accedere a command line sqlplus senza una password che mi ha aiutato. Sto usando fedora 21 a proposito.

locate sqlplus 

Nel mio caso, sqlplus si trova qui:

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

Ora gestiscono

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

Ora è necessario connettersi al database con i tuoi vecchi credenziali. Potete trovare Oracle fornito modello nella vostra uscita:

Use "connect username/[email protected]" to connect to the database. 

Nel mio caso ho utente "Oracle" con password "Oracle" così il mio ingresso assomiglia

connect oracle/[email protected] 

Fatto.Ora digita la nuova password due volte. Quindi se non si desidera che la password scada più si potrebbe correre

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 
2

mi rendo conto che ci sono molte risposte, ma ho trovato una soluzione che può essere utile per alcuni. Ho incontrato lo stesso problema, sto eseguendo Oracle sql sul mio computer locale e ho un sacco di utenti. Mi è capitato di ricordare la password per uno dei miei utenti e l'ho usata per reimpostare la password di altri utenti.

Passi:

  1. connettersi a un database utilizzando un utente valido e una password, nel mio caso tutti i miei utenti sono scadute ad eccezione di "sistema" e mi ricordo che la password

  2. trovare i "Other_users" nodo all'interno dell'albero come immagine qui sotto mostra

enter image description here

3.Within l'albero "Other_users" Trova il tuo utenti che si desidera reimpostare la password di e fare clic destro la nota e selezionare "Modifica utenti"

enter image description here

4.fill la nuova password in Edit finestra di dialogo utente e fare clic su "Applica". Assicurati di aver deselezionato "Password scaduta (l'utente deve cambiare accesso successivo)".

enter image description here

e che ha funzionato per me, non è così buono come altra soluzione perché è necessario essere in grado di accedere ad almeno un account ma funziona.

Problemi correlati