CREATE GROUP

Mit dem CREATE GROUP-Befehl können Sie eine Gruppe erstellen.

Eine Netezza Performance Server kann einer oder beide der folgenden Typen sein:
Benutzergruppe
Eine Gruppe mit mindestens einem Mitglied wird als Benutzergruppe bezeichnet. Jedes Mitglied einer Benutzergruppe übernimmt die Berechtigungen und anderen Einstellungen, mit Ausnahme des minimalen Werts für Ressourcen sowie des maximalen Werts für Ressourcen und Jobs. Benutzergruppen werden zur Vereinfachung der Zugriffsverwaltung verwendet.
Ressourcengruppe
Eine Gruppe, die einen Wert ungleich null für den Mindestressourcenprozensatz angibt, wird als Ressourcengruppe bezeichnet. Jede Ressourcengruppe gibt (explizit oder standardmäßig) auch einen maximalen Wert für Ressourcen und Jobs an. Diese drei Einstellungen werden als Ressourceneinstellungen der Gruppe bezeichnet. Jeder Benutzer wird genau einer Ressourcengruppe zugewiesen. Ressourcengruppen werden für das Workload-Management verwendet.
Eine Gruppe kann sowohl eine Benutzergruppe als auch eine Ressourcengruppe sein, aber ihre Benutzergruppen- und Ressourcengruppenaspekte, einschließlich der Benutzergruppenzugehörigkeit und Ressourcengruppenzuordnung, werden vollständig voneinander getrennt gehalten:
  • Ein Benutzer ist möglicherweise einer Ressourcengruppe zugewiesen, aber kein Mitglied dieser Gruppe. Die Berechtigungen oder Einstellungen der Gruppe haben keine Auswirkung auf den Benutzer, mit Ausnahme der Ressourceneinstellungen.
  • Ein Benutzer ist möglicherweise Mitglied einer Benutzergruppe, aber einer anderen Ressourcengruppe zugewiesen. Die Ressourceneinstellungen der Benutzergruppe haben keine Auswirkung auf diesen Benutzer.

Syntax

Syntax für das Erstellen einer Gruppe:
CREATE GROUP name [WITH <clause> [<clause>…] ]
Dabei steht ' <clause> für einen der folgenden Werte:
SYSID <groupid> |
DEFPRIORITY {CRITICAL|HIGH|NORMAL|LOW|NONE} |
MAXPRIORITY {CRITICAL|HIGH|NORMAL|LOW|NONE} |
ROWSETLIMIT <rslimit> |
SESSIONTIMEOUT <sessiontimeout> |
QUERYTIMEOUT <querytimeout> |
CONCURRENT SESSIONS <concsessions> |
RESOURCE MINIMUM <min_percent> |
RESOURCE MAXIMUM <max_percent> |
JOB MAXIMUM <jobmax> |
COLLECT HISTORY {ON|OFF|DEFAULT} |
ALLOW CROSS JOIN {TRUE|FALSE|NULL} |
PASSWORDEXPIRY <days>
ACCESS TIME {ALL|DEFAULT|(<access_time>[,<access_time>…])} |
USER  <user>[,<user>…]
Dabei steht ' <access-time> für:
DAY { ALL | <day>[,<day>…] } [ START <time> END <time> ]

Eingaben

Für den CREATE GROUP-Befehl sind die folgenden Eingaben zulässig:

Tabelle 1. Eingabe für CREATE GROUP
Eingabe Beschreibung
<name> Der Name der zu erstellenden Gruppe. Dieser Name muss unter den globalen Objekten eindeutig sein, das heißt, keine andere Gruppe, keine Datenbank, kein Benutzer und keine Schedulerregel darf denselben Namen haben.
SYSID Die ID, die der neuen Gruppe zugeordnet werden soll. Standardmäßig wird der höhere der folgenden Werte verwendet:
  • 1
  • Die derzeit höchste Gruppen-ID plus 1
DEFPRIORITY Die Standardpriorität für Abfragen, die von den Benutzern abgesetzt wurden, die Mitglied der Gruppe sind.
MAXPRIORITY Die maximale Priorität für eine Abfrage, die von den Benutzern abgesetzt wurden, die Mitglied der Gruppe sind.
ROWSETLIMIT Die maximale Anzahl Zeilen, die eine Abfrage zurückgeben kann, die von einem Benutzer erstellt wurde, der Mitglied der Gruppe ist. Möglicher Wert:
  • Eine Zahl im Bereich 1 - 2.147.483.647
  • 0 für eine unbegrenzte Anzahl Zeilen (dies ist der Standardwert)
SESSIONTIMEOUT Die Anzahl Minuten, die eine Sitzung inaktiv sein kann, bevor sie vom System beendet wird. Möglicher Wert:
  • Eine Zahl im Bereich 1 - 35.791.394
  • 0 für eine unbegrenzte Anzahl Minuten (dies ist der Standardwert)
QUERYTIMEOUT Die Anzahl Minuten, die eine Abfrage ausgeführt werden kann, bevor das System den Administrator benachrichtigt. Möglicher Wert:
  • Eine Zahl im Bereich 1 - 35.791.394
  • 0 für eine unbegrenzte Anzahl Minuten (dies ist der Standardwert)

Damit der Administrator die ausgegebene Nachricht erhält, muss die RunAwayQuery-Ereignisregel aktiviert werden. Diese Regel wird im IBM® Netezza® System Administrator's Guide beschrieben.

CONCURRENT SESSIONS Die maximale Anzahl Sitzungen, die für ein Mitglied dieser Gruppe gleichzeitig bestehen können. Möglicher Wert:
  • Eine Zahl im Bereich 1 - 35.791.394
  • 0 für eine unbegrenzte Anzahl Sitzungen (dies ist der Standardwert)
Bei der Einstellung 0 kann für eine Gruppe, deren Mitglied der Benutzer ist, dennoch ein Limit gelten. Wenn der Benutzer Mitglied mehrerer Gruppen ist, wird die niedrigste Einstellung angewendet.
RESOURCE MINIMUM Der niedrigste Prozentsatz an Netzsystemressourcen, die für die Gruppe verfügbar gemacht werden sollen. Der Wert kann zwischen 0 und 100 liegen. Der Standardwert ist 0. Eine Gruppe, deren Ressourcenminimum größer als 0 ist, wird als Ressourcengruppe bezeichnet. Dieser Parameter ersetzt die nicht weiter unterstützte RESOURCELIMIT-Einstellung.
RESOURCE MAXIMUM Der höchste Prozentsatz an Netzsystemressourcen, die der Gruppe unabhängig davon zugewiesen werden, ob andere Ressourcengruppen das System verwenden. Der Wert kann im Bereich von 1 bis 100 liegen. Der Standardwert ist 100. Dieser Parameter kann nur angegeben werden, wenn das Ressourcenminimum der Gruppe ungleich null ist.
JOB MAXIMUM Die maximale Anzahl Jobs, die von der Ressourcengruppe gleichzeitig ausgeführt werden können. Weitere Jobs werden in die Warteschlange gestellt.
  • Die Ganzzahl 0 (oder OFF) gibt an, dass für die Gruppe keine maximale Anzahl gleichzeitiger Jobs festgelegt wurde. Die Gruppe wird durch die üblichen Systemeinstellungen und Steuerelemente für gleichzeitige Jobs begrenzt.
  • Eine Ganzzahl im Bereich 1 - 48 setzt das Jobmaximum auf den entsprechenden ganzzahligen Wert.
  • Die Ganzzahl -1 (oder AUTOMATIC) gibt an, dass das System einen Jobmaximumwert berechnet, der auf dem Ressourcenminimum der Gruppe multipliziert mit der Anzahl der GRA-Scheduler-Slots basiert. Wenn für eine Gruppe beispielsweise ein Ressourcenminimum von 20 % festgelegt wurde und es 48 Slot gibt (Standardwert), ist das Jobmaximum (0,20 * 48) oder ungefähr 9.
Dieser Parameter kann nur angegeben werden, wenn das Ressourcenminimum der Gruppe ungleich null ist.
COLLECT HISTORY Gibt an, ob das System Verlaufsdaten für die Sitzungen eines Benutzers erfassen soll, der Mitglied dieser Gruppe ist:
EIN
Der Verlauf wird nur erfasst, wenn der Benutzer mit einer Datenbank verbunden ist, für die COLLECT HISTORY auf ON gesetzt ist.
AUS
Der Verlauf wird für den Benutzer nicht erfasst.
STANDARD
Der Verlauf wird für den Benutzer nur erfasst, wenn der Benutzer mit einer Datenbank verbunden ist, für die COLLECT HISTORY auf ON gesetzt ist, und wenn eines der folgenden Kriterien erfüllt wird:
  • Dieser Benutzer ist Mitglied keiner Benutzergruppe.
  • Für alle Benutzergruppen, deren Mitglied dieser Benutzer ist, ist COLLECT HISTORY auf DEFAULT gesetzt.
  • Dieser Benutzer ist Mitglied mindestens einer Benutzergruppe, für die COLLECT HISTORY auf ON gesetzt ist.
ALLOW CROSS JOIN Gibt an, ob ein Benutzer, der Mitglied dieser Gruppe ist, explizite Cross-Joins ausführen kann:
TRUE
Der Benutzer kann explizite Cross-Joins ausführen.
FALSCH
Der Benutzer kann explizite Cross-Joins nicht ausführen.
NULL
Der Benutzer kann explizite Cross-Joins ausführen, sofern er nicht Mitglied einer Gruppe ist, für die ALLOW CROSS JOIN auf FALSE gesetzt ist.
PASSWORDEXPIRY Für jedes dieser Gruppe zugewiesene Benutzerkonto die Anzahl der Tage, die das Kontokennwort gültig ist. Wenn Sie die Option nicht angeben oder wenn Sie den Wert 0 angeben, läuft das Kennwort nicht ab. Nachdem das Passwort abgelaufen ist, zeigt die Datenbank die MeldungRestricted Session. User password has expiredwenn sich der Benutzer das nächste Mal bei der Datenbank anmeldet. Der Benutzer muss das Kontokennwort beispielsweise mit dem ALTER USER-Befehl ändern, um wieder den vollen Funktionsumfang zu erhalten.

Der Ablauf wird für lokal authentifizierte Konten verwendet. Das System prüft und verwendet zuerst den für das Benutzerkonto angegebenen Ablauf, dann den niedrigsten Wert, der für eine der Gruppen angegeben wurde, deren Mitglied der Benutzer ist. Zuletzt wird der systemweite Ablauf geprüft und verwendet, sofern er angegeben wurde.

ACCESS TIME Gibt an, wann ein Benutzer, der Mitglied dieser Gruppe ist, Sitzungen auf dem System starten darf:
ALLE
Der Benutzer kann jederzeit und an einem beliebigen Tag Sitzungen starten.
STANDARD
Die Kombination der Zugriffszeiteinstellungen der Gruppen, deren Mitglied der Benutzer ist, legt fest, wann der Benutzer Sitzungen starten kann. Wenn ein Benutzer beispielsweise ein Mitglied von zwei Gruppen ist, von denen eine ACCESS TIME '1,2,3' und die andere ACCESS TIME '5,6,7' angibt, kann der Benutzer eine Sitzung nur am Mittwoch (Tag 4) starten.
<Zugriffszeit>
Jede Zugriffszeitunterklausel gibt mindestens einen Wochentag und ein Zeitintervall an, in dem der Benutzer eine Sitzung starten kann. Jeder Tag wird durch eine SQL-Tagesnummer dargestellt (1 = Sonntag, 7 = Samstag usw.). Das Schlüsselwort ALL ist äquivalent zur Angabe der Tage 1,2,3,4,5,6,7. Eine Zugriffszeitunterklausel enthält optional eine Zeitgrenze. Wird keine Zeitgrenze angegeben, kann die Gruppe zu einer beliebigen Zeit am angegebenen Tag eine Sitzung erstellen.
USER und Mindestens ein Benutzer, der Mitglied dieser Gruppe sein soll. Wird mindestens ein Mitglied angegeben, wird diese Gruppe zu einer Benutzergruppe. Wenn dieser Parameter angegeben wird, muss er der letzte Parameter im SQL-Befehl sein.

Ausgabe

Der Befehl hat die folgende Ausgabe:

Tabelle 2. Ausgabe von CREATE GROUP
Ausgabe Beschreibung
CREATE GROUP Der Befehl wurde erfolgreich ausgeführt.

Zugriffsrechte

Sie müssen der Benutzer mit Administratorberechtigung sein oder Ihr Konto muss über die Berechtigung zum Erstellen von Gruppen verfügen.

Verwendung

Im Folgenden ist ein Verwendungsbeispiel angegeben.
  • Leere Gruppe erstellen:
    MYDB.SCH1(USER)=> CREATE GROUP staff;
  • Gruppe erstellen, die eine Kennwortablaufrate von 45 Tagen angibt:
    MYDB.SCH1(USER)=> CREATE GROUP staff WITH PASSWORDEXPIRY 45;
  • Benutzergruppe erstellen, d. h. eine Gruppe mit Mitgliedern:
    MYDB.SCH1(USER)=> CREATE GROUP marketing WITH USER jonathan,david;
  • Maximale Priorität für eine Benutzergruppe festlegen:
    MYDB.SCH1(USER)=> CREATE GROUP workers WITH MAXPRIORITY critical;
  • Ressourcengruppe erstellen, d. h. eine Gruppe mit einem Ressourcenminimum ungleich null:
    MYDB.SCH1(USER)=> CREATE GROUP rg1 WITH RESOURCE MINIMUM 30;