DELETE_SERVER_BULK
Arguments:
| Name | Data Type | Default Value | In/Out |
|---|
| USER_ID_IN | NUMBER(38) | | IN |
DDL scriptSource
Legend: string keyword reserved word operator
1: procedure delete_server_bulk (
2: user_id_in in number
3: ) is
4: cursor systems is
5: select s.element id
6: from rhnSet s
7: where s.user_id = user_id_in
8: and s.label = 'system_list';
9: cursor servergroups is
10: select sgm.server_group_id, sgm.server_id
11: from rhnServerGroupMembers sgm,
12: rhnSet s
13: where s.user_id = user_id_in
14: and s.label = 'system_list'
15: and s.element = sgm.server_id;
16: cursor configchannels is
17: select cc.id
18: from rhnConfigChannel cc,
19: rhnConfigChannelType cct,
20: rhnServerConfigChannel scc,
21: rhnSet s
22: where 1=1
23: and s.user_id = user_id_in
24: and s.label = 'system_list'
25: and s.element = scc.server_id
26: and scc.config_channel_id = cc.id
27: and cct.label in
28: ('local_override','server_import')
29: and cct.id = cc.confchan_type_id;
30: cursor filelists is
31: select spfl.file_list_id id
32: from rhnServerPreserveFileList spfl,
33: rhnSet s
34: where s.user_id = user_id_in
35: and s.label = 'system_list'
36: and s.element = spfl.server_id
37: and not exists (
38: select 1
39: from rhnKickstartPreserveFileList
40: where file_list_id = spfl.file_list_id
41: )
42: and not exists (
43: select spfl.server_id
44: from rhnServerPreserveFileList spfl,
45: rhnServer s,
46: web_contact u
47: where u.id = user_id_in
48: and u.org_id = s.org_id
49: and s.id = spfl.server_id
50: and spfl.file_list_id = spfl.file_list_id
51: minus
52: select element server_id
53: from rhnSet
54: where s.user_id = user_id_in
55: and s.label = 'system_list'
56: );
57: cluster_id number;
58: is_virt number := 0;
59: begin
60: for filelist in filelists loop
61: delete from rhnFileList where id = filelist.id;
62: end loop;
63: for cc in configchannels loop
64: rhn_config.delete_channel(cc.id);
65: end loop;
66: for sgm in servergroups loop
67: begin
68: select 1 into is_virt
69: from rhnServerEntitlementView
70: where server_id = sgm.server_id
71: and label in ('virtualization_host', 'virtualization_host_platform');
72: exception
73: when no_data_found then
74: is_virt := 0;
75: end;
76: rhn_server.delete_from_servergroup(
77: sgm.server_id, sgm.server_group_id);
78: if is_virt = 1 then
79: rhn_entitlements.repoll_virt_guest_entitlements(sgm.server_id);
80: end if;
81: end loop;
82: for s in systems loop
83: update rhnKickstartSession
84: set old_server_id = null
85: where old_server_id = s.id;
86: update rhnKickstartSession
87: set new_server_id = null
88: where new_server_id = s.id;
89: rhn_channel.clear_subscriptions(s.id,1);
90: delete from rhnVirtualInstance
91: where host_system_id = s.id
92: and virtual_system_id is null;
93: delete from rhnVirtualInstance
94: where virtual_system_id = s.id
95: and host_system_id is null;
96: update rhnVirtualInstance
97: set host_system_id = null
98: where host_system_id = s.id;
99: update rhnVirtualInstance
100: set virtual_system_id = null
101: where virtual_system_id = s.id;
102: update rhnVirtualInstanceEventLog
103: set old_host_system_id = null
104: where old_host_system_id = s.id;
105: update rhnVirtualInstanceEventLog
106: set new_host_system_id = null
107: where new_host_system_id = s.id;
108: delete from rhnActionConfigChannel where server_id = s.id;
109: delete from rhnActionConfigRevision where server_id = s.id;
110: delete from rhnActionPackageRemovalFailure where server_id = s.id;
111: delete from rhnChannelFamilyLicenseConsent where server_id = s.id;
112: delete from rhnClientCapability where server_id = s.id;
113: delete from rhnCpu where server_id = s.id;
114: delete from rhnDevice where server_id = s.id;
115: delete from rhnProxyInfo where server_id = s.id;
116: delete from rhnRam where server_id = s.id;
117: delete from rhnRegToken where server_id = s.id;
118: delete from rhnSNPServerQueue where server_id = s.id;
119: delete from rhnSatelliteChannelFamily where server_id = s.id;
120: delete from rhnSatelliteInfo where server_id = s.id;
121: delete from rhnServerAction where server_id = s.id;
122: delete from rhnServerActionPackageResult where server_id = s.id;
123: delete from rhnServerActionScriptResult where server_id = s.id;
124: delete from rhnServerActionVerifyResult where server_id = s.id;
125: delete from rhnServerActionVerifyMissing where server_id = s.id;
126: delete from rhnServerChannel where server_id = s.id;
127: delete from rhnServerConfigChannel where server_id = s.id;
128: delete from rhnServerCustomDataValue where server_id = s.id;
129: delete from rhnServerDMI where server_id = s.id;
130: delete from rhnServerMessage where server_id = s.id;
131: delete from rhnServerEvent where server_id = s.id;
132: delete from rhnServerHistory where server_id = s.id;
133: delete from rhnServerInfo where server_id = s.id;
134: delete from rhnServerInstallInfo where server_id = s.id;
135: delete from rhnServerLocation where server_id = s.id;
136: delete from rhnServerLock where server_id = s.id;
137: delete from rhnServerNeededPackageCache where server_id = s.id;
138: delete from rhnServerNeededErrataCache where server_id = s.id;
139: delete from rhnServerNetwork where server_id = s.id;
140: delete from rhnServerNotes where server_id = s.id;
141: delete from rhnServerPackage where server_id = s.id;
142: delete from rhnServerTokenRegs where server_id = s.id;
143: delete from rhnSnapshotTag where server_id = s.id;
144: delete from rhnSnapshot where server_id = s.id;
145: delete from rhnTransaction where server_id = s.id;
146: delete from rhnUserServerPrefs where server_id = s.id;
147: delete from rhnServerPath where s.id in (server_id, proxy_server_id);
148: delete from rhnUserServerPerms where server_id = s.id;
149: delete from rhn_interface_monitoring where server_id = s.id;
150: delete from rhnServerNetInterface where server_id = s.id;
151: delete from rhn_server_monitoring_info where recid = s.id;
152: delete from rhnAppInstallSession where server_id = s.id;
153: delete from rhnServerUuid where server_id = s.id;
154: DELETE FROM rhn_probe_state PS WHERE PS.probe_id in
155: (SELECT CP.probe_id
156: FROM rhn_check_probe CP
157: WHERE CP.host_id = s.id
158: );
159: DELETE FROM rhn_probe P WHERE P.recid in
160: (SELECT CP.probe_id
161: FROM rhn_check_probe CP
162: WHERE CP.host_id = s.id
163: );
164: DELETE
165: FROM rhn_probe_state PS
166: WHERE PS.probe_id in
167: (SELECT CP.probe_id
168: FROM rhn_check_probe CP
169: WHERE CP.sat_cluster_id in
170: (SELECT SN.sat_cluster_id
171: FROM rhn_sat_node SN
172: WHERE SN.server_id = s.id));
173: DELETE FROM rhn_probe P
174: WHERE P.recid in
175: (SELECT CP.probe_id
176: FROM rhn_check_probe CP
177: WHERE CP.sat_cluster_id in
178: (SELECT SN.sat_cluster_id
179: FROM rhn_sat_node SN
180: WHERE SN.server_id = s.id));
181: delete from rhn_check_probe where host_id = s.id;
182: delete from rhn_host_probe where host_id = s.id;
183: delete from rhn_sat_cluster where recid in
184: ( select sat_cluster_id from rhn_sat_node where server_id = s.id );
185: delete from rhn_sat_node where server_id = s.id;
186: delete from rhnServer
187: where id = s.id;
188: delete from rhnSet
189: where user_id in (
190: select wc.id
191: from rhnServer rs,
192: web_contact wc
193: where rs.id = s.id
194: and rs.org_id = wc.org_id
195: )
196: and label = 'system_list'
197: and element = s.id;
198: end loop;
199: end delete_server_bulk;