oracle 自主事务处理怎么理解,没有自主事务处理会有什么弊端呢?
发布网友
发布时间:2022-05-01 09:29
我来回答
共2个回答
懂视网
时间:2022-05-01 13:50
下载
www.onexsoft.com -> 下载 -> OneSQL
安装
yum install onesql-<version>.rpm
配置
进入安装目录
cd /usr/local/onesql<version>/
增加配置文件my.cnf,或者把MySQL的配置文件直接拷贝过来。
[mysqld]
datadir=
innodb_log_file_size=
innodb_buffer_pool_size=
innodb_autoinc_lock_mode=2
log_bin=
server_id=
初始化(如果已初始化,请忽略)
/usr/local/onesql<version>/scripts/mysql_install_db --defaults-file=/usr/local/onesql<version>/my.cnf --user=root
启动
/usr/local/onesql<version>/bin/mysqld_safe --defaults-file=/usr/local/onesql<version>/my.cnf --user=root &
其他步骤和MySQL相同
OneSQL安装
标签:
热心网友
时间:2022-05-01 10:58
自主事务处理, 就是 我这个存储过程里面, 自己管理事务处理。
我自己的对数据作了修改, 提交了,那么就提交了。
无视外部的事务, 是否提交或者回滚。
这个主要用于一些特殊的情况, 例如 安全审核记录的处理。
例如 有人要更新某个 很重要的表。
那么我要记录这个 更新的日志信息。 是谁,什么时间,什么机器更新的。
无论这个人, 本次更新操作是否成功, 我都要记录。
没有自主事务处理的情况下, 上面这种情况。
如果那个人更新成功了, 那么我的日志也成功。
如果那个人, 更新了, 然后 roolback 了, 那么我的日志也 回滚了。
SQL> select * from test_main;
ID VALUE
---------- --------------------
2 TWO
3 THREE
1 ONE
SQL> CREATE OR REPLACE PROCEDURE Autonomous_Insert
2 AS
3 -- 定义 “自治事务”
4 PRAGMA AUTONOMOUS_TRANSACTION;
5 BEGIN
6 INSERT INTO test_main(id, value) VALUES (5, 'FIVE');
7 COMMIT;
8 END;
9 /
Procere created.
SQL> BEGIN
2 -- 非自治事务的语句.
3 INSERT INTO test_main(id, value) VALUES (4, 'FOUR');
4 -- 自治事务
5 Autonomous_Insert;
6 -- 非自治事务回滚,不影响自治事务.
7 rollback;
8 END;
9 /
PL/SQL procere successfully completed.
SQL> select * from test_main;
ID VALUE
---------- --------------------
5 FIVE
2 TWO
3 THREE
1 ONE