Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Daiki Mogmet Ito
PPTX, PDF
3,199 views
Oracle In-database-archiving ~Oracleでの論理削除~
Oracleでの論理削除について12cの新機能を紹介
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 30
2
/ 30
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PDF
Oracleの実行計画を読んでみよう! #dbts2017
by
Ryota Watabe
PDF
固定化か?最新化か?オプティマイザ統計の運用をもう一度考える。 -JPOUG Tech Talk Night #6-
by
歩 柴田
PDF
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
by
歩 柴田
PDF
db tech showcase 2019 D10 Oracle Database New Features
by
Noriyoshi Shinoda
PPTX
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
by
歩 柴田
PDF
Oracle how-to-audit-backup
by
Daiki Mogmet Ito
PPTX
V$SQLとその周辺でER図を描いてみよう!
by
歩 柴田
PDF
Oracle Database Connect 2017 / JPOUG#1
by
Noriyoshi Shinoda
Oracleの実行計画を読んでみよう! #dbts2017
by
Ryota Watabe
固定化か?最新化か?オプティマイザ統計の運用をもう一度考える。 -JPOUG Tech Talk Night #6-
by
歩 柴田
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
by
歩 柴田
db tech showcase 2019 D10 Oracle Database New Features
by
Noriyoshi Shinoda
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
by
歩 柴田
Oracle how-to-audit-backup
by
Daiki Mogmet Ito
V$SQLとその周辺でER図を描いてみよう!
by
歩 柴田
Oracle Database Connect 2017 / JPOUG#1
by
Noriyoshi Shinoda
What's hot
PDF
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
by
Insight Technology, Inc.
PDF
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
by
yoyamasaki
PDF
簡単!AWRをEXCELピボットグラフで分析しよう♪
by
Yohei Azekatsu
PDF
MySQLを割と一人で300台管理する技術
by
yoku0825
PDF
Let's scale-out PostgreSQL using Citus (Japanese)
by
Noriyoshi Shinoda
PDF
PostgreSQL Unconference #29 Unicode IVS
by
Noriyoshi Shinoda
PDF
ペパボ de MySQL
by
yoku0825
PDF
Handlerさんコンニチワ
by
yoku0825
PDF
PostgreSQL Unconference #26 No Error on PostgreSQL
by
Noriyoshi Shinoda
PDF
Babelfish Compatibility
by
Noriyoshi Shinoda
PDF
片手間MySQLチューニング戦略
by
yoku0825
PDF
Mroongaを使ったときの MySQLの制限との戦い
by
Naoya Murakami
PDF
PostgreSQLの関数属性を知ろう
by
kasaharatt
PDF
Index shotgun on mysql5.6
by
yoku0825
PDF
MySQLステータスモニタリング
by
yoku0825
PDF
Add PLEASE clause to Oracle Database
by
Noriyoshi Shinoda
PDF
ぐだぐだInnoDB
by
yoku0825
PDF
MySQL 5.7が魅せる新しい運用の形
by
yoku0825
PDF
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
by
Yuko Mori
PDF
PostgreSQL Conference Japan 2021 B2 Citus 10
by
Noriyoshi Shinoda
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
by
Insight Technology, Inc.
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
by
yoyamasaki
簡単!AWRをEXCELピボットグラフで分析しよう♪
by
Yohei Azekatsu
MySQLを割と一人で300台管理する技術
by
yoku0825
Let's scale-out PostgreSQL using Citus (Japanese)
by
Noriyoshi Shinoda
PostgreSQL Unconference #29 Unicode IVS
by
Noriyoshi Shinoda
ペパボ de MySQL
by
yoku0825
Handlerさんコンニチワ
by
yoku0825
PostgreSQL Unconference #26 No Error on PostgreSQL
by
Noriyoshi Shinoda
Babelfish Compatibility
by
Noriyoshi Shinoda
片手間MySQLチューニング戦略
by
yoku0825
Mroongaを使ったときの MySQLの制限との戦い
by
Naoya Murakami
PostgreSQLの関数属性を知ろう
by
kasaharatt
Index shotgun on mysql5.6
by
yoku0825
MySQLステータスモニタリング
by
yoku0825
Add PLEASE clause to Oracle Database
by
Noriyoshi Shinoda
ぐだぐだInnoDB
by
yoku0825
MySQL 5.7が魅せる新しい運用の形
by
yoku0825
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
by
Yuko Mori
PostgreSQL Conference Japan 2021 B2 Citus 10
by
Noriyoshi Shinoda
Viewers also liked
PDF
シンプルでシステマチックな Oracle Database, Exadata 性能分析
by
Yohei Azekatsu
PDF
Analyzing Oracle Database hang issues using various diagnostics.
by
Ryota Watabe
PDF
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
by
Michitoshi Yoshida
PDF
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
by
Kohei KaiGai
PDF
Dbts2013 特濃jpoug log_file_sync
by
Koji Shinkubo
PDF
Page frame management
by
siburu
PPTX
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
by
オラクルエンジニア通信
PPTX
Oracle常駐接続プーリング(DRCP)を導入した話
by
Kentaro Kitagawa
PDF
Corruption And Revive - db tech showcase 2013 特濃JPOUG
by
Ryota Watabe
PDF
Jpoug
by
matsushita
PDF
SQLチューニング総合診療Oracle CloudWorld出張所
by
Hiroshi Sekiguchi
PDF
Table functions - Planboard Symposium 2013
by
Getting value from IoT, Integration and Data Analytics
PDF
20170127 JAWS HPC-UG#8
by
Kohei KaiGai
PDF
Oracle cloudworld な〜んでだ?#3
by
Hiroshi Sekiguchi
PDF
db tech showcase Tokyo 2013 - A35 特濃JPOUG:潮溜まりでジャブジャブ、SQLチューニング
by
Hiroshi Sekiguchi
PDF
dashDB local ご紹介
by
IBM Analytics Japan
PDF
Windows7でもchefしたい!
by
Tamie YAMAMOTO
PDF
Oracle in Database Hadoop
by
DataWorks Summit
PDF
Meetup! jpoug oracle cloud world - なーんでだ1
by
Koji Shinkubo
PDF
dashDB & R によるデータ分析 - In database Analytics 基礎編 -
by
IBM Analytics Japan
シンプルでシステマチックな Oracle Database, Exadata 性能分析
by
Yohei Azekatsu
Analyzing Oracle Database hang issues using various diagnostics.
by
Ryota Watabe
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
by
Michitoshi Yoshida
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
by
Kohei KaiGai
Dbts2013 特濃jpoug log_file_sync
by
Koji Shinkubo
Page frame management
by
siburu
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
by
オラクルエンジニア通信
Oracle常駐接続プーリング(DRCP)を導入した話
by
Kentaro Kitagawa
Corruption And Revive - db tech showcase 2013 特濃JPOUG
by
Ryota Watabe
Jpoug
by
matsushita
SQLチューニング総合診療Oracle CloudWorld出張所
by
Hiroshi Sekiguchi
Table functions - Planboard Symposium 2013
by
Getting value from IoT, Integration and Data Analytics
20170127 JAWS HPC-UG#8
by
Kohei KaiGai
Oracle cloudworld な〜んでだ?#3
by
Hiroshi Sekiguchi
db tech showcase Tokyo 2013 - A35 特濃JPOUG:潮溜まりでジャブジャブ、SQLチューニング
by
Hiroshi Sekiguchi
dashDB local ご紹介
by
IBM Analytics Japan
Windows7でもchefしたい!
by
Tamie YAMAMOTO
Oracle in Database Hadoop
by
DataWorks Summit
Meetup! jpoug oracle cloud world - なーんでだ1
by
Koji Shinkubo
dashDB & R によるデータ分析 - In database Analytics 基礎編 -
by
IBM Analytics Japan
More from Daiki Mogmet Ito
PDF
Oracleでモテる実行計画を固定させる2つの方法
by
Daiki Mogmet Ito
PDF
まだパスワードで認証してるの?Passkeysを使ってパスワードを駆逐してやる!
by
Daiki Mogmet Ito
PPTX
unity build on github actions
by
Daiki Mogmet Ito
PDF
iOS 15で通知はより見られなくなる
by
Daiki Mogmet Ito
PDF
How to use Firebase Data Connect For Flutter
by
Daiki Mogmet Ito
PPTX
【watchOS2】Timetravelを実装したComplicationをタップした時の情報を取得する方法
by
Daiki Mogmet Ito
PDF
脱swift初心者するための2つのきっかけ
by
Daiki Mogmet Ito
PPTX
WWDC初参加の方に送る6つのおすすめな巡り方
by
Daiki Mogmet Ito
PDF
How to learn new language
by
Daiki Mogmet Ito
Oracleでモテる実行計画を固定させる2つの方法
by
Daiki Mogmet Ito
まだパスワードで認証してるの?Passkeysを使ってパスワードを駆逐してやる!
by
Daiki Mogmet Ito
unity build on github actions
by
Daiki Mogmet Ito
iOS 15で通知はより見られなくなる
by
Daiki Mogmet Ito
How to use Firebase Data Connect For Flutter
by
Daiki Mogmet Ito
【watchOS2】Timetravelを実装したComplicationをタップした時の情報を取得する方法
by
Daiki Mogmet Ito
脱swift初心者するための2つのきっかけ
by
Daiki Mogmet Ito
WWDC初参加の方に送る6つのおすすめな巡り方
by
Daiki Mogmet Ito
How to learn new language
by
Daiki Mogmet Ito
Oracle In-database-archiving ~Oracleでの論理削除~
1.
Oracleでの論理削除 @mogmet 2016/05/10 Database Connect
2016
2.
About me • twitter:
@mogmet • 好物:iOS, php, MySQL, Oracle • 仕事:インフラエンジニア→iOSエンジニア→フリーランスなDBA • ブログとか: http://mogmet.com/ • 作ったアプリたち↓ ワンナイト人狼 for iPhone STARBUCKSHOLIC はじめてのOracleの 発表です
3.
論理削除戦争
4.
#ronsakucasual DBの論理削除についてひたすら 共有する 論理削除
Casual Talks #1 にいってきた まとめ http://blog.mogmet.com/ronsakucasual-1/ 様々な方法の参考
5.
考えに考え、結果、削除フラグを採用 することになった皆さんへ朗報です
6.
12c 新機能 In-Database Archiving (インデータベース・アーカイブ )
7.
これを使うと論理削除を Oracleの機能として実現でき る!
8.
有効にするには ALTER TABLE <table_name>
ROW ARCHIVAL; を実行するだけ! ※新規の時はtableを作る時にROW ARCHIVALをつけるだけ。
9.
有効化すると ORA_ARCHIVE_STATE という非表示のvarchar2型の列が追加されるので それを削除フラグとして使う
10.
SQL> create table
anohana(id number, name varchar(32) Table created.
11.
SQL> insert into
anohana values (1, 'jintan'); 1 row created. SQL> insert into anohana (id, name, ORA_ARCHIVE_STATE) v 1 row created. SQL> commit; Commit complete.
12.
SQL> select *
from anohana; ID NAME ---------- -------------------- 1 jintan
13.
menmaが見当たらない!
14.
魔法のコトバを唱える
15.
QL> ALTER SESSION
SET ROW ARCHIVAL VISIBILITY = A
16.
SQL> select *
from anohana; ID NAME ---------- -------------------- 1 jintan 2 menma
17.
見つかっちゃった (๑ゝ◕ڡ๑)
18.
In-Database Archivingを有効にした テーブルに対して実行計画をとってみる と
19.
実行計画をみるとSQLが 自動的に付与されていたのがわかる ----------------------------------------------------------------------------- | Id |
Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 2033 | 3 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| ANOHANA | 1 | 2033 | 3 (0)| 00:00:01 | ----------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("ANOHANA"."ORA_ARCHIVE_STATE"='0' AND "ID"<3) ----------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 2 | 62 | 3 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| ANOHANA | 2 | 62 | 3 (0)| 00:00:01 | ----------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("ID"<3) ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL; SELECT * FROM anohana WHERE id < 3; SELECT * FROM anohana WHERE id < 3;
20.
Tips
21.
インデータベースアーカイブが 有効(VISIBILITY = ACTIVE)な時に ORA_ARCHIVE_STATEを条件にいれて SELECTしても全くデータが でないので注意!
22.
SQL> SELECT *
FROM anohana WHERE ORA_ARCHIVE_STATE = 1; no rows selected SQL> ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL; Session altered. SQL> SELECT * FROM anohana WHERE ORA_ARCHIVE_STATE = 1; ID NAME ---------- -------------------- 2 menma
23.
CHECK制約を ORA_ARCHIVE_STATE に追加することもできます !
24.
SQL> ALTER TABLE
anohana ADD CONSTRAINT check_state CHECK (ora_archive_state IN ('1', '0')); Table altered.
25.
SQL> INSERT INTO
anohana (id, name, ORA_ARCHIVE_STATE) VALUES (1, 'yukiatsu', 2); INSERT INTO anohana (id, name, ORA_ARCHIVE_STATE) VALUES (1, 'yukiatsu', 2) * ERROR at line 1: ORA-02290: check constraint (HOGE.CHECK_STATE) violated
26.
まとめ
27.
まとめ • 論理削除を実装する際にはインデータベース・ アーカイブを用いるとアプリの実装コストを 下げられそう • varchar2の型でORA_ARCHIVE_STATEは 使えるので使い方によっては様々な情報を 工夫して入れられそう
28.
One more thing…
29.
個人的にはDB全般において論理削除を 使う話になった時はもう少し詰めて設計を考えて、 使わないで済むならその方がいいと思っている
30.
御静聴ありがとうございました
Download