Edition-Based Redefinition Enhancements in Oracle Database 12c Release 1 (12.1)
Learn how to create non-editionable objects in edition-enabled schema.
oracle 12cconfigurationintermediate
by OracleDba
14 views
Learn how to create non-editionable objects in edition-enabled schema.
12345678910111213141516171819202122232425262728293031323334353637383940414243
CONN sys@pdb1 AS SYSDBA
CREATE USER edition_test1 IDENTIFIED BY edition_test1 DEFAULT TABLESPACE users QUOTA UNLIMITED ON users;
GRANT CREATE SESSION, CREATE PROCEDURE TO edition_test1;
ALTER USER edition_test1 ENABLE EDITIONS;
CONN edition_test1/edition_test1@pdb1
CREATE OR REPLACE PROCEDURE proc1 AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE EDITIONABLE PROCEDURE proc2 AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE NONEDITIONABLE PROCEDURE proc3 AS
BEGIN
NULL;
END;
/
COLUMN object_name FORMAT A20
COLUMN editionable FORMAT A15
SELECT object_name, editionable
FROM user_objects
ORDER BY object_name;
OBJECT_NAME EDITIONABLE
-------------------- ---------------
PROC1 Y
PROC2 Y
PROC3 N
3 rows selected.
SQL>1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
CONN sys@pdb1 AS SYSDBA
CREATE USER edition_test2 IDENTIFIED BY edition_test2 DEFAULT TABLESPACE users QUOTA UNLIMITED ON users;
GRANT CREATE SESSION, CREATE PROCEDURE TO edition_test2;
CONN edition_test2/edition_test2@pdb1
CREATE OR REPLACE PROCEDURE proc1 AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE EDITIONABLE PROCEDURE proc2 AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE NONEDITIONABLE PROCEDURE proc3 AS
BEGIN
NULL;
END;
/
COLUMN object_name FORMAT A20
COLUMN editionable FORMAT A15
SELECT object_name, editionable
FROM user_objects
ORDER BY object_name;
OBJECT_NAME EDITIONABLE
-------------------- ---------------
PROC1 Y
PROC2 Y
PROC3 N
3 rows selected.
SQL>
ALTER PROCEDURE proc2 NONEDITIONABLE;
ALTER PROCEDURE proc3 EDITIONABLE;
COLUMN object_name FORMAT A20
COLUMN editionable FORMAT A15
SELECT object_name, editionable
FROM user_objects
ORDER BY object_name;
OBJECT_NAME EDITIONABLE
-------------------- ---------------
PROC1 Y
PROC2 N
PROC3 Y
3 rows selected.
SQL>
CONN sys@pdb1 AS SYSDBA
ALTER USER edition_test2 ENABLE EDITIONS;
SQL> CONN edition_test2/edition_test2@pdb1
Connected.
SQL> ALTER PROCEDURE proc2 EDITIONABLE;
ALTER PROCEDURE proc2 EDITIONABLE
*
ERROR at line 1:
ORA-38825: The EDITIONABLE property of an editioned object cannot be altered.
SQL> ALTER PROCEDURE proc3 NONEDITIONABLE;
ALTER PROCEDURE proc3 NONEDITIONABLE
*
ERROR at line 1:
ORA-38825: The EDITIONABLE property of an editioned object cannot be altered.
SQL>Please to add comments
No comments yet. Be the first to comment!