Oracle实践数据库笔记

了解Oracle的锁和SQL/plus命令

锁 lock

  • 自动,手动,力度权限
  • 共享锁,独占锁
  • 行锁,表锁

死锁 deadlock

  • Oracle能自动查到产生死锁的语句,并且回滚掉这句

两个事物冲突,然后产生死锁,使用v$lock和v$session来解决死锁

http://www.cnblogs.com/rootq/articles/1147450.html

SQL PLUS命令

help index

SQL 讲完了

  • QL(select)
  • DML(insert,update,delete,merge)
  • DCL(grant,invoke)
  • TCL(commit,rollback,savepoint)
  • DDL(create,alter,drop,truncate,rename,comment)

  • 序列,索引

  • 建表table原则 (PPT313)

名称空间,表的名称不能和同名称空间下的对象同名

  • 同义词

  • 创建用户和给予权限(grant)
  • pserdocolumn 伪列(不在列编制里边的列,desc不可见)

rowid 物理地址,BASE64_CODE文件号,列号,行号

  • 主流编制 dbms_rowid
select dbms_rowid.ROWID_RELATIVE_FNO(rowid) File#,
dbms_rowid.ROWID_BLOCK_NUMBER(rowid) Block#,
dbms_rowid.ROWID_ROW_NUMBER(rowid) Row#,
frmo emp;
  • 一些语句
view_name from user_views
名称空间desc user_objects
col object_name for a30;
create user cr identified aaa
grant给予用户基本权限
desc dba_users,查询用户默认表空间,存储权限没有,能建表但是在使用的时候才需要
alter user zhang quota 5m/unlimited on users;
grant create any table to zhang;
grant select on scott.emp to zhang;
alter user scott grant through dl;用dl代理scott用户
comment on column emp.EMPNO is 'employee number';
desc user_tab/col_comments;
select comments from user_tab/col_comments where column_name/table_name = 'emp';
  • 数据类型

字符集,编码方案
表的数据类型

  • 修改表 alter
  1. 修改表名 rename
  2. 增加字段 add
  3. 修改字段
    (1)字段改名
    (2)字段类型 alter modified(要修改的列必须为空)
    (3)修改字段宽度
  4. 删除字段
  5. 删除表 drop table对象会放入回收站
  6. 截断表
    delete:DML 有回滚rollback,先复制一份再删除,不释放存储空间
    truncate:DDL 没有回滚,释放存储空间
    引入hwm,high water marker 高端水印,扫描到高端水印为止

原文:大专栏  Oracle实践数据库笔记


上一篇:pl/sql修改data


下一篇:用SQL语句,删除掉重复项只保留一条