oracle分区表和锁,Oracle 11G 分区表跟锁

当前位置:我的异常网» 数据库 » Oracle 11G 分区表跟锁

Oracle 11G 分区表跟锁

www.myexceptions.net  网友分享于:2013-03-14  浏览:49次

Oracle 11G 分区表和锁

SQL> remark 分区表的优势:VLDB=VARY LARGE DATABAST

SQL> remark 增强可用性  减少关闭的时间  维护轻松

SQL> remark .................................................................

SQL> remark 分区表的分类:四种分区的方法

SQL> remark 范围分区  列表 散列分区  复合分区

SQL> remark 创建范围分区:分界点一定是从小到大的依次给出的

SQL> create table atable

2  (

3  userid number(4) primary key ,

4  name varchar(10) not null,

5  age number(2),

6  state char(8)

7  )

8  partition by range(userid)

9  (

10  partition p1 values less than (1001) tablespace hope,

11  partition p2 values less than (2001) tablespace hope2

12  );

partition p1 values less than (1001) tablespace hope,

*

ERROR at line 10:

ORA-00959: tablespace 'HOPE' does not exist

SQL> remark 以上没有创建表空间...............................................

SQL> create tablespace zhangjun

2  datafile 'd:\zhangjun.dbf'

3  size 30m

4  autoextend on;

Tablespace created.

SQL> remark 创建列表分区

SQL> create table Mobilephone

2  (

3  mid number(11),

4  mtype char(10),

5  location varchar(30)

6  )

7  partition by list(location)

8  (

9  partition p1 values('洪山','青山','武昌'),

10  partition p2 values('桥口','汉阳'),

11  partition p3 values(default)

12  );

Table created.

SQL> remark 创建散列分区

SQL> remark 特点:只关注分区的数量,系统自动定义分区的名称,分区的数据存储在缺省的表空间里面。

SQL> create table orders

2  (

3  oid number(20),

4  orderdate date,

5  mname varchar(30),

6  count int ,

7  price number(12,2)

8  )

9  partition by hash(oid)

10  partitions 8;

SQL> remark 查看分区表的信息

SQL> remark select table_name , partition_name,tablespace_name from user_tab_partitions;

SQL> remark .....................................................

SQL> remark 创建分区表的时候,给定分区的名称

SQL> create table orders

2  (

3  oid number(20),

4  orderdate date,

5  mname varchar(30),

6  count int,

7  price number(12,2)

8  )

9  partition by hash (oid)

10  (

11  partition p1,

12  partition p2,

13  partition p3

14  )

15  ;

Table created.

SQL> remark 创建分区表的时候指定分区存储的表空间

SQL> remark .....................................................

SQL> remark partition by hash(oid) partitions 3 store in (tablespace1,tablespace2,tablespace3);  有多少个分区对应多少个表空间

SQL> remark ......................................................

SQL> remark 创建复合分区

SQL> remark 复合分区可以是范围分区和列表的组合,也可以是范围分区和散列的组合

SQL> remark .......................................................

SQL> remark 分区表的维护

SQL> remark 查询分区表中的数据

SQL> select * from atable partition(p2);

select * from atable partition(p2)

*

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> remark 增加分区表:增加分区表的分区一定是最后一个分区

SQL> remark alter table atable add partition p3 values less than (3001) tablespace HOPE2;

SQL> remark 删除一个分区

SQL> remark alter table atable drop partition p3;

SQL> remark 拆分一个分区,将一个分区拆分为两个分区

SQL> remark alter table atable split partition p3 at(1050) into(partition p4,partition p5);

SQL> remark 合并分区:

SQL> remark alter table atable merge partitions p4,p5 into partition p5;

SQL> remark 分区改名

SQL> remark alter table atable rename partition p3 to p4;

SQL> remark 将分区改表空间

SQL> remark alter atable atable move partition p4 tablespace HOPE2(表空间);

SQL> remark .................................................................

SQL> remark 锁机制:锁的诞生是为了保存数据访问的完整性和一致性;

SQL> remark Oracle数据库锁的种类:DML 锁,用于保护数据的完整性;

SQL> remark DDL锁:用于保护数据库对象的结构,如:表 索引的结构定义,

SQL> remark 内部锁,保护数据库的内部结构

SQL> remark DML锁包含TM 锁 和 TX锁,TM为表级锁,TX为行级锁

SQL> remark 锁定后使用资源的方式有两种模式:排他模式  共享模式

SQL> remark 枷锁的语法:lock table 表名 in [row share|row exclusive | share |share row exclusive | exclusive];

SQL> remark 系统中锁的模式:none 无,null 空, row share行共享,row exclusive 行排他(RX), share 共享锁(s), share row exclusive 共享行排他(SRX)

SQL> remark 给emp添加共享锁

SQL> lock table scott.emp in share mode;

Table(s) Locked.

SQL> remark 在同一个会话中可以重复的对一个表加锁,给级别的锁之间没有互斥性。

SQL> lock table scott.emp in exclusive mode;

Table(s) Locked.

SQL> lock table scott.emp in share mode;

Table(s) Locked.

SQL> lock table scott.emp in row share mode;

Table(s) Locked.

SQL> spool off;

[color=brown][/color][size=x-small][/size]

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值