我的processes=150,现在发现oracle的连接已有149个,无法再建新的连接。 为什么事务连接在事务结束后不自动断开? 我设置了sqlnet.expire_time=1了,好象没起作用? 是不是只有重启动oracle 才行? 请教高手。
听说oracle可以设置成每删除n行记录就提交一次,然后继续删除。 好像叫什么“行提交”,请问是怎么用的? [ 本帖最后由 IT业的民工 于 2006-2-20 15:30 编辑 ]
我是oracle和ProC的新手,问题幼稚,请见谅。 我在mydb.pc中写了这样的函数, void my_settrans() { SET TRANSACTION READ ONLY; } void my_commit() { EXEC SQL COMMIT ;/*WORK;*/ } int InsertXXX() { EXEC SQL INSERT ... } int DeletetXXX() { EXEC SQL DELETE ... } int UpdateXXX() { EXEC SQL UPDATE ... } /*-------------------------------------------*/ main.c 主函数 int main() { ....... ...
比如: begin trans1 begin trans2 commit trans2 rollback trans1 最后trans1是否回滚trans2 已经commit的?
下列语句 insert /*+append*/ into new_tablename select * from old_tablename@old_dbname 由于old_tablename中数据量有上亿条,希望能每查询出10万条数据提交一次,有什么好的方法?
oracledb", "oracle-123", "//192.168.111.16/orcl","utf8"); $sql = "SELECT count(*) FROM fortest"; $stmt = oci_parse($conn, $sql); if (!$stmt) { exit("oci_parse error 1"); } oci_execute($stmt); $row = oci_fetch_array($stmt, OCI_NUM); echo "1.当前共有{$row[0]}条记录"; echo "\n"; //=========== $query = "IN...
数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败。在oracle中,一个事务是从执行第一个数据管理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存这个事务,或者执行一个ROLLBACK语句,放弃此次操作结束。 事务的“要么全部完成,要么什么都没完成”的本性会使将错误信息记入数据库表中变得很困难,因为当事务失败重新运行时,用来编写日志条目的INSERT语句还未完成。 针对这种困境,oracle提供了...
我是oracle和ProC的新手,问题幼稚,请见谅。 我在mydb.pc中写了这样的函数, void my_settrans() { SET TRANSACTION READ ONLY; } void my_commit() { EXEC SQL COMMIT ;/*WORK;*/ } int InsertXXX() { EXEC SQL INSERT ... } int DeletetXXX() { EXEC SQL DELETE ... } int UpdateXXX() { EXEC SQL UPDATE ... } /*-------------------------------------------*/ main.c 主函数 int main() { ....... ...