1.同义词
同义词是Oracle给数据库中的对象取的另一个名字,类似于sql语句中的别名,但是和别名又有区别,别名只使用在sql语句中,同义词是保存在数据库, 一次创建可以一直使用,同义词使用和使用原对象完一样,可以给表、视图等起同义词
同义词共有两种类型,公有同义词可被所有的数据库用户访问;私有同义词只能在其模式内访问,且不能与当前模式的对象同名。
--创建同义词语法: create [public] synonym synonym_name for object; create synonym:synonym是同义词的关键字 synonym_name:同义词名称 object:取同义词的对象,可以是表、视图等 --给emp表创建同义词e create synonym e for emp; --创建或替换现有的同义词 CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp; --删除同义词 DROP SYNONYM emp; DROP PUBLIC SYNONYM emp_syn;
2.事务
事务是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。
事务是一个不可分割的工作逻辑单元,它必须具备以下属性:原子性、一致性、隔离性、永久性。
commit --事务提交 rollback --事务回滚 savepoint --声明保存点 显式事务: 1.set autocommit off --关闭事务的自动提交 2.手动调用commit和rollback 隐式事务: 1.set autocommit on --打开事务自动提交 2.create、drop、grant等操作事务是自动提交 3.每一个insert、update、delete执行后都会提交到数据库
3.锁
锁是数据库用来控制共享资源并发访问的机制。
比如保护正在被修改的数据,直到提交或回滚了事务之后,其他用户才可以更新数据。
锁的类型有行级锁、表级锁两种:
行级锁是一种排他锁,防止其他事务修改此行。在使用update, delete, select...for update语句时,Oracle会自动应用行级锁。使用COMMIT或ROLLBACK语句释放锁
表级锁会锁定整个表,限制其他用户对表的访问。使用命令显示的锁定表,应用表级锁的语法是:LOCK TABLE table_name IN mode MODE;
行共享 (ROW SHARE) – 禁止排他锁定表
行排他(ROW EXCLUSIVE) – 禁止使用排他锁和共享锁
共享锁(SHARE) - 锁定表,仅允许其他用户查询表中的行;禁止其他用户插入、更新和删除行;多个用户可以同时在同一个表上应用此锁
共享行排他(SHARE ROW EXCLUSIVE) – 比共享锁更多的限制,禁止使用共享锁及更高的锁
排他(EXCLUSIVE) – 限制最强的表锁,仅允许其他用户查询该表的行。禁止修改和锁定表