1 PACKAGE dbms_file_group AUTHID CURRENT_USER AS
2
3 INFINITE CONSTANT NUMBER := 4294967295;
4
5 -- file type constants
6 EXPORT_DUMP_FILE CONSTANT VARCHAR2(30) := 'DUMPSET';
7 DATAPUMP_LOG_FILE CONSTANT VARCHAR2(30) := 'DATAPUMPLOG';
8 DATAFILE CONSTANT VARCHAR2(30) := 'DATAFILE';
9
10 -- system privileges
11 MANAGE_FILE_GROUP CONSTANT BINARY_INTEGER := 1;
12 MANAGE_ANY_FILE_GROUP CONSTANT BINARY_INTEGER := 2;
13 READ_ANY_FILE_GROUP CONSTANT BINARY_INTEGER := 3;
14
15 -- object privileges
16 MANAGE_ON_FILE_GROUP CONSTANT BINARY_INTEGER := 1;
17 READ_ON_FILE_GROUP CONSTANT BINARY_INTEGER := 2;
18
19 -- this procedure will be used to define a new file group to associate
20 -- versions of file sets.
21 PROCEDURE create_file_group(
22 file_group_name IN VARCHAR2,
23 keep_files IN VARCHAR2 DEFAULT 'Y',
24 min_versions IN NUMBER DEFAULT 2,
25 max_versions IN NUMBER DEFAULT INFINITE,
26 retention_days IN NUMBER DEFAULT INFINITE,
27 default_directory IN VARCHAR2 DEFAULT NULL,
28 comments IN VARCHAR2 DEFAULT NULL);
29
30 -- this is used to alter the properties of the file group
31 PROCEDURE alter_file_group(
32 file_group_name IN VARCHAR2,
33 keep_files IN VARCHAR2 DEFAULT NULL,
34 min_versions IN NUMBER DEFAULT NULL,
35 max_versions IN NUMBER DEFAULT NULL,
36 retention_days IN NUMBER DEFAULT NULL,
37 new_default_directory IN VARCHAR2 DEFAULT NULL,
38 remove_default_directory IN VARCHAR2 DEFAULT 'N',
39 new_comments IN VARCHAR2 DEFAULT NULL,
40 remove_comments IN VARCHAR2 DEFAULT 'N');
41
42 -- used to drop the file group
43 PROCEDURE drop_file_group(
44 file_group_name IN VARCHAR2,
45 keep_files IN VARCHAR2 DEFAULT NULL);
46
47 -- purges the file group using the retention policy
48 PROCEDURE purge_file_group(
49 file_group_name IN VARCHAR2);
50
51 -- create a versioned file set
52 PROCEDURE create_version(
53 file_group_name IN VARCHAR2,
54 version_name IN VARCHAR2 DEFAULT NULL,
55 default_directory IN VARCHAR2 DEFAULT NULL,
56 comments IN VARCHAR2 DEFAULT NULL);
57
58 -- create a versioned file set. overloaded version to return version id.
59 PROCEDURE create_version(
60 file_group_name IN VARCHAR2,
61 version_name IN VARCHAR2 DEFAULT NULL,
62 default_directory IN VARCHAR2 DEFAULT NULL,
63 comments IN VARCHAR2 DEFAULT NULL,
64 version_out OUT VARCHAR2);
65
66 -- alter some properties of a file set version
67 PROCEDURE alter_version(
68 file_group_name IN VARCHAR2,
69 version_name IN VARCHAR2 DEFAULT NULL,
70 new_version_name IN VARCHAR2 DEFAULT NULL,
71 remove_version_name IN VARCHAR2 DEFAULT 'N',
72 new_default_directory IN VARCHAR2 DEFAULT NULL,
73 remove_default_directory IN VARCHAR2 DEFAULT 'N',
74 new_comments IN VARCHAR2 DEFAULT NULL,
75 remove_comments IN VARCHAR2 DEFAULT 'N');
76
77 -- drop a file set version from the file group
78 PROCEDURE drop_version(
79 file_group_name IN VARCHAR2,
80 version_name IN VARCHAR2 DEFAULT NULL,
81 keep_files IN VARCHAR2 DEFAULT NULL);
82
83 -- add a file to a specific file set version of file group
84 PROCEDURE add_file(
85 file_group_name IN VARCHAR2,
86 file_name IN VARCHAR2,
87 file_type IN VARCHAR2 DEFAULT NULL,
88 file_directory IN VARCHAR2 DEFAULT NULL,
89 version_name IN VARCHAR2 DEFAULT NULL,
90 comments IN VARCHAR2 DEFAULT NULL);
91
92 -- alter some properties of a file
93 PROCEDURE alter_file(
94 file_group_name IN VARCHAR2,
95 file_name IN VARCHAR2,
96 version_name IN VARCHAR2 DEFAULT NULL,
97 new_file_name IN VARCHAR2 DEFAULT NULL,
98 new_file_directory IN VARCHAR2 DEFAULT NULL,
99 new_file_type IN VARCHAR2 DEFAULT NULL,
100 remove_file_type IN VARCHAR2 DEFAULT 'N',
101 new_comments IN VARCHAR2 DEFAULT NULL,
102 remove_comments IN VARCHAR2 DEFAULT 'N');
103
104 -- remove a file from a versioned file set
105 PROCEDURE remove_file(
106 file_group_name IN VARCHAR2,
107 file_name IN VARCHAR2,
108 version_name IN VARCHAR2 DEFAULT NULL,
109 keep_file IN VARCHAR2 DEFAULT NULL);
110
111 -- grant system privileges for file group operations
112 PROCEDURE grant_system_privilege(
113 privilege IN BINARY_INTEGER,
114 grantee IN VARCHAR2,
115 grant_option IN BOOLEAN DEFAULT FALSE);
116
117 -- revoke system privileges for file group operations
118 PROCEDURE revoke_system_privilege(
119 privilege IN BINARY_INTEGER,
120 revokee IN VARCHAR2);
121
122 -- grant alter/read_file_group privilege on the specified file group
123 PROCEDURE grant_object_privilege(
124 object_name IN VARCHAR2,
125 privilege IN BINARY_INTEGER,
126 grantee IN VARCHAR2,
127 grant_option IN BOOLEAN DEFAULT FALSE);
128
129 -- revoke alter/read_file_group privilege on the specified file group
130 PROCEDURE revoke_object_privilege(
131 object_name IN VARCHAR2,
132 privilege IN BINARY_INTEGER,
133 revokee IN VARCHAR2);
134
135 END dbms_file_group;