Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 20.04.2010 um 20:40:36 Uhr
Verschoben von "Programmiersprachen" gen "Datenbanken".

Oracle User-Management Skript

Frage Entwicklung Datenbanken

Mitglied: LordCillin

LordCillin (Level 1) - Jetzt verbinden

08.04.2010, aktualisiert 20.04.2010, 2839 Aufrufe, 2 Kommentare

Hallo,

ich habe vor mir eine Oracle 11g Datenbank und möchte für den Nachfolger meiner seits ein Skript erstellen, welches mit einfachen Schritten einen Nutzer anlegt, Rechte setzt und einen Trigger für diesen hinzufügt.

Folgender Aufbau noch als mein Ansatz:

DECLARE 
 
  USERNAME VARCHAR2(200) := ; 
   
  USERPASS VARCHAR2(200) := ; 
   
  DEFAULTTABLESPACE VARCHAR2(200) := ; 
   
  DEFAULTTEMPSPACE VARCHAR2(200) := ; 
   
  DEFAULTPROFILE VARCHAR2(200) := ; 
   
  LOGINSCHEMA VARCHAR2(200) := ; 
 
BEGIN 
 
  CREATE USER USERNAME IDENTIFIED BY USERPASS DEFAULT TABLESPACE DEFAULTTABLESPACE TEMPORARY TABLESPACE DEFAULTTEMPSPACE; 
  ALTER USER USERNAME profile DEFAULTPROFILE; 
 
  GRANT CONNECT TO USERNAME; 
   
  -- Give the user the table rigths    
  -- Give the user the execute rigths
Grund ist, dass sich mein Nachfolger nicht besonders gut auskennen wird, deshalb wollte ich, dass er nur die Variablen neu belgen muss und anschließend das Skript ausführt und alles erledigt wird. Problem ist nun (zumindest ist das meine Meinung), dass ich bei den Variablen kein "varchar2" nehmen darf da dies mit der "CREATE USER" Anweisung nicht hinhaut.

Vielen Dank schonmal für die Antworten!!

MfG
Mitglied: Bolle97
08.04.2010 um 11:48 Uhr
Hallo,

Du musst das mit "Dynamisches SQL" machen und so in etwa wie folgt aufdröseln:
01.
DECLARE     
02.
USERNAME VARCHAR2(200) := 'ABC';       
03.
USERPASS VARCHAR2(200) := 'DEF';       
04.
DEFAULTTABLESPACE VARCHAR2(200) := 'DEF_TBS';       
05.
DEFAULTTEMPSPACE VARCHAR2(200) := 'DEF_TEMP';       
06.
DEFAULTPROFILE VARCHAR2(200) := 'DEF_PROF';       
07.
LOGINSCHEMA VARCHAR2(200) := 'LOG_SCHEMA';   
08.
 
09.
S1 VARCHAR2(1024); 
10.
 
11.
BEGIN   
12.
S1 := 'CREATE USER ' || USERNAME || ' IDENTIFIED BY ' || USERPASS ||' DEFAULT TABLESPACE ' || DEFAULTTABLESPACE || ' TEMPORARY TABLESPACE ' || DEFAULTTEMPSPACE; 
13.
execute immediate s1; 
14.
S1 := 'ALTER USER ' || USERNAME || ' profile ' || DEFAULTPROFILE;     
15.
execute immediate s1; 
16.
S1 := 'GRANT CONNECT TO ' || USERNAME;  
17.
execute immediate s1; 
18.
 
19.
END; 
20.
 
Gruß René
Bitte warten ..
Mitglied: Biber
20.04.2010 um 20:39 Uhr
Moin LordCillin,

Vielen Dank schonmal für die Antworten!!
Okay, Bolle97 schein damit umgehen zu können.
Ich dagegen bin da etwas neugieriger.

Hat es geklappt? Hast du es ausprobiert? Hast du etwas Eleganteres? Hast es sich erledigt? Magst du einen Grünen Haken spendieren?

Bitte um Feedback.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MSSQL Management Studio Generiere Skript automatisieren (2)

Frage von 115122 zum Thema Datenbanken ...

Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Datenbanken
Skript - Oracle Datenbank (1)

Frage von tweety2007 zum Thema Datenbanken ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...

Netzwerke
Vorschlag Hotelverkabelung (14)

Frage von FA-jka zum Thema Netzwerke ...