quiz pl sql 10- 15
DESCRIPTION
Quiz PL SQL 10- 15TRANSCRIPT
Test: Creating Packages: Quiz
Test: Creating Packages: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.Which of the following can be included in a package?Mark for Review(1) Points
procedures
variables
PL/SQL types
Exceptions
All of the above (*)
Correct
2.Which of the following are good reasons to group a set of procedures and functions into a package?Mark for Review(1) Points
Application developers do not need to know the details of the package body code.
Related subprograms and variables can be grouped together for easier management and maintenance.
If the detailed code is changed, applications which invoke the package do not need to be recompiled.
All of the above. (*)
Correct
3.In which component of a package is the full definition of a public procedure written?Mark for Review(1) Points
Body (*)
Specification
Both the body and the specification
Neither the body nor the specification
Correct
4.The two parts of a package are stored as separate objects in the database. True or False?Mark for Review(1) Points
True (*)
False
Correct
5.To be able to invoke a package subprogram from outside the package, it must be declared in the package:Mark for Review(1) Points
Body
Specification
Body and the specification (*)
None of the above
Correct
6.A number variable declared in a package is initialized to 0 unless assigned another value. True or False?Mark for Review(1) Points
True
False (*)
Correct
7.Package Specification DEPT_PACK was created by the following code:
CREATE OR REPLACE PACKAGE dept_pack IS PROCEDURE ins_dept(p_deptno IN NUMBER); FUNCTION get_dept(p_deptno IN NUMBER) RETURN VARCHAR2;END dept_pack;Which of the following are correct syntax for invoking the package subprograms? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
BEGIN dept_pack.ins_dept(20);END;
(*)
BEGIN dept_pack.get_dept(20);END;
DECLARE v_deptname VARCHAR2(20);BEGIN v_deptname := get_dept(50);END;
CREATE PROCEDURE dept_proc IS v_deptname VARCHAR2(20);BEGIN v_deptname := dept_pack.get_dept(40);END;
(*)
BEGIN dept_pack(30);END;
Correct
8.Package EMP_PACK contains two procedures, DEL_EMP and SHOW_EMP. You want to write an anonymous block which invokes these procedures but you have forgotten which parameters they use. Which of the following will give you this information?Mark for Review(1) Points
DESCRIBE del_empDESCRIBE show_emp
DESCRIBE emp_pack(del_emp, show_emp)
DESCRIBE emp_pack
(*)
DESCRIBE emp_pack.del_empDESCRIBE emp_pack.show_emp
None of the above
Correct
Test: Managing Package Concepts: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.A public component declared in the package specification can be referenced by a private component defined in the package body. True or False?Mark for Review(1) Points
True (*)
False
Correct
2.A local variable declared within a procedure in a package can be referenced by any other component of that package. True or False?Mark for Review(1) Points
True
False (*)
Correct
3.Examine the following package specification:
CREATE OR REPLACE PACKAGE mypack IS percent_tax NUMBER := 20; PROCEDURE proc1;END mypack;The package body of mypack also includes a function called func1. Which of the following statements are true? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
proc1 is a public procedure and func1 is a private function.
(*)
The package will not compile because you cannot declare variables in the specification, only procedures and functions. .
The variable can be modified by:
BEGIN mypack.percent_tax := 10;END;(*)
The function can be invoked from outside the package.
The procedure can be invoked by:
BEGIN mypack.proc1;END;(*)
Correct
4.We want to remove both the specification and the body of package CO_PACK from the database. Which of the following commands will do this?Mark for Review(1) Points
DROP BOTH co_pack;
DROP PACKAGE BODY co_pack;
DROP PACKAGE co_pack; (*)
DROP PACKAGE SPECIFICATION co_pack;
None of the above
Correct
5.Which one of the following queries would you use to see the detailed code of a package called EMP_PKG?Mark for Review(1) Points
SELECT text FROM user_source WHERE name = 'EMP_PKG' AND type = 'PACKAGE' ORDER BY line;
SELECT source FROM user_packages WHERE name = 'EMP_PKG' AND type = 'PACKAGE BODY' ORDER BY line;
SELECT text FROM all_source WHERE name = 'EMP_PKG' AND type = 'PACKAGE' ORDER BY line;
SELECT text FROM user_source WHERE name = 'EMP_PKG' AND type = 'PACKAGE BODY' ORDER BY line; (*)
Correct
6.What will be displayed when a user executes the following statement?
SELECT object_name FROM user_objects WHERE object_type LIKE 'PACK%';Mark for Review(0) Points
The names of all package specifications in the user's schema
The names of all package specifications and package bodies in the user's schema (*)
The parameters which must be used when invoking all packaged subprograms in the user's schema
The detailed code of all packages in the user's schema
The names of all packages which can be invoked by the user
Correct
7.When one component of a package is called, all the package's components are loaded into memory. True or False?Mark for Review(1) Points
True (*)
False
Correct
8.A local variable defined inside a package procedure is visible to the calling environment. True or False?Mark for Review(1) Points
True
False (*)
Correct
9.Your schema contains a package called EMP_PKG. You want to remove the package body but not the specification. The correct syntax to do this is: DROP BODY emp_pkg; True or False?Mark for Review(1) Points
True
False (*)
Correct
10.SCOTT's schema contains a package EMP_PKG which contains a public procedure EMP_SAL which accepts a NUMBER parameter. Which of the following will invoke the procedure successfully?Mark for Review(0) Points
emp_pkg.emp_sal(101);
scott.emp_pkg.emp_sal(101): (*)
emp_sal(101);
None of the above
All of the above
Correct
Test: Advanced Package Concepts: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.Which two of these functions could not be in the same package? 1. FUNCTION get_emp (p1 DATE) RETURN VARCHAR2; 2. FUNCTION get_emp (p1 DATE, p2 NUMBER) RETURN VARCHAR2; 3. FUNCTION get_emp (p1 DATE, p2 NUMBER) RETURN NUMBER; 4. FUNCTION get_emp (p1 NUMBER, p2 DATE) RETURN VARCHAR2;Mark for Review(1) Points
1 and 2
1 and 4
2 and 4
2 and 3 (*)
3 and 4
Correct
2.Examine the following package code:
CREATE OR REPLACE PACKAGE over_pack IS PROCEDURE do_work1 (p1 IN VARCHAR2, p2 IN NUMBER); PROCEDURE do_work2 (p1 IN VARCHAR2, p2 IN NUMBER); PROCEDURE do_work1 (param1 IN CHAR, param2 IN NUMBER); FUNCTION do_work2 (param1 IN VARCHAR2, param2 IN NUMBER) RETURN DATE;END over_pack;Which of the following calls will be successful? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
over_pack.do_work1('Smith',20);
v_date := over_pack.do_work2('Smith',20); (*)
over_pack.do_work2('Smith',20); (*)
over_pack.do_work1(p1=>'Smith',p2=>20); (*)
over_pack.do_work1(param1=>'Smith');
Correct
3.If a subprogram is public (declared in the package specification), its detailed code can be written anywhere in the package body without the need to use forward declarations. True or False?Mark for Review(1) Points
True (*)
False
Correct
4.A package initialization block is executed automatically every time a user invokes any procedure or function in the package. True or False?Mark for Review(1) Points
True
False (*)
Correct
5.Which one of the following is NOT a restriction on a package function called from a SQL statement?Mark for Review(1) Points
The function can include a COMMIT.
The function can be overloaded. (*)
The function can include a ROLLBACK.
The function can return a BOOLEAN.
Correct
6.The package name must be included when calling a package function from a SELECT statement executed outside the package. True or False?Mark for Review(1) Points
True (*)
False
Correct
7.Package FORWARD_PACK contains two procedures: PROC1 is public while PROC2 is private (not declared in the package specification). These procedures have no parameters. Which of the following package bodies will NOT compile successfully? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
CREATE OR REPLACE PACKAGE BODY forward_pack ISPROCEDURE proc1 ISBEGINproc2;END;PROCEDURE proc2 ISBEGINDBMS_OUTPUT.PUT_LINE('Any message');END;END forward_pack;
(*)
CREATE OR REPLACE PACKAGE BODY forward_pack ISPROCEDURE proc2 ISBEGINDBMS_OUTPUT.PUT_LINE('Any message');END;PROCEDURE proc1 ISBEGINproc2;END;END forward_pack;
CREATE OR REPLACE PACKAGE BODY forward_pack ISPROCEDURE proc2;PROCEDURE proc1 ISBEGINproc2;END;PROCEDURE proc2 ISBEGINDBMS_OUTPUT.PUT_LINE('Any message');END;END forward_pack;
CREATE OR REPLACE PACKAGE BODY forward_pack ISPROCEDURE proc1;PROCEDURE proc1 ISBEGINproc2;END;PROCEDURE proc2 ISproc1;END;END forward_pack;
(*)
CREATE OR REPLACE PACKAGE BODY forward_pack ISPROCEDURE proc2;PROCEDURE proc1 ISBEGINproc2;END;PROCEDURE proc2 ISBEGINproc1;END;END forward_pack;
Correct
8.Which of the following best describes a package initialization block?Mark for Review(1) Points
It is a named procedure in a package which must be invoked by a user before any other part of the package can be invoked.
It is an anonymous block in the package specification.
It is an anonymous block at the end of a package body which executes automatically the first time each user session invokes a subprogram in the package. (*)
It is a private function within the package body.
Because it is an anonymous block, it cannot be invoked and therefore will never execute. It is treated as a set of comments.
Correct
9.A bodiless package contains what?Mark for Review(1) Points
Procedures only
Functions only
Public variables only (*)
Private variables only
Correct
10.The following package is valid. True or False?
CREATE OR REPLACE PACKAGE exceptions_pkg ISe_cons_violation EXCEPTION; PRAGMA EXCEPTION_INIT (e_cons_violation, -2292);e_value_too_large EXCEPTION;PRAGMA EXCEPTION_INIT (e_value_too_large, -1438);END exceptions_pkg;Mark for Review(1) Points
True (*)
False
Correct
11.How would you invoke the constant km_to_mile from the global_consts bodiless package at VARIABLE A?
SELECT trail_name, distance_in_km * VARIABLE AFROM trailsWHERE park_name = 'YOSEMITE';Mark for Review(1) Points
km_to_mile.global_consts
km_to_mile (global_consts)
global_consts.km_to_mile (*)
global_consts (km_to_mile)
Correct
12.When using a package function in DML statements, which rules must you follow? (Choose three)Mark for Review(1) Points
(Choose all correct answers)
Must not end the current transaction (*)
Can read or modify the table being changed by that DML statement
Changes to a package variable could have an impact on another stored function (*)
Cannot execute a DML statement or modify the database (*)
Incorrect. Refer to Section 10 Lesson 3.
13.The following example package specification is valid to create a data type ed_type that can be used in other subprograms. True or False?
CREATE OR REPLACE PACKAGE emp_dept_pkgISTYPE ed_type IS RECORD (f_name employees.first_name%TYPE, l_name employees.last_name%TYPE,d_name departments.department_name%TYPE);PROCEDURE sel_emp_dept(p_emp_id IN employees.employee_id%TYPE,p_emp_dept_rec OUT ed_type);END emp_dept_pkg;Mark for Review(1) Points
True (*)
False
Correct
14.INDEX BY is missing from the empt_tab TYPE declaration. What is the most efficient declaration?
CREATE OR REPLACE PACKAGE emp_pkg ISTYPE emp_tab IS TABLE OF employees%ROWTYPE;PROCEDURE get_employees(p_emp_table OUT emp_tab);END emp_pkg;Mark for Review(1) Points
INDEX BY INTEGER
INDEX BY BINARY
INDEX BY BINARY_INTEGER (*)
INDEX ALL
Correct
Bottom of Form
Test: Persistant State of Package Variables: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.A package's state is initialized when the package is first loaded. True or False?Mark for Review(1) Points
True (*)
False
Correct
2.Users A and B call the same procedure in a package to initialize a global variable my_pkg.g_var. What will be the value of my_pkg.g_var for User A at Point A?
User A: my_pkg.g_var is 10User B: my_pkg.g_var is 10User A: my_pkg.g_var is 50User B: my_pkg.g_var is 25Point AMark for Review(1) Points
10
50 (*)
25
Correct
3.A cursor's state is defined only by whether it is open or closed and, if open, how many rows it holds. True or False?Mark for Review(1) Points
True
False (*)
Correct
4.In the following example, which statement best fits in Line 1? (Choose 1)
DECLAREv_more_rows_exist BOOLEAN := TRUE;BEGIN-- Line 1LOOP v_more_rows_exist := curs_pkg.fetch_n_rows(3);DBMS_OUTPUT.PUT_LINE('-------'); EXIT WHEN NOT v_more_rows_exist;END LOOP;curs_pkg.close_curs;END;Mark for Review(1) Points
curs_pkg.emp_curs%ISOPEN;
curs_pkg.close_curs;
curs_pkg.open_curs; (*)
EXIT WHEN curs_pkg.emp_curs%NOTFOUND;
Correct
Bottom of Form
Test: Using Oracle-Supplied Packages: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.The DBMS_OUTPUT package is useful for which of the following activities? (Choose two)Mark for Review(1) Points
(Choose all correct answers)
Interact with a user during execution of a function or procedure
Display results to the developer during testing for debugging purposes (*)
Trace the code execution path for a function or procedure (*)
Write operating system text files to the user's screen
Correct
2.The DBMS_OUTPUT gives programmers an easy-to-use interface to see, for instance, the current value of a loop counter, or whether or not a program reaches a particular branch of an IF statement. (True or False?)Mark for Review(1) Points
True (*)
False
Correct
3.Which DBMS_OUTPUT package subprogram places text into the buffer at Line 1? (Choose one) IF v_bool1 AND NOT v_bool2 AND v_number < 25 THEN --Line 1 ELSE ... END IF; DBMS_OUTPUT.NEW_LINE;Mark for Review(1) Points
DBMS_OUTPUT.PUT('IF branch was executed'); (*)
DBMS_OUTPUT.PUT_LINE('IF branch was executed');
DBMS_OUTPUT.GET_LINE('IF branch was executed');
DBMS_OUTPUT.NEW_LINE('IF branch was executed');
Correct
4.The UTL_FILE package can be used to read and write binary files such as JPEGs as well as text files. True or False?Mark for Review(1) Points
True
False (*)
Correct
5.Using the FOPEN function, you can do which actions with the UTL_FILE package? (Choose 2)Mark for Review(1) Points
(Choose all correct answers)
It is used to append to a file until processing is complete. (*)
It is used to read and write text files stored outside the database. (*)
It is used to find out how much free space is left on an operating system disk.
It is used to manipulate large object data type items in columns.
Correct
6.The UTL_FILE package contains several exceptions exclusively used in this package. Which are they? (Choose 3)Mark for Review(1) Points
(Choose all correct answers)
INVALID_PATH (*)
NO_DATA_FOUND
WRITE_ERROR (*)
INVALID_OPERATION (*)
ZERO_DIVIDE
Correct
7.Which general exceptions may be handled by the UTL_FILE package? (Choose 2)Mark for Review(1) Points
(Choose all correct answers)
TOO_MANY_ROWS
VALUE_ERROR (*)
ZERO_DIVIDE
NO_DATA_FOUND (*)
Correct
Bottom of Form
Test: Using Dynamic SQL: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.What happens when a SQL statement is parsed? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
The user's required privileges are checked. (*)
The syntax of the statement is checked. (*)
The statement is executed.
The results of the statement are returned to the user.
Oracle queries the Data Dictionary to make sure that the tables referenced in the SQL statement exist. (*)
Correct
2.When SQL statements are included within a procedure, the statements are parsed when the procedure is compiled. True or False?Mark for Review(1) Points
True (*)
False
Correct
3.A programmer wants to code a procedure which will create a table with a single column. The datatype of the column will be chosen by the user who invokes the procedure. The programmer writes the following code:
CREATE OR REPLACE PROCEDURE create_tab (p_col_datatype IN VARCHAR2) ISBEGIN CREATE TABLE newtab (only_col p_col_datatype);END;Why will this procedure not compile successfully?Mark for Review(1) Points
Because you cannot create a table inside a procedure
Because the invoking user may not have CREATE TABLE privilege
Because when the procedure is compiled, Oracle cannot check if the parameter value passed into the procedure is a valid column datatype (*)
Because table NEWTAB may already exist
None of the above; the procedure will compile successfully.
Correct
4.For which of the following is it necessary to use Dynamic SQL? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
ALTER (*)
GRANT (*)
SAVEPOINT
UPDATE
DROP (*)
Correct
5.Examine the following procedure, which drops a table whose name is passed as an IN parameter:
CREATE OR REPLACE PROCEDURE drop_tab (p_table_name IN VARCHAR2) IS v_sql_statement VARCHAR2(100);BEGIN ...END;Which of the following will work correctly when coded in the procedure's executable section? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
EXECUTE IMMEDIATE 'DROP TABLE p_table_name';
EXECUTE IMMEDIATE 'DROP TABLE ' || p_table_name;
(*)
v_sql_statement := 'DROP TABLE ' || p_table_name;EXECUTE IMMEDIATE v_sql_statement;
(*)
v_sql_statement := 'DROP TABLE ' || p_table_name;EXECUTE IMMEDIATE 'v_sql_statement';
v_sql_statement := 'DROP TABLE ';EXECUTE IMMEDIATE v_sql_statement p_table_name;
Correct
6.What will happen when the following procedure is invoked?
CREATE OR REPLACE PROCEDURE do_some_work IS CURSOR c_curs IS SELECT object_name FROM user_objects WHERE object_type = 'FUNCTION';BEGIN FOR v_curs_rec IN c_curs LOOP EXECUTE IMMEDIATE 'ALTER FUNCTION ' || v_curs_rec.object_name || ' COMPILE'; EXIT WHEN c_curs%ROWCOUNT > 2; END LOOP;END;Mark for Review(1) Points
All functions in the user's schema will be recompiled.
The first two functions in the user's schema will be recompiled.
The first three functions in the user's schema will be recompiled. (*)
The procedure will not compile successfully because you cannot ALTER functions using Dynamic SQL.
The procedure will not compile successfully because the syntax of the ALTER FUNCTION statement is incorrect.
Correct
7.The DBMS_SQL package is easier to use than EXECUTE IMMEDIATE. True or False?Mark for Review(1) Points
True
False (*)
Correct
8.Only one call to DBMS_SQL is needed in order to drop a table. True or False?Mark for Review(1) Points
True
False (*)
Correct
9.Name two reasons for using Dynamic SQL.Mark for Review(1) Points
(Choose all correct answers)
Avoids errrors at compile time of DML statements
Creates a SQL statement with varying column data, or different conditions (*)
Enables data-definition statements to be written and executed from PL/SQL (*)
Enables system control statements to be written and executed from PL/SQL
Correct
Bottom of Form
Test: Improving PL/SQL Performance: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.What are benefits of using the NOCOPY hint? (Choose two)Mark for Review(1) Points
(Choose all correct answers)
Safer because it uses passing by value
Efficient since it uses less memory (*)
Uses a larger block of server memory for faster access
Faster because a single copy of the data is used (*)
Correct
2.A function-based index may be made using your own functions, but only if the function is created using the DETERMINISTIC clause. True or False?Mark for Review(1) Points
True (*)
False
Correct
3.The following procedure compiles successfully. True or False?
CREATE OR REPLACE PACKAGE emp_pkg ISTYPE t_emp IS TABLE OF employees%ROWTYPEINDEX BY BINARY_INTEGER;PROCEDURE emp_proc(p_small_arg IN NUMBER, p_big_arg NOCOPY OUT t_emp);...END emp_pkg;Mark for Review(1) Points
True
False (*)
Correct
4.In the following example, where do you place the phrase DETERMINISTIC?
CREATE OR REPLACE FUNCTION total_sal(p_dept_id IN -- Position Aemployees.department_id%TYPE)RETURN NUMBER -- Position BIS v_total_sal NUMBER;BEGINSELECT SUM(salary) INTO v_total_salFROM employees WHERE department_id = p_dept_in;RETURN v_total_sal -- Position C;END total_sal;Mark for Review(1) Points
Position A
Position B (*)
Position C
Correct
5.What is wrong with this code example?
CREATE OR REPLACE PROCEDURE insert_emps ISTYPE t_emp IS TABLE OF employees%ROWTYPE INDEX BY BINARY_INTEGER; v_emptab t_emp;BEGIN FORALL i IN v_emptab.FIRST..v_emptab.LAST INSERT INTO employees VALUES v_emptab(i); END LOOP;END insert_emps;Mark for Review(1) Points
The phrase should be FOR ALL.
v_emptab is incorrectly typed.
FORALL does not require END LOOP. (*)
Nothing is wrong; it will compile successfully.
Correct
6.FORALL can only be used with the INSERT statement. True or False?Mark for Review(1) Points
True
False (*)
Correct
7.In the following example, where do you place the phrase BULK COLLECT?
...BEGINSELECT -- Position A salary -- Position B INTO v_saltab -- Position C FROM employees WHERE department_id = 20 ORDER BY salary -- Position D;...Mark for Review(1) Points
Position A
Position B (*)
Position C
Position D
Correct
8.In the following example, where do you place the phrase BULK COLLECT?
DECLARE TYPE NameList IS TABLE OF emp.ename%TYPE; names NameList; CURSOR c1 IS SELECT ename -- Position A FROM emp WHERE job = 'CLERK';BEGIN OPEN c1; FETCH c1 -- Position BINTO -- Position Cnames; ... CLOSE c1;END;Mark for Review(1) Points
Position A
Position B (*)
Position C
Correct
9.What is the main purpose for using the RETURNING clause?Mark for Review(1) Points
Improve performance by returning a single value
Improve performance by minimizing the number of statements
Improve performance by making one call to the SQL engine (*)
Return more readily any exceptions that are raised by the statement
Correct
10.The following statement is a valid example of using the RETURNING clause. True or False?
DECLARE TYPE EmpRec IS RECORD (last_name employees.last_name%TYPE, salary employees.salary%TYPE); emp_info EmpRec; emp_id NUMBER := 100;BEGIN UPDATE employees SET salary = salary * 1.1 WHERE employee_id = emp_id RETURNING last_name, salary INTO emp_info; dbms_output.put_line('Just gave a raise to ' || emp_info.last_name || ', who now makes ' || emp_info.salary);END;Mark for Review(1) Points
True (*)
False
Bottom of Form
Test: Introduction to Triggers: Quiz
Answer the question(s) on this page, and click Next to go to the next test page. Click Summary to see which questions you need to answer before submitting the test. Click Finish Test if you are ready to submit your test.
Top of Form
Section 1
(Answer all questions in this section)
1.Which of the following could NOT be done by a database trigger?Mark for Review(1) Points
Enforcing a complex business rule
Enforcing a complex database security check
Recalculating the total salary bill for a department whenever an employee's salary is changed
Ensuring that a student never arrives late for a class
Keeping a log of how many rows have been inserted into a table
2.You can use a database trigger to prevent invalid transactions from being committed. True or False?Mark for Review(1) Points
True
False
3.Which of the following best describes a database trigger?Mark for Review(1) Points
It allows users to log on to the database.
It executes automatically whenever a particular event occurs within the database.
It prevents unique constraints from being violated.
It executes automatically whenever a user clicks on a button with his mouse.
It allows foreign key constraints to be violated.
4.A database trigger is a PL/SQL stored subprogram which is explicitly invoked just like a procedure or a function. True or False?Mark for Review(1) Points
True
False
5.Which of the following events could NOT automatically fire a database trigger?Mark for Review(1) Points
A user logging on to the database
A SQL INSERT statement
You click your mouse on a button to choose the correct answer to this question
A DML operation on a view
The Database Administrator shuts down the database
6.While editing a document in Microsoft Word, you go to the FILE menu and SAVE your work. To do this, Microsoft Word has executed an application trigger. True or False?Mark for Review(1) Points
True
False
7.A business rule states that an employee's salary must be between 4000 and 30000. We could enforce this rule using a check constraint, but it is better to use a database trigger. True or False?Mark for Review(1) Points
True
False
8.Which of the following are good guidelines to follow when creating triggers? (Choose two)Mark for Review(1) Points
(Choose all correct answers)
Be aware of recursive and cascading effects
Where possible, use triggers to enforce NOT NULL constraints
Avoid lengthy trigger logic by creating a procedure and invoking it from within the trigger
Use triggers to replace functionality which is already built into the database
Always create more triggers than you need, because it is better to be safe
9.A user's schema contains procedure MYPROC, function MYFUNC, trigger MYTRIGG and package MYPACK which contains a public procedure PACKPROC. These subprograms have no parameters, and the function returns a NUMBER. Which of the following calls to these objects (from an anonymous block) are incorrect? (Choose two)Mark for Review(1) Points
(Choose all correct answers)
mypack.packproc;
mytrigg;
myproc;
v_number := myfunc;
IF NOT myfunc THEN ...
10.Which of the following are NOT allowed within a database trigger? (Choose two)Mark for Review(1) Points
(Choose all correct answers)
COMMIT
A call to a packaged procedure
INSERT
A Boolean variable
SAVEPOINT
Bottom of Form
Test: Creating DML Triggers: Part I: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.Which of the following is the correct syntax for creating a DML trigger associated with the EMPLOYEES table? The trigger must fire whenever an employee's JOB_ID is updated, but not if a different column is updated.Mark for Review(1) Points
CREATE TRIGGER job_upd_triggAFTER UPDATE ON employees(job_id)BEGIN ...
CREATE TRIGGER job_upd_triggWHENEVER UPDATE OF job_id IN employeesBEGIN ...
CREATE TRIGGER job_upd_triggAFTER UPDATE ON employees.job_idBEGIN ...
CREATE TRIGGER job_upd_triggAFTER UPDATE OF job_id ON employeesBEGIN ...
(*)
Correct
2.What is wrong with the following code?
CREATE OR REPLACE TRIGGER mytriggAFTER DELETE ON departmentsBEGIN INSERT INTO audit_table (who, when) VALUES (USER, SYSDATE); COMMIT;END;Mark for Review(1) Points
A DML trigger cannot itself contain a DML statement such as INSERT INTO audit_table.
You cannot use COMMIT inside a trigger. (*)
The last line of code should be END mytrigg;
The second line should be: AFTER DELETE OF DEPARTMENTS
Nothing is wrong, the trigger will execute successfully.
Correct
3.Which of the following are possible keywords for the timing component of a trigger? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
BEFORE (*)
INSTEAD
WHENEVER
INSTEAD OF (*)
AFTER (*)
Correct
4.We want to create a log record automatically every time any DML operation is executed on either or both of the EMPLOYEES and DEPARTMENTS tables. What is the smallest number of triggers that must be create to do this?Mark for Review(1) Points
One
Two (*)
Three
Six
Eight
Correct
5.We want to prevent employees from being deleted on Sundays. To do this, we create the following trigger:
CREATE OR REPLACE TRIGGER stop_del_emps....... DELETE ON employees -- Line ABEGIN IF TO_CHAR(SYSDATE','DY') = 'SUN' THEN RAISE_APPLICATION_ERROR(-20101,'Invalid delete'); END IF;END;Should this be a BEFORE or AFTER trigger, and why?Mark for Review(1) Points
It should be a BEFORE trigger because if an AFTER trigger were created, the employee would already have been deleted by the time the trigger checks the date. (*)
It should be a BEFORE trigger because you cannot use RAISE_APPLICATION_ERROR with AFTER triggers.
It should be an AFTER trigger because the Oracle Server cannot fire the trigger until it knows that the employee has been deleted.
It does not matter, either a BEFORE or an AFTER trigger could be created.
Correct
6.An AFTER UPDATE trigger can specify more than one column. True or False?Mark for Review(1) Points
True (*)
False
Correct
7.A BEFORE statement trigger inserts a row into a logging table every time a user updates the salary column of the employees table. The user now tries to update the salaries of three employees with a single UPDATE statement, but the update fails because it violates a check constraint. How many rows will be inserted into the logging table?Mark for Review(1) Points
None, the transactions are rolled back because the update failed. (*)
One
Three
Four
None of the above
Correct
8.There are five employees in department 50. A statement trigger is created by:
CREATE OR REPLACE TRIGGER emp_upd_triggAFTER DELETE ON EMPLOYEESBEGIN ...A user now executes:DELETE FROM employees WHERE department_id = 50;
How many times will the trigger fire, and when?Mark for Review(1) Points
Once, before the DELETE is executed
Five times, after each employee row is deleted
Once, after the DELETE is executed (*)
Six times, once after each row and once at the end of the statement
The trigger will not fire at all.
Correct
Bottom of Form
Test: Creating DML Triggers: Part II: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.You decide to create the following trigger:
CREATE OR REPLACE TRIGGER empl_triggBEFORE UPDATE ON employeesBEGIN -- Line A RAISE_APPLICATION_ERROR('Cannot update salary'); ELSE INSERT INTO log_table values (USER, SYSDATE); END IF;END;You want the trigger to prevent updates to the SALARY column, but allow updates to all other columns. What should you code at Line A?Mark for Review(1) Points
IF UPDATING SALARY THEN
IF UPDATING('SALARY') THEN (*)
IF UPDATE('SALARY') THEN
IF UPDATING(SALARY) THEN
IF UPDATE(SALARY) THEN
Correct
2.Which of the following best describes conditional predicates in a trigger?Mark for Review(1) Points
They are special variables which must be DECLAREd within the trigger.
They allow the trigger code to see what data values are being inserted into a row.
They are automatically declared boolean variables which allow the trigger body to detect which DML operation is being executed. (*)
They are special cursor attributes, like %ROWCOUNT and %NOTFOUND
Correct
3.Examine the following code. To create a row trigger, what code should be included at Line A?
CREATE OR REPLACE TRIGGER del_emp_triggBEFORE DELETE ON employees---- Line ABEGIN ...Mark for Review(1) Points
FOR EVERY ROW
FOR EACH ROW (*)
FOR EVERY ROW
FOR ALL ROWS
Nothing is needed because DML triggers are row triggers by default.
Correct
4.A row trigger has been created which is fired by UPDATE ON employees. A user now executes a single SQL statement which updates four rows of the EMPLOYEES table. How many times will the row trigger fire?Mark for Review(1) Points
One time
Two times
Four times (*)
Five times
Eight times
Correct
5.Whenever an employee's JOB_ID is updated, we want to insert a row into a logging table to record the employee_id and the new value of JOB_ID. We create a row trigger whose body includes the following code:
BEGIN INSERT INTO logging_table (emp_id, job_id) VALUES -- Point AEND;At point A, which of the following will insert the correct data into the logging table? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
(:OLD.employee_id, :OLD.job_id);
(:OLD.employee_id, :NEW.job_id); (*)
(:NEW.employee_id, :OLD.job_id);
(:NEW.employee_id, :NEW.job_id); (*)
(NEW.employee_id, NEW.job_id);
Correct
6.The OLD and NEW qualifiers can be used with statement triggers as well as row triggers. True or False?Mark for Review(1) Points
True
False (*)
Correct
7.Which of the following statements about INSTEAD OF triggers are NOT true? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
They can be created on a table. (*)
They can be created on a simple view.
They can be created on a complex view.
They can be statement triggers. (*)
They can be row triggers.
Correct
8.The following view and trigger have been created:
CREATE VIEW dept_view AS SELECT * FROM departments;CREATE OR REPLACE TRIGGER dept_view_triggINSTEAD OF UPDATE ON dept_viewBEGIN DBMS_OUTPUT.PUT_LINE('Sample Message');END;Departments 50 and 80 exist but department 81 does not. A user now executes the following statement:
UPDATE dept_view SET department_name = 'Sales' WHERE department_id IN (50,80,81);
What happens?Mark for Review(1) Points
Two rows are updated and "Sample Message" is displayed once.
No rows are updated and "Sample Message" is displayed once.
No rows are updated and "Sample Message" is displayed twice. (*)
No rows are updated and "Sample Message" is displayed three times.
None of the above
Correct
9.What are the timing events for a compound trigger?Mark for Review(1) Points
Before the triggering statement; After the triggering statement; Instead of the triggering statement
Before the triggering statement; Before each row; After each row; After the triggering statement (*)
Before the triggering statement; After the triggering statement; After each row
Before the triggering statement; Before each row; After the triggering statement
Correct
10.What is wrong with this compound trigger example?
CREATE OR REPLACE TRIGGER compound_triggerFOR UPDATE OF salary COMPOUND TRIGGER threshold CONSTANT SIMPLE_INTEGER := 200; BEFORE EACH ROW IS BEGIN -- some action END BEFORE EACH ROW;
AFTER EACH ROW IS BEGIN -- some action END AFTER EACH ROW;
AFTER STATEMENT IS BEGIN -- some action END AFTER STATEMENT;END compound_trigger;Mark for Review(1) Points
Missing BEFORE timing statement
Missing the EXCEPTION section
Missing name of table on which the trigger fires (*)
Missing the INSTEAD OF timing section
Missing the BEFORE and INSTEAD OF timing sections
Correct
Bottom of Form
Test: Creating DDL and Database Events Triggers: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.Which of the following could NOT cause a DDL or Database Event trigger to fire?Mark for Review(1) Points
A table is dropped.
A user connects to the database.
The DBA starts up the database.
A user deletes rows from the EMPLOYEES table. (*)
A specific exception is raised in a user's session.
Correct
2.The database administrator creates a trigger that automatically disconnects user HACKER whenever HACKER connects to the database. What type of trigger is this?Mark for Review(1) Points
A DDL trigger
A Database Event trigger (*)
A DML trigger
A statement trigger
An INSTEAD OF trigger
Correct
3.User HARJIT wants to prevent any objects which he owns from being dropped. Harjit decides to execute the following code:
CREATE OR REPLACE TRIGGER stop_drop ---- Line ABEGIN RAISE_APPLICATION_ERROR(-20201,'Attempted drop');END;What should Harjit code at Line A?Mark for Review(1) Points
BEFORE DROP ON HARJIT
BEFORE DROP ON TABLE
BEFORE DROP ON SCHEMA (*)
BEFORE DROP ON OWNER
BEFORE DROP ON USER_OBJECTS
Correct
4.You can create a trigger which prevents DDL statements on an individual table, while still allowing DDL on other tables in the same schema. True or False?Mark for Review(1) Points
True
False (*)
Correct
5.The database administrator wants to write a log record every time any user's session raises an ORA-00942 exception. The DBA decides to create the following trigger:
CREATE OR REPLACE TRIGGER log_942_triggAFTER SERVERERROR ON DATABASEBEGIN -- Line A INSERT INTO log_table VALUES ( ...);END;What should the DBA code at Line A?Mark for Review(1) Points
IF (SERVERERROR(942)) THEN
IF (IS_SERVERERROR(942)) THEN (*)
IF (SERVERERROR = 942) THEN
IF (IS_SERVERERROR = 942) THEN
IF (IS_SERVERERROR(ORA-00942)) THEN
Correct
6.What is the benefit of using the CALL statement in a trigger body?Mark for Review(1) Points
It allow both DDL events and database events to be handled by a single trigger.
It prevents data being read from a mutating table.
It allows the database administrator to monitor who is currently connected to the database.
It allows the trigger body code to be placed in a separate procedure. (*)
Correct
7.What is wrong with the following code?
CREATE OR REPLACE TRIGGER call_triggAFTER UPDATE OR DELETE ON employeesBEGIN CALL del_emp_procEND;Mark for Review(1) Points
When CALL is used, the BEGIN and END; statements should be omitted. (*)
The CALL statement should end with a semicolon (;)
You cannot use a CALL statement in a DML trigger.
When using CALL, only one DML statement can be tested, so UPDATE OR DELETE is wrong.
Correct
8.What is wrong with the following code?
CREATE OR REPLACE TRIGGER emp_dml_triggBEFORE UPDATE OF salary ON employeesFOR EACH ROWDECLARE v_max_sal employees.salary%TYPE;BEGIN SELECT max(sal) INTO v_max_sal FROM employees;END;Mark for Review(1) Points
You cannot use a DECLARE statement in a trigger.
The trigger body is reading the same table (employees) that the triggering event is updating. (*)
You must use RAISE_APPLICATION_ERROR in a BEFORE trigger.
You can never use SELECT inside a DML trigger.
Nothing is wrong, the trigger will execute correctly.
Correct
9.Mutating table errors can be caused by DML triggers, but not by database event triggers. True or False?Mark for Review(1) Points
True (*)
False
Correct
10.You have been granted CREATE TRIGGER privilege. You can now create an AFTER LOGOFF ON SCHEMA trigger. True or False?Mark for Review(1) Points
True
False (*)
Correct
Bottom of Form
Test: Managing Triggers: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.Which dictionary view would you query to see the detailed body code of triggers in your schema?Mark for Review(1) Points
USER_SOURCE
USER_TRIGGER
USER_TRIGGERS (*)
USER_OBJECTS
None of the above; you cannot view the code of the trigger body after the trigger has been created.
Correct
2.By default, any user can create a DML trigger on a table in his/her schema. True or False?Mark for Review(1) Points
True
False (*)
Correct
3.You have created several DML triggers which reference your DEPARTMENTS table. Now you want to disable all of them using a single SQL statement. Which command should you use?Mark for Review(1) Points
ALTER TRIGGER DISABLE ALL ON departments;
ALTER TABLE departments DISABLE ALL TRIGGERS; (*)
ALTER TABLE departments DISABLE TRIGGERS;
DROP ALL TRIGGERS ON departments;
Correct
4.Which command would you use to see if your triggers are enabled or disabled?Mark for Review(1) Points
SELECT trigger_name, statusFROM USER_TRIGGERS;
(*)
SELECT object_name, statusFROM USER_OBJECTSWHERE object_type = 'TRIGGER';
SELECT trigger_name, trigger_typeFROM USER_TRIGGERS;
DESCRIBE TRIGGER
Correct
5.User KULJIT creates two triggers named EMP1_TRIGG and EMP2_TRIGG, which are both DML triggers referencing her EMPLOYEES table. Kuljit now wants to remove both of these triggers from the database. What command(s) should Kuljit use to do this?Mark for Review(1) Points
DROP ALL TRIGGERS ON employees;
DROP TRIGGERS ON employees;
DROP TRIGGER emp1_trigg;DROP TRIGGER emp2_trigg;
(*)
DROP TRIGGER emp1_trigg AND emp2_trigg;
Correct
6.A user creates the following trigger:
CREATE OR REPLACE TRIGGER emp_triggAFTER DELETE ON employeesBEGIN ...END;The user now tries to drop the EMPLOYEES table. What happens?Mark for Review(1) Points
The table is dropped but the trigger is not dropped.
An error message is displayed because you cannot drop a table that is referenced by a trigger.
The table is dropped and the trigger is disabled.
Both the table and the trigger are dropped. (*)
Correct
Bottom of Form
Test: Introduction to Dependencies: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.PL/SQL procedure A invokes procedure B, which in turn invokes procedure C, which references table T. If table T is dropped, which of the following statements is true?Mark for Review(1) Points
C is invalid but A and B are still valid
A, B and C are all invalid (*)
B and C are invalid but A is still valid
A, B and C are all still valid
None of the above
Correct
2.A procedure show_emps contains the following declaration:CURSOR emp_curs IS SELECT last_name, salary FROM employees;
What will happen to the procedure if a new column is added to the employees table?Mark for Review(1) Points
The procedure will still be valid and execute correctly because it does not reference the added column.
The procedure will automatically be dropped and must be recreated.
The procedure will be marked invalid and must be recompiled before it can be reexecuted. (*)
Users' privileges to execute the procedure will automatically be revoked.
Correct
3.View dept_view is based on a select from table departments. Procedure show_dept contains code which selects from dept_view. Which of the following statements are true? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
departments is indirectly dependent on show_dept
show_dept is directly dependent on dept_view (*)
dept_view is directly dependent on departments (*)
show_dept is indirectly dependent on departments (*)
emp_view is directly dependent on show_dept
Correct
4.A single PL/SQL subprogram such as a procedure can be both a referenced object and a dependent object. True or False?Mark for Review(1) Points
True (*)
False
Correct
5.Which data dictionary view shows information about references and dependencies?Mark for Review(1) Points
DEPTREE
USER_DEPENDENCIES (*)
USER_REFERENCES
USER_LOCAL_DEPENDENCIES
Correct
6.Which of the following statements will show whether procedure myproc is valid or invalid?Mark for Review(1) Points
SELECT status FROM USER_OBJECTSWHERE object_type = 'PROCEDURE'AND object_name = 'MYPROC';
(*)
SELECT status FROM USER_PROCEDURESWHERE procedure_name = 'MYPROC';
SELECT valid FROM USER_OBJECTSWHERE object_type = 'PROCEDURE'AND object_name = 'MYPROC';
SELECT * FROM deptree;
Correct
7.Which of the following database objects are created when the utldtree.sql script is run? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
The utldtree table
The deptree_temptab table (*)
The deptree and ideptree views (*)
The deptree table
The deptree_fill procedure (*)
Correct
8.User ALICE owns a procedure show_emps which references table employees. Which of the following will generate information that shows this dependency?Mark for Review(1) Points
BEGIN deptree_fill('TABLE','EMPLOYEES');END;
BEGIN deptree_fill('PROCEDURE','ALICE','SHOW_EMPS');END;
BEGIN deptree_fill('ALICE','TABLE','EMPLOYEES');END;
BEGIN deptree_fill('TABLE','ALICE','EMPLOYEES');END;
(*)
BEGIN deptree_fill('ALICE','PROCEDURE','SHOW_EMPS');END;
Correct
9.A SELECT from DEPTREE produced the following output.
>NESTED_LEVEL>TYPE>NAME>0>TABLE>EMPLOYEES>1>VIEW>EMP_VW>2>PROCEDURE>ADD_EMP>1>PROCEDURE>QUERY_EMPWhat dependencies does this show? (Choose three.)Mark for Review(1) Points
(Choose all correct answers)
QUERY_EMP is directly dependent on EMPLOYEES (*)
ADD_EMP is directly dependent on EMPLOYEES
ADD_EMP is directly dependent on EMP_VW (*)
QUERY_EMP is directly dependent on ADD_EMP
EMP_VW is directly dependent on EMPLOYEES (*)
Incorrect. Refer to Section 14 Lesson 1.
10.The IDEPTREE view shows dependencies by indenting the lines of output instead of by using a NESTED_LEVEL column. True or False?Mark for Review(1) Points
True (*)
False
Correct
11.Procedure get_depts has been marked invalid because one of the objects it references has been altered. Which of the following statements are true? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
The procedure will be recompiled automatically the next time it is invoked. The recompilation will always be successful.
The procedure will be recompiled automatically the next time it is invoked. The recompilation may or may not be successful.
(*)
The procedure can be recompiled manually by:ALTER PROCEDURE get_depts COMPILE;
(*)
The procedure can be recompiled manually by:ALTER PROCEDURE get_depts RECOMPILE;
The procedure does not need to be recompiled.
Correct
12.A procedure includes the following code:
SELECT first_name, salary INTO v_first_name, v_salaryFROM employees WHERE employee_id = 100;Which of the following changes to the employees table will allow the procedure to be recompiled successfully ? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
The table is dropped but a public table exists with the same name and structure. (*)
The table is dropped.
A new column is added to the table. (*)
The table name is changed to newemps.
The first_name column is dropped from the table.
Correct
13.Which of the following will NOT help to minimize dependency failures? (Choose two.)Mark for Review(1) Points
(Choose all correct answers)
SELECTing a list of column names instead of using SELECT * (*)
Declaring records using the %ROWTYPE attribute
Including a column list with INSERT statements
Declaring scalar variables with NOT NULL if the corresponding table column has a NOT NULL constraint (*)
Declaring scalar variables using the %TYPE attribute
Correct
14.Package emp_pack contains two public procedures: get_emps and upd_emps. A separate procedure emp_proc invokes emp.pack.get_emps. The upd_emps package body code is now altered, and the package body (but not the package specification) is recreated.
emp_proc will be marked invalid and needs to be recompiled. True or False?Mark for Review(1) Points
True
False (*)
Correct
Bottom of Form
Test: Understanding Remote Dependencies: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.A remote dependency is when a dependent object resides on a database on a separate node. True or False?Mark for Review(1) Points
True (*)
False
Correct
2.With remote dependencies, one master data dictionary that resides on one server identifies the status of all schema objects. True or False?Mark for Review(1) Points
True
False (*)
Correct
3.The Data Dictionary controls the remote dependency mode. True or False?Mark for Review(1) Points
True
False (*)
Correct
4.Which statement for setting a database parameter is the default for remote dependency checking?Mark for Review(1) Points
ALTER SESSION SET REMOTE_DEPENDENCIES_MODE = TIMESTAMP (*)
ALTER SESSION SET REMOTE_DEPENDENCIES_MODE = SIGNATURE
ALTER SESSION REMOTE_DEPENDENCIES_MODE = TIMESTAMP
ALTER SESSION REMOTE_DEPENDENCIES_MODE = SIGNATURE
Correct
5.In this scenario, the following status is given for each procedure:
- Procedure A is local and has a time stamp of 10 AM- Procedure B is remote and has a local time stamp of 5 AM and has a remote time stamp of 4 AMIn Timestamp Mode, Procedure A will execute successfully at 11 AM. True or False?Mark for Review(1) Points
True
False (*)
Correct
6.In Signature Mode, a procedure will not compile if the signatures of the remote dependencies do not match. True or False?Mark for Review(1) Points
True (*)
False
Correct
7.In this scenario, the following status is given for each procedure:
- Procedure A is local, executed, and invalidated because the remote Procedure B time stamp does not match the local time stamp for Procedure B- Procedure A is recompiled.In Timestamp Mode, now Procedure A will execute successfully. True or False?Mark for Review(1) Points
True (*)
False
Correct
8.In Signature Mode, a compiled procedure is still valid if its dependent procedure has a parameter data type change from NUMBER to VARCHAR2.Mark for Review(1) Points
True
False (*)
Incorrect. Refer to Section 14 Lesson 2.
9.A remote dependency is when a dependent object resides on a database on a separate node. True or False?Mark for Review(1) Points
True (*)
False
Correct
10.With remote dependencies, one master data dictionary that resides on one server identifies the status of all schema objects. True or False?Mark for Review(1) Points
True
False (*)
Correct
11.The Data Dictionary controls the remote dependency mode. True or False?Mark for Review(1) Points
True
False (*)
Correct
12.Which statement for setting a database parameter is the default for remote dependency checking?Mark for Review(1) Points
ALTER SESSION SET REMOTE_DEPENDENCIES_MODE = TIMESTAMP (*)
ALTER SESSION SET REMOTE_DEPENDENCIES_MODE = SIGNATURE
ALTER SESSION REMOTE_DEPENDENCIES_MODE = TIMESTAMP
ALTER SESSION REMOTE_DEPENDENCIES_MODE = SIGNATURE
Correct
13.In this scenario, the following status is given for each procedure:
- Procedure A is local and has a time stamp of 10 AM- Procedure B is remote and has a local time stamp of 5 AM and has a remote time stamp of 4 AMIn Timestamp Mode, Procedure A will execute successfully at 11 AM. True or False?Mark for Review(1) Points
True
False (*)
Correct
14.In Signature Mode, a procedure will not compile if the signatures of the remote dependencies do not match. True or False?Mark for Review(1) Points
True (*)
False
Correct
15.In this scenario, the following status is given for each procedure:
- Procedure A is local, executed, and invalidated because the remote Procedure B time stamp does not match the local time stamp for Procedure B- Procedure A is recompiled.In Timestamp Mode, now Procedure A will execute successfully. True or False?Mark for Review(1) Points
True (*)
False
Incorrect. Refer to Section 14 Lesson 2.
16.In Signature Mode, a compiled procedure is still valid if its dependent procedure has a parameter data type change from NUMBER to VARCHAR2.Mark for Review(1) Points
True
False (*)
Incorrect. Refer to Section 14 Lesson 2.
Bottom of Form
Test: Using the PL/SQL Initialization Parameters: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.To set the PLSQL_CODE_TYPE to its fastest execution speed, which command do you use?Mark for Review(1) Points
ALTER SYSTEM SET PLSQL_CODE_TYPE=NATIVE;
ALTER SYSTEM SET PLSQL_CODE_TYPE=2;
ALTER SESSION SET PLSQL_CODE_TYPE = NATIVE; (*)
ALTER SESSION SET PLSQL_CODE_TYPE = INTERPRETED;
ALTER SESSION SET PLSQL_CODE_TYPE = 2;
Correct
2.PLSQL_CODE_TYPE determines the type of code for both PL/SQL code and for SQL statements, which is what speeds up the execution speed. True or False?Mark for Review(1) Points
True
False (*)
Correct
3.Which are NOT examples of benefits of using PLSQL_OPTIMIZE_LEVEL. (Choose two)Mark for Review(1) Points
(Choose all correct answers)
Control what PL/SQL does with useless code
Combining compiled code from one subprogram into another subprogram
Separating compiled code so that separate units may be repeated as needed (*)
Backward compatible with previous versions of the Oracle database
Modify source code to optimize frequently-used elements at the top (*)
Correct
4.When setting PLSQL_OPTIMIZE_LEVEL = 2, the compiled code will remove code and exceptions that can never be executed. True or False?Mark for Review(1) Points
True (*)
False
Correct
5.Which data dictionary view allows you to see the setting for PLSQL_OPTIMIZE_LEVEL?Mark for Review(1) Points
USER_PLSQL_OBJECTS
USER_PLSQL_OPTIMIZE
USER_PLSQL_OBJECT_SETTINGS (*)
USER_OBJECT_SETTINGS
USER_PLSQL_CODE_TYPE
Correct
6.What are the valid values for PLSQL_OPTIMIZE_LEVEL in the data dictionary?Mark for Review(1) Points
0,1,2,3 (*)
0,1,2,3,4
1,2,3
1,2,3,4
Correct
Bottom of Form
Test: Displaying Compiler Warning Messages: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.An error in PL/SQL is when the compiler does not proceed successfully and an error message is displayed. True or False?Mark for Review(1) Points
True (*)
False
Correct
2.A warning in PL/SQL is the same as an error in PL/SQL, but can only be viewed through the USER_ERRORS data dictionary view. True or False?Mark for Review(1) Points
True
False (*)
Correct
3.Which PL/SQL warning message identifies code that can cause unexpected behavior or wrong results when executed?Mark for Review(1) Points
INFORMATIONAL
PERFORMANCE
ALL
SEVERE (*)
ERROR
Correct
4.The informational warning level for PL/SQL compiled code identifies the code that may cause execution speed to be slow. True or False?Mark for Review(1) Points
True
False (*)
Correct
5.The two statements below are equivalent. True or False?DBMS_WARNING.ADD_WARNING_SETTING_CAT('INFORMATIONAL','ENABLE','SESSION');
andALTER SESSIONSET PLSQL_WARNINGS = 'ENABLE:INFORMATIONAL';Mark for Review(1) Points
True (*)
False
Correct
6.Which pair of DBMS_WARNING commands would allow you to obtain the current settings and change and restore those settings in a PL/SQL subprogram? (Choose two)Mark for Review(1) Points
(Choose all correct answers)
DBMS_WARNING.SET_WARNING_SETTING_STRING (*)
DBMS_WARNING.ADD_WARNING_SETTING_CAT
DBMS_WARNING.GET_WARNING_SETTING_STRING (*)
DBMS_WARNING.GET_WARNING_STRING
Correct
Bottom of Form
Test: Using Conditional Compilation: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.Conditional compilation allows you to include extra code to help with debugging, which can be removed once errors are resolved. True or False?Mark for Review(1) Points
True (*)
False
Correct
2.You can choose which code to include in a PL/SQL program based on conditional compilation directives. True or False?Mark for Review(1) Points
True (*)
False
Correct
3.Identify the selection directives used in conditional compilation.Mark for Review(1) Points
$IF$THEN$ELSE$END$CCFLAG
$$IF$$THEN$$ELSE$$ELSIF$$END
$IF$THEN$ELSE $ELSIF$ENDIF
$IF$THEN$ELSE$ELSIF$END(*)
$$IF$$THEN$$ELSE$$END$$DEBUG
Correct
4.Inquiry directives are used to selectively include or exclude PL/SQL code based on values of pre-defined variables that are set using the PLSQL_CCFLAGS parameter. True or False?Mark for Review(1) Points
True
False (*)
Correct
5.The value of DBMS_DB_VERSION.VER_LE_11 is TRUE when the version of the Oracle database is version 11 or greater. True or False?Mark for Review(1) Points
True
False (*)
Correct
6.If the version and release of the Oracle database in use is 10.2, what statement will allow syntax available in version 10.2 or later?Mark for Review(1) Points
$IF DBMS_DB_VERSION.VER_LE_10_2 $THEN-- some messaage$ELSE-- some action$END
$IF DBMS_DB_VERSION.VER_LE_10_2 $THEN-- some messaage$ELSE-- some action$END;
$IF DBMS_DB_VERSION.VER_LE_10_1 $THEN-- some messaage$ELSE-- some action$END(*)
$IF DBMS_DB_VERSION.VER_LE_10_1 $THEN-- some messaage$ELSE-- some action$END;
Correct
Bottom of Form
Test: Hiding Your Source Code: Quiz
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Top of Form
Section 1
(Answer all questions in this section)
1.One benefit of obfuscation is to protect intellectual property written in PL/SQL. True or False?Mark for Review(1) Points
True (*)
False
Correct
2.Obfuscation allows the owner to see the source code, but not the users to whom EXECUTE privileges have been granted. True or False?Mark for Review(1) Points
True
False (*)
Correct
3.When wrapping subprograms, the entire PL/SQL code must be included as an IN argument with data type VARCHAR2 up to 32,767 characters. True or False?Mark for Review(1) Points
True (*)
False
Correct
4.To obfuscate the procedure my_proc, what statement should be at Line A?
BEGIN-- Line A('CREATE OR REPLACE PROCEDURE mycleverproc(p_param1 IN NUMBER, p_param2 OUT NUMBER) IS BEGIN ... /* some clever but private code here */END mycleverproc;');END;Mark for Review(1) Points
DBMS_DML.CREATE_WRAP
DBMS_DDL.CREATE_WRAP
DBMS_DDL.CREATE_WRAPPED (*)
DBMS_DDL.WRAPPED
DBMS_DDL.WRAP_CODE
Correct
5.To create obfuscated code using the wrapper utility, determine the order in which to execute the following steps.AConnect to the database and execute the wrapped text file as a script to compile the wrapped code into the Data Dictionary.BLog into the database server computer.CCreate a text file containing your complete unwrapped source code.DExecute WRAP to create a second text file containing the wrapped code.Mark for Review(1) Points
A,B,C,D
B,C,D,A (*)
C,D,A,B
C,A,B,D
B,D,C,A
Correct
6.For PL/SQL code larger than 32,767 characters, you must use the wrap utility. True or False?Mark for Review(1) Points
True (*)
False
Correct
Bottom of Form
_1462127911.unknown
_1462130217.unknown
_1462131290.unknown
_1462132930.unknown
_1462133452.unknown
_1462134180.unknown
_1462134369.unknown
_1462134384.unknown
_1462134391.unknown
_1462134395.unknown
_1462134397.unknown
_1462134393.unknown
_1462134387.unknown
_1462134389.unknown
_1462134386.unknown
_1462134376.unknown
_1462134380.unknown
_1462134382.unknown
_1462134378.unknown
_1462134372.unknown
_1462134374.unknown
_1462134371.unknown
_1462134195.unknown
_1462134203.unknown
_1462134361.unknown
_1462134365.unknown
_1462134367.unknown
_1462134363.unknown
_1462134206.unknown
_1462134357.unknown
_1462134359.unknown
_1462134354.unknown
_1462134356.unknown
_1462134208.unknown
_1462134205.unknown
_1462134199.unknown
_1462134201.unknown
_1462134197.unknown
_1462134187.unknown
_1462134191.unknown
_1462134193.unknown
_1462134189.unknown
_1462134184.unknown
_1462134186.unknown
_1462134182.unknown
_1462133651.unknown
_1462133666.unknown
_1462133674.unknown
_1462134172.unknown
_1462134176.unknown
_1462134178.unknown
_1462134174.unknown
_1462133678.unknown
_1462134168.unknown
_1462134170.unknown
_1462133680.unknown
_1462134166.unknown
_1462133676.unknown
_1462133670.unknown
_1462133672.unknown
_1462133668.unknown
_1462133659.unknown
_1462133662.unknown
_1462133664.unknown
_1462133660.unknown
_1462133655.unknown
_1462133657.unknown
_1462133653.unknown
_1462133467.unknown
_1462133474.unknown
_1462133643.unknown
_1462133647.unknown
_1462133649.unknown
_1462133645.unknown
_1462133478.unknown
_1462133640.unknown
_1462133642.unknown
_1462133480.unknown
_1462133638.unknown
_1462133476.unknown
_1462133471.unknown
_1462133473.unknown
_1462133469.unknown
_1462133459.unknown
_1462133463.unknown
_1462133465.unknown
_1462133461.unknown
_1462133455.unknown
_1462133457.unknown
_1462133454.unknown
_1462132960.unknown
_1462132974.unknown
_1462133437.unknown
_1462133444.unknown
_1462133448.unknown
_1462133450.unknown
_1462133446.unknown
_1462133440.unknown
_1462133442.unknown
_1462133438.unknown
_1462132981.unknown
_1462133429.unknown
_1462133433.unknown
_1462133435.unknown
_1462133431.unknown
_1462132985.unknown
_1462132987.unknown
_1462133427.unknown
_1462132983.unknown
_1462132978.unknown
_1462132980.unknown
_1462132976.unknown
_1462132967.unknown
_1462132970.unknown
_1462132972.unknown
_1462132968.unknown
_1462132963.unknown
_1462132965.unknown
_1462132961.unknown
_1462132945.unknown
_1462132953.unknown
_1462132956.unknown
_1462132958.unknown
_1462132954.unknown
_1462132948.unknown
_1462132950.unknown
_1462132947.unknown
_1462132937.unknown
_1462132941.unknown
_1462132943.unknown
_1462132939.unknown
_1462132934.unknown
_1462132936.unknown
_1462132932.unknown
_1462132049.unknown
_1462132079.unknown
_1462132901.unknown
_1462132916.unknown
_1462132923.unknown
_1462132926.unknown
_1462132928.unknown
_1462132925.unknown
_1462132920.unknown
_1462132921.unknown
_1462132918.unknown
_1462132908.unknown
_1462132912.unknown
_1462132914.unknown
_1462132910.unknown
_1462132905.unknown
_1462132907.unknown
_1462132903.unknown
_1462132093.unknown
_1462132101.unknown
_1462132105.unknown
_1462132897.unknown
_1462132899.unknown
_1462132893.unknown
_1462132895.unknown
_1462132107.unknown
_1462132103.unknown
_1462132097.unknown
_1462132099.unknown
_1462132095.unknown
_1462132086.unknown
_1462132090.unknown
_1462132091.unknown
_1462132088.unknown
_1462132082.unknown
_1462132084.unknown
_1462132081.unknown
_1462132064.unknown
_1462132071.unknown
_1462132075.unknown
_1462132077.unknown
_1462132073.unknown
_1462132068.unknown
_1462132070.unknown
_1462132066.unknown
_1462132056.unknown
_1462132060.unknown
_1462132062.unknown
_1462132058.unknown
_1462132053.unknown
_1462132054.unknown
_1462132051.unknown
_1462132019.unknown
_1462132034.unknown
_1462132041.unknown
_1462132045.unknown
_1462132047.unknown
_1462132043.unknown
_1462132037.unknown
_1462132039.unknown
_1462132036.unknown
_1462132026.unknown
_1462132030.unknown
_1462132032.unknown
_1462132028.unknown
_1462132022.unknown
_1462132024.unknown
_1462132020.unknown
_1462131989.unknown
_1462132004.unknown
_1462132011.unknown
_1462132015.unknown
_1462132017.unknown
_1462132013.unknown
_1462132007.unknown
_1462132009.unknown
_1462132006.unknown
_1462131996.unknown
_1462132000.unknown
_1462132002.unknown
_1462131998.unknown
_1462131992.unknown
_1462131994.unknown
_1462131991.unknown
_1462131304.unknown
_1462131312.unknown
_1462131981.unknown
_1462131985.unknown
_1462131987.unknown
_1462131983.unknown
_1462131316.unknown
_1462131977.unknown
_1462131979.unknown
_1462131974.unknown
_1462131975.unknown
_1462131317.unknown
_1462131314.unknown
_1462131308.unknown
_1462131310.unknown
_1462131306.unknown
_1462131297.unknown
_1462131301.unknown
_1462131303.unknown
_1462131299.unknown
_1462131294.unknown
_1462131296.unknown
_1462131292.unknown
_1462130755.unknown
_1462130785.unknown
_1462130799.unknown
_1462131275.unknown
_1462131282.unknown
_1462131286.unknown
_1462131288.unknown
_1462131284.unknown
_1462131279.unknown
_1462131280.unknown
_1462131277.unknown
_1462130806.unknown
_1462131267.unknown
_1462131271.unknown
_1462131273.unknown
_1462131269.unknown
_1462130810.unknown
_1462130812.unknown
_1462131265.unknown
_1462130808.unknown
_1462130802.unknown
_1462130804.unknown
_1462130800.unknown
_1462130792.unknown
_1462130795.unknown
_1462130797.unknown
_1462130794.unknown
_1462130789.unknown
_1462130790.unknown
_1462130787.unknown
_1462130770.unknown
_1462130777.unknown
_1462130781.unknown
_1462130783.unknown
_1462130779.unknown
_1462130773.unknown
_1462130775.unknown
_1462130772.unknown
_1462130762.unknown
_1462130766.unknown
_1462130768.unknown
_1462130764.unknown
_1462130758.unknown
_1462130760.unknown
_1462130757.unknown
_1462130247.unknown
_1462130262.unknown
_1462130740.unknown
_1462130747.unknown
_1462130751.unknown
_1462130753.unknown
_1462130749.unknown
_1462130743.unknown
_1462130745.unknown
_1462130742.unknown
_1462130269.unknown
_1462130732.unknown
_1462130736.unknown
_1462130738.unknown
_1462130734.unknown
_1462130725.unknown
_1462130728.unknown
_1462130730.unknown
_1462130726.unknown
_1462130273.unknown
_1462130275.unknown
_1462130723.unknown
_1462130271.unknown
_1462130266.unknown
_1462130267.unknown
_1462130264.unknown
_1462130255.unknown
_1462130258.unknown
_1462130260.unknown
_1462130256.unknown
_1462130251.unknown
_1462130253.unknown
_1462130249.unknown
_1462130232.unknown
_1462130239.unknown
_1462130243.unknown
_1462130245.unknown
_1462130241.unknown
_1462130236.unknown
_1462130238.unknown
_1462130234.unknown
_1462130224.unknown
_1462130228.unknown
_1462130230.unknown
_1462130226.unknown
_1462130221.unknown
_1462130222.unknown
_1462130219.unknown
_1462129207.unknown
_1462129730.unknown
_1462129759.unknown
_1462130187.unknown
_1462130202.unknown
_1462130209.unknown
_1462130213.unknown
_1462130215.unknown
_1462130211.unknown
_1462130206.unknown
_1462130208.unknown
_1462130204.unknown
_1462130194.unknown
_1462130198.unknown
_1462130200.unknown
_1462130196.unknown
_1462130191.unknown
_1462130193.unknown
_1462130189.unknown
_1462129774.unknown
_1462129782.unknown
_1462130180.unknown
_1462130183.unknown
_1462130185.unknown
_1462130182.unknown
_1462129786.unknown
_1462130176.unknown
_1462130178.unknown
_1462129788.unknown
_1462130175.unknown
_1462129784.unknown
_1462129778.unknown
_1462129780.unknown
_1462129776.unknown
_1462129767.unknown
_1462129771.unknown
_1462129772.unknown
_1462129769.unknown
_1462129763.unknown
_1462129765.unknown
_1462129761.unknown
_1462129745.unknown
_1462129752.unknown
_1462129755.unknown
_1462129757.unknown
_1462129754.unknown
_1462129748.unknown
_1462129750.unknown
_1462129746.unknown
_1462129737.unknown
_1462129741.unknown
_1462129743.unknown
_1462129739.unknown
_1462129733.unknown
_1462129735.unknown
_1462129731.unknown
_1462129236.unknown
_1462129252.unknown
_1462129715.unknown
_1462129722.unknown
_1462129726.unknown
_1462129728.unknown
_1462129724.unknown
_1462129718.unknown
_1462129720.unknown
_1462129716.unknown
_1462129259.unknown
_1462129263.unknown
_1462129711.unknown
_1462129713.unknown
_1462129265.unknown
_1462129709.unknown
_1462129261.unknown
_1462129256.unknown
_1462129258.unknown
_1462129254.unknown
_1462129244.unknown
_1462129248.unknown
_1462129250.unknown
_1462129246.unknown
_1462129240.unknown
_1462129242.unknown
_1462129238.unknown
_1462129222.unknown
_1462129229.unknown
_1462129233.unknown
_1462129235.unknown
_1462129231.unknown
_1462129225.unknown
_1462129227.unknown
_1462129223.unknown
_1462129214.unknown
_1462129218.unknown
_1462129220.unknown
_1462129216.unknown
_1462129211.unknown
_1462129212.unknown
_1462129209.unknown
_1462128430.unknown
_1462128458.unknown
_1462128473.unknown
_1462129192.unknown
_1462129199.unknown
_1462129203.unknown
_1462129205.unknown
_1462129201.unknown
_1462129196.unknown
_1462129198.unknown
_1462129194.unknown
_1462128481.unknown
_1462129185.unknown
_1462129188.unknown
_1462129190.unknown
_1462129187.unknown
_1462128485.unknown
_1462129182.unknown
_1462129184.unknown
_1462129178.unknown
_1462129180.unknown
_1462128487.unknown
_1462128483.unknown
_1462128477.unknown
_1462128479.unknown
_1462128475.unknown
_1462128466.unknown
_1462128470.unknown
_1462128472.unknown
_1462128468.unknown
_1462128462.unknown
_1462128464.unknown
_1462128460.unknown
_1462128444.unknown
_1462128451.unknown
_1462128455.unknown
_1462128456.unknown
_1462128453.unknown
_1462128447.unknown
_1462128449.unknown
_1462128445.unknown
_1462128437.unknown
_1462128441.unknown
_1462128442.unknown
_1462128439.unknown
_1462128434.unknown
_1462128435.unknown
_1462128432.unknown
_1462127941.unknown
_1462127956.unknown
_1462127963.unknown
_1462128423.unknown
_1462128426.unknown
_1462128428.unknown
_1462128425.unknown
_1462127967.unknown
_1462128420.unknown
_1462128421.unknown
_1462128416.unknown
_1462128418.unknown
_1462127969.unknown
_1462127965.unknown
_1462127960.unknown
_1462127962.unknown
_1462127958.unknown
_1462127948.unknown
_1462127952.unknown
_1462127954.unknown
_1462127950.unknown
_1462127944.unknown
_1462127946.unknown
_1462127943.unknown
_1462127926.unknown
_1462127933.unknown
_1462127937.unknown
_1462127939.unknown
_1462127935.unknown
_1462127930.unknown
_1462127931.unknown
_1462127928.unknown
_1462127918.unknown
_1462127922.unknown
_1462127924.unknown
_1462127920.unknown
_1462127915.unknown
_1462127916.unknown
_1462127913.unknown
_1462126672.unknown
_1462127013.unknown
_1462127332.unknown
_1462127347.unknown
_1462127896.unknown
_1462127903.unknown
_1462127907.unknown
_1462127909.unknown
_1462127905.unknown
_1462127900.unknown
_1462127902.unknown
_1462127898.unknown
_1462127354.unknown
_1462127357.unknown
_1462127892.unknown
_1462127894.unknown
_1462127889.unknown
_1462127891.unknown
_1462127359.unknown
_1462127356.unknown
_1462127350.unknown
_1462127352.unknown
_1462127348.unknown
_1462127340.unknown
_1462127343.unknown
_1462127345.unknown
_1462127341.unknown
_1462127336.unknown
_1462127338.unknown
_1462127334.unknown
_1462127317.unknown
_1462127325.unknown
_1462127328.unknown
_1462127330.unknown
_1462127326.unknown
_1462127321.unknown
_1462127323.unknown
_1462127319.unknown
_1462127020.unknown
_1462127310.unknown
_1462127313.unknown
_1462127315.unknown
_1462127312.unknown
_1462127024.unknown
_1462127306.unknown
_1462127308.unknown
_1462127302.unknown
_1462127304.unknown
_1462127026.unknown
_1462127022.unknown
_1462127016.unknown
_1462127018.unknown
_1462127015.unknown
_1462126701.unknown
_1462126716.unknown
_1462126724.unknown
_1462127005.unknown
_1462127009.unknown
_1462127011.unknown
_1462127007.unknown
_1462126727.unknown
_1462127001.unknown
_1462127003.unknown
_1462126729.unknown
_1462127000.unknown
_1462126725.unknown
_1462126720.unknown
_1462126722.unknown
_1462126718.unknown
_1462126709.unknown
_1462126712.unknown
_1462126714.unknown
_1462126711.unknown
_1462126705.unknown
_1462126707.unknown
_1462126703.unknown
_1462126686.unknown
_1462126694.unknown
_1462126698.unknown
_1462126699.unknown
_1462126696.unknown
_1462126690.unknown
_1462126692.unknown
_1462126688.unknown
_1462126679.unknown
_1462126683.unknown
_1462126685.unknown
_1462126681.unknown
_1462126675.unknown
_1462126677.unknown
_1462126673.unknown
_1462125880.unknown
_1462125909.unknown
_1462126642.unknown
_1462126657.unknown
_1462126664.unknown
_1462126668.unknown
_1462126670.unknown
_1462126666.unknown
_1462126660.unknown
_1462126662.unknown
_1462126659.unknown
_1462126649.unknown
_1462126653.unknown
_1462126655.unknown
_1462126651.unknown
_1462126646.unknown
_1462126647.unknown
_1462126644.unknown
_1462125925.unknown
_1462126627.unknown
_1462126635.unknown
_1462126638.unknown
_1462126640.unknown
_1462126636.unknown
_1462126631.unknown
_1462126633.unknown
_1462126629.unknown
_1462125932.unknown
_1462126620.unknown
_1462126624.unknown
_1462126625.unknown
_1462126622.unknown
_1462125936.unknown
_1462126616.unknown
_1462126618.unknown
_1462126613.unknown
_1462126615.unknown
_1462125938.unknown
_1462125934.unknown
_1462125928.unknown
_1462125930.unknown
_1462125926.unknown
_1462125917.unknown
_1462125921.unknown
_1462125923.unknown
_1462125919.unknown
_1462125913.unknown
_1462125915.unknown
_1462125911.unknown
_1462125895.unknown
_1462125902.unknown
_1462125906.unknown
_1462125908.unknown
_1462125904.unknown
_1462125898.unknown
_1462125900.unknown
_1462125896.unknown
_1462125887.unknown
_1462125891.unknown
_1462125893.unknown
_1462125889.unknown
_1462125883.unknown
_1462125885.unknown
_1462125881.unknown
_1462125439.unknown
_1462125453.unknown
_1462125865.unknown
_1462125872.unknown
_1462125876.unknown
_1462125878.unknown
_1462125874.unknown
_1462125869.unknown
_1462125870.unknown
_1462125867.unknown
_1462125461.unknown
_1462125465.unknown
_1462125861.unknown
_1462125863.unknown
_1462125858.unknown
_1462125859.unknown
_1462125466.unknown
_1462125463.unknown
_1462125457.unknown
_1462125459.unknown
_1462125455.unknown
_1462125446.unknown
_1462125450.unknown
_1462125452.unknown
_1462125448.unknown
_1462125442.unknown
_1462125444.unknown
_1462125440.unknown
_1462125424.unknown
_1462125432.unknown
_1462125435.unknown
_1462125437.unknown
_1462125433.unknown
_1462125428.unknown
_1462125430.unknown
_1462125426.unknown
_1462125417.unknown
_1462125420.unknown
_1462125422.unknown
_1462125418.unknown
_1462125409.unknown
_1462125413.unknown
_1462125415.unknown
_1462125411.unknown
_1462125405.unknown
_1462125407.unknown
_1462125402.unknown
_1462125403.unknown
_1462125398.unknown
_1462125400.unknown
_1462125395.unknown