quiz pl sql 10- 15

Download Quiz PL SQL 10- 15

If you can't read please download the document

Upload: angeeeldust

Post on 24-Nov-2015

8.341 views

Category:

Documents


2.771 download

DESCRIPTION

Quiz PL SQL 10- 15

TRANSCRIPT

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