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.)
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.)
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.
BCD is correct.
why is not B? C used SQLPLUS is right but use sql developer ....Maybe not
A is not successful DML
For A to be true the statement would have to be syntactically valid.
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)
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
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
A is wrong, ddl is still in compilation mode, so no ddl considered.
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
A works. It commits before and after every ddl statement so A will implicitly commit despite failing due to a syntax error
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?
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.
Don't know why A is correct answer
Because before any DDL instructions, there is an implicit COMMIT