18. September 200619 j Hallo, wiedermal eine Frage rund um die Migratie oracle 8i nach 9i Users sollen migriert werden in eine andere Datenbank. Hierfuer lege ich die User in der neuen Datenbank neu an. Hierbei sollen allerdings die Passwoerter die in der alter Datenbank gebraucht werden, mitgenomen werden. Users lege ich volgendermassen an # Create other users with TBS xx for usname in user1 user2 user3 do echo "create user $usname" echo "CREATE USER $usname PROFILE DEFAULT IDENTIFIED BY xx DEFAULT TABLESPACE ${DEF_TBS} TEMPORARY TABLESPACE ${TEMP_TBS} ACCOUNT UNLOCK; exit"| sqlplus -s ${USERNAME}/${PASSWORD} >> $LOG_FILE done; Jetzt hat jeder User das Passwort xx. Nun soll dies angepasst werden, sodass der user sein altes Passwort behalten kann. Ich habe hier ein beispiel kann damit aber nicht viel anfangen. Kann mir jemand erklaeren was bei diesem Beispiel passiert? Und wie kann ich es letzendlich gebrauchen? select 'alter user ' ||username || ' identified by values ' || '''' || password ||''';' from dba_users where username in ('user1','user2','user3'); Schon mal vielen Dank.
18. September 200619 j Ich habe hier ein beispiel kann damit aber nicht viel anfangen. Kann mir jemand erklaeren was bei diesem Beispiel passiert? Und wie kann ich es letzendlich gebrauchen? select 'alter user ' ||username || ' identified by values ' || '''' || password ||''';' from dba_users where username in ('user1','user2','user3'); dieses dynamische SQL "baut" per SELECT eine liste mit 'alter user' statements, und zwar pro user. in der alten DB aufgerufen, spuckt es die alten PW als sogenannter salt aus, welcher dann in der neuen DB mittels "identified by values <und hier das passwort aber nicht im klartext>" die zuvor neu angelegten user ändert. s'Amstel
19. September 200619 j Hallo, vielen Dank fuer die Erklaerung. Ich verstehe nun was ich als Resultaat erhalte. Gerne wuerde ich noch wissen wie genau diese Liste erstellt wird, dies verstehe ich noch nicht. Wie ist das aufgebaut. Normalerweise habe ich select spaltenname [, spaltenname][,spaltenname]... from .... Wie muss ich das verstehen was jetzt anstelle der Spaltennamen steht? was bedeuten die || ? Kann ich auf Internet etwas finden, wie ich solche Anweisungen schreiben kann? Danke und schoene Gruesse,
19. September 200619 j Gerne wuerde ich noch wissen wie genau diese Liste erstellt wird, dies verstehe ich noch nicht. Wie ist das aufgebaut. Normalerweise habe ich select spaltenname [, spaltenname][,spaltenname]... from .... Wie muss ich das verstehen was jetzt anstelle der Spaltennamen steht? du kannst in queries ja anstelle von spaltennamen aus realen tabellen so ziemlich alles verwenden, was es gibt: funktionen, proceduren, strings, ausdrücke. du kannst dort mit zahlen und datumsangaben rechnen, etc. was bedeuten die || ? die || konkatenieren strings (also hängen diese zusammen). ein select 'hallo' || 'echen' from dual; ergibt ERGEBNIS halloechen Kann ich auf Internet etwas finden, wie ich solche Anweisungen schreiben kann? meine empfehlung: http://orafaq.com/ und von dort aus weitersurfen. oder mal bei oracle OTN reinschauen. dort liegen auch alle manuals. s'Amstel
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.