Exam 1z0-071 All QuestionsBrowse all questions from this exam
Question 69

An Oracle Database session has an uncommitted transaction in progress which updated 5000 rows in a table.

In which three situations does the transaction complete thereby committing the updates? (Choose three.)

    Correct Answer: B, C, D

    The transaction will complete in the following situations: When a DBA issues a successful SHUTDOWN TRANSACTIONAL statement, the database waits for all transactions to be committed before shutting down, thus the user's transaction will be committed. When the session logs out successfully, Oracle performs a commit of the current transaction. Executing a CREATE INDEX statement successfully in the same session also results in an implicit commit because Data Definition Language (DDL) statements in Oracle implicitly commit the current transaction.

Discussion
heoj10272Options: BCD

BCD is correct.

Peter_Chen

why is not B? C used SQLPLUS is right but use sql developer ....Maybe not

HassanMkhlalatiOptions: BCD

A is not successful DML

jm9999Options: BCD

For A to be true the statement would have to be syntactically valid.

BARNABA23Options: ACD

I CHECKED making an experiment and A IS CORRECT answer. Looks like just CREATE TABLE AS creates a COMMIT (error was placed later - I used unexisting table as a source)

iuliana23Options: BCD

B should be correct, because the session will be killed after the last transaction will be committed or the user will use rollback... A is incorrect because the statement failed with a syntax error

ramonciksOptions: BCD

Should be BCD: A - FALSE - it is syntax error therefore does not implicitly commit: Oracle Database issues an implicit COMMIT under the following circumstances: Before any syntactically valid data definition language (DDL) statement, even if the statement results in an error After any data definition language (DDL) statement that completes without an errorhttps://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/COMMIT.html#GUID-6CD5C9A7-54B9-4FA2-BA3C-D6B4492B9EE2

HassanMkhlalatiOptions: BCD

A is wrong, ddl is still in compilation mode, so no ddl considered.

ShrimathiOptions: BCD

A - false since it is syntax error (checked ) if it is run time error then it commits the transaction. B is true The SHUTDOWN TRANSACTIONAL waits for all uncommitted transactions to complete before shutting down the database instance. This saves the work for all users without requesting them to log off. BCD would be the right answer

TheOracleWasTaken

A works. It commits before and after every ddl statement so A will implicitly commit despite failing due to a syntax error

yanoolthecoolOptions: ACD

Chat GPT says A is correct and B is wrong. as SHUTDOWN TRANSACTIONAL functionality is that it waits all transactions to end then it shuts down the database, but he says since it was 'successful' then that means that the database already was shut down before the user committed. I think there is some logical problem with the answer.. its confusing, how is it successful but there was still a transaction in progress?

Oratns

ALTER TABLE and CREATE INDEX , which do cause a commit. Oracle performs an implicit commit after any SQL DDL (Data Definition Language) statement (even if this DDL statement fails). This includes table / index creation. So no open transaction should exist.

dexdinh91

Don't know why A is correct answer

JRC

Because before any DDL instructions, there is an implicit COMMIT