亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Oracle Class3. 鎖和表分區

系統 1773 0

------------------------2013-5-8------------------------

DML鎖可以分為,行鎖,表級鎖,死鎖。
DDL鎖可以分為,排他DDL鎖,共享DDL鎖,分析鎖。

--查看當前數據庫里鎖的情況。
select object_id,session_id,locked_mode from v$locked_object;
如果出現了鎖的問題,某個DML操作可能等待很久沒有反應。


grant select on emp to newlifeyhj;

Grant delete on emp to newlifeyhj;

Grant all on emp to newlifeyhj;

-- 訪問權限精細到列。 報錯 ORA-00905: 缺少關鍵字
Grant update on emp(sal) to newlifeyhj;
Grant select on emp(ename,sal) to newlifeyhj;

--修改,鎖定資源。只到提交了才會執行。
update scott.emp set sal = sal +100 where empno = '7369';
將scott.emp表的查詢,修改權限給newlifeyhj來測試。


--表擁有者執行加鎖查詢
--select * from emp where empno = '7369' for update wait 5;

--select * from emp where empno = '7369' for update nowait;

commit;

--for update of 專用于連接查詢中鎖定某一個或是某幾個表。


--表擁有者對表進行共享鎖定
--lock table emp in share mode;

select * from emp where empno='7369'

--rollback;


--共享更新
--lock table emp in share update mode;

select * from scott.emp where empno = '7369';

--排他鎖
--lock table emp in exclusive mode;

--rollback;

--同義詞,類似表的別名。
--create synonym o_emp for emp;

select * from o_emp where empno = '7369';

##表分區##
#范圍分區#
create table student(
?stu_name varchar2(8),
?stu_age number(2)
)
partition by range(stu_age)
(
partition p1 values less than(12),
partition p2 values less than(16),
partition p3 values less than(20),
partition p4 values less than(maxvalue)
);

desc user_tab_partitions

select table_name,partition_name from user_tab_partitions where table_name = 'STUDENT';?? //表名區分大小寫。
select table_name,partition_name,high_value,tablespace_name from user_tab_partitions where table_name = 'STUDENT';

--分區查詢--
select * from student partition(p1);
select * from student partition(p2);
select * from student partition(p3);
select * from student partition(p4);

#列表分區#
create table student2(
? stu_name varchar2(8),
? stu_age number(2),
? stu_address varchar2(12)
)
partition by list(stu_address)(
partition east values('向陽村','紅旗廣場'),
partition south values('南大門','摩托車大市場'),
partition west values('馬家河','炎帝廣場'),
partition north values('響石廣場','清石廣場')
);

insert into student2 values ('ANiu',12, '向陽村');
insert into student2 values ('ANiu',15, '南大門');
insert into student2 values ('ANiu',17, '清石廣場');
insert into student2 values ('ANiu',19, '炎帝廣場');

select * from student2;
select * from student2 partition(east);
select * from student2 partition(west);

按分區刪除數據。
delete from student2 partition(east);

select table_name, partition_name, high_value, tablespace_name from user_tab_partitions where table_name = 'STUDENT2';

#散列分區#
create table employee(
? employee_id varchar2(5),
? employee_name varchar2(20),
? department varchar2(10)
)
partition by hash(department)(
? partition D1,
? partition D2,
? partition D3
);


#復合分區#
范圍分區與散列分區或列表分區的組合。
CREATE TABLE SALES
(
??? PRODUCT_ID VARCHAR2 (5),
??? SALES_DATE DATE NOT NULL,
??? SALES_COST NUMBER (10)
)
PARTITION BY RANGE (SALES_DATE)
SUBPARTITION BY HASH (PRODUCT_ID)
SUBPARTITIONS 5?
(
??? PARTITION S1 VALUES LESS THAN (TO_DATE(‘01/4月/2001',
??? 'DD/MON/YYYY')),
??? PARTITION S2 VALUES LESS THAN (TO_DATE(‘01/7月/2001',
??? 'DD/MON/YYYY')),
??? PARTITION S3 VALUES LESS THAN (TO_DATE(‘01/9月/2001',
??? 'DD/MON/YYYY')),
??? PARTITION S4 VALUES LESS THAN (MAXVALUE)
);

?

##表分區維護##
--刪除分區-- 刪除一個指定的分區,分區的數據也隨之刪除。
--alter table student drop partition p4;

--增加分區--
--alter table student add partition p5 values less than(90);

--截斷分區-- 刪除指定分區中的所有記錄
--alter table student truncate partition p3;
--合并分區--? ORA-14012: 結果分區名與現有分區名發生沖突, p6新的分區名。
alter table student merge partitions p1,p2 into partition p6;

--拆分分區--
alter table sales split partition p2 at(1500) into (partition p21,partition p22)


select table_name, partition_name from user_tab_partitions where table_name = 'STUDENT';


##序列##
#創建序列#
create sequence seqTest start with 1 increment by 1 maxvalue 9;

select seqTest.nextval from dual;? //下一個值??? 注意:不是value是val
select seqTest.currval from dual;? //查詢當前值? 注意:不是value是val

查看數據字典的結構
desc user_sequences;

刪除序列
drop sequence seqTest;

鎖是數據庫用來控制共享資源并發訪問的機制。
鎖用于保護正在被修改的數據。
直到提交或回滾了事務之后,其他用戶才可以更新數據。

鎖定的優點:一致性和完整性。并行性
行級鎖和表級鎖。
使用commit或rollback語句釋放鎖。

表級鎖類型
行共享? 行排他? 共享? 共享行排他? 排他

將一個表分成多個分區,只訪問表中的特定分區。
將不同的分區存儲在不同的磁盤,提高訪問性能和安全性。
獨立地備份和恢復每個分區。

Oracle Class3. 鎖和表分區


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本α级毛片视频免费观看 | 99在线视频播放 | 国产精品女在线观看 | 欧美vs日韩vs国产在线观看 | 99干99| 久久精品免视看国产盗摄 | 野外一级毛片黑人 | 狠狠色噜噜狠狠米奇777 | 四虎天堂 | 伊人色综 | 日本一级毛片片免费观看 | 欧美30p| 一级做a爱片久久毛片 | 国产精品午夜高清在线观看 | 精品综合在线 | 欧美激情_区二区三区 | 日本不卡在线 | 亚洲国产精选 | 天天射天天干天天插 | 精品亚洲成a人在线播放 | 爆操日本美女 | 全免费一级毛片在线播放 | 人人揉揉香蕉大免费不卡 | 毛片aa| 亚洲第一综合色 | 国产伦理精品 | 奇米影视777欧美在线观看 | 欧美日韩视频在线第一区 | 精品久久久中文字幕 | 亚洲精品日本一区二区在线 | 久久爱avwww久久爱 | 久久是免费只精品热在线 | 一区二区三区免费在线 | 亚洲精品一区二 | 久久99精品亚洲热综合 | 久久精品在 | 久久精品播放 | 日本不卡高清免费 | 视频福利网 | 国产综合久久久久影院 | 欧美日韩国产人成在线观看 |