トップページに戻る
明智重蔵のブログ
Oracle Master公式
Oracle University
OCEP(SQL Expert)
●2007年11月16日
悲願のOracle Gold目指していよいよ、
9i SQL
の試験を受けてきます。
・9i SQL
・9i Oracle入門
・9i DBAI
・10g DBA Silver
・10g DBA Gold
・研修
の順に受ける予定ですが、
9iDBAIから急激に難易度が上がってますねぇ
日本で開催されるか、まだ分かりませんが
Oracle Certified SQL Expert
もいずれ受けたいですね。
●2007年11月18日
9i SQL
に合格できました。
けっこう危なかったですが・・・
次は、9i Oracle入門です。
合格したら、Oracle Silver Fellowになれますね。
他にも、やることが、
・CodeZineの正規表現の記事執筆
・CodeZineのSQLの記事執筆
・SQLパズル 第2版をOracleで解く
・TOEIC受験
とあって、忙しいです。
●2007年11月22日
OracleMaster学習メモ
timestamp型を返す関数 localTimeStamp
timestamp with time zone型を返す関数 current_timeStamp
timestamp with time zone型を返す関数 sysTimeStamp
オラクルマスターへの道:Silver試験対策講座(Oracle入門編)
timestamp型と
timestamp with time zone型は、世界中のどこから検索しても、同じ表示になるが、
timestamp with local time zone型は、
ユーザーがデータを検索すると、表示される時刻は、
ユーザーのタイムゾーンのデータに変換されて戻されます。
●2007年11月27日
先日
9i SQL
に合格したので、今度は、
9i Oracle入門
の試験を受けてきます。
合格したらOracle Silver Fellowです。
黒本、赤本、白本、黒本問題集、クラムメディアの無料問題
をやり込んで受けてきます。
●2007年11月28日
TableRenameの実験結果
SQL> create table renameTest(ColA char);
表が作成されました。
SQL> alter table renameTest rename to abcdefg;
表が変更されました。
SQL> rename abcdefg to zzzz;
表名が変更されました。
●2007年11月30日
user_sequences.last_numberの実験結果
SQL> create sequence testSeq;
順序が作成されました。
SQL> select last_number from user_sequences;
LAST_NUMBER
-----------
1
SQL> select testSeq.nextVal from dual;
NEXTVAL
---------
1
SQL> select last_number from seq;
LAST_NUMBER
-----------
21
■■■■■■■■■■■■■■■■■■■■■■■■■■
user_sequences.last_numberは、
次にメモリにキャッシュされる順序の集合の最小値
defaultのcache 20の場合は、
1,21,41,61,81・・・・
●2007年11月30日
SQL> grant create session to testA;
権限付与が成功しました。
SQL> grant update on AAAAAAA to testA;
権限付与が成功しました。
SQL> grant create session,update on AAAAAAA to testA;
ORA-00990: 権限が指定されていないか、または無効です。
■■■■■■■■■■■■■■■■■■■■■■■■■■
オブジェクト権限とシステム権限を混ぜて
grantできないようだ。(revokeも同様)
●2007年12月2日
9i Oracle入門に20点で合格できました。
9i SQLは、油断して受けに入ったら、16点で結構危なかったのに対して、
今回は、
黒本、赤本、黒本問題集、クラムメディアの無料問題
の模擬試験で
20点4つ
19点2つ
18点1つ
17点1つ
だったので、準備は、万全だったと思います。
Oracle Silver Fellowになれましたので、次は、
9i DBAI
に合格すれば、
ORACLE MASTER Silver Oracle9i Database (OCA)
です。
●2007年12月8日
9i DBAI
の黒本を読んでますが、範囲が広いですね。
コツコツと勉強するとしよう。
・黒本
・赤本
・白本
・黒本問題集
・クラムメディアの無料問題
・@ITの9i DBAI講座
をそれぞれ3回やることとして、
来年の1月中に、合格したいですね。
●2007年12月12日
度忘れしたディクショナリ
session_privs
session_roles
user_ts_quotas
まとめて覚える動的パフォーマンスビュー
V$Parameter
V$Parameter2
V$SpParameter
V$System_Parameter
●2007年12月17日
びっくり!これがOracle9iだ 1 -動的SGA--
sho parameter db_cache_size
sho parameter db_keep_cache_size
sho parameter db_recycle_cache_size
alter table TableName storage(buffer_pool default);
alter table TableName storage(buffer_pool keep);
alter table TableName storage(buffer_pool recycle);
●2007年12月25日
使えるデータディクショナリ
select * from session_roles;
select * from session_privs;
select * from role_role_privs;
select * from role_sys_privs;
select * from role_tab_privs;
select distinct privilege
from role_sys_privs
order by 1;
■■■■■■■■■■■■■■■■■■■■
NLS_SESSION_PARAMETERS
NLS_SESSION_PARAMETERS shows the NLS parameters and their values for the session that is querying the view.
It does not show information about the character set.
sho parameterは、初期化パラメータ(v$parameter)を見るだけのようだ
@IT:Oracle管理者のためのSQLリファレンス
参考になるスレ
ORA-01843: 指定した月が無効ですの回避方法は?
●2007年12月29日
必ずアクセスできるディクショナリ
SQL> create user dictAccess identified by dictAccess;
ユーザーが作成されました。
SQL> grant create session to dictAccess;
権限付与が成功しました。
SQL> conn dictAccess/dictAccess
接続されました。
SQL> select count(*) from all_catalog;
COUNT(*)
---------
21634
SQL> select count(*) from all_objects;
COUNT(*)
---------
40693
SQL> select count(*) from dict_columns;
COUNT(*)
---------
15705
SQL> select count(*) from dict;
COUNT(*)
---------
659
●2008年1月1日
defaultRoleの実験
SQL> create user defaultRoleTest identified by defaultRoleTest;
ユーザーが作成されました。
SQL> grant create session to defaultRoleTest;
権限付与が成功しました。
SQL> grant resource to defaultRoleTest;
権限付与が成功しました。
SQL> alter user defaultRoleTest default role none;
ユーザーが変更されました。
SQL> conn defaultRoleTest/defaultRoleTest
接続されました。
SQL> sho user
ユーザーは"DEFAULTROLETEST"です。
SQL> create table aaa as select * from dual;
create table aaa as select * from dual
*
行1でエラーが発生しました。:
ORA-01031: 権限が不足しています。
SQL> set role resource;
ロールが設定されました。
SQL> create table aaa as select * from dual;
表が作成されました。
●2008年1月1日
disable validateの実験
SQL> create table checkTest(
2 ColA char,
3 constraint ColACheck check (ColA between 'A' and 'B'));
表が作成されました。
SQL> alter table checkTest disable novalidate constraint ColACheck;
表が変更されました。
SQL> insert into checkTest values('A');
1行が作成されました。
SQL> update checkTest set ColA ='A';
1行が更新されました。
SQL> update checkTest set ColA ='Z';
1行が更新されました。
SQL> truncate table checkTest;
表が切り捨てられました。
SQL> alter table checkTest disable validate constraint ColACheck;
表が変更されました。
SQL> insert into checkTest values('A');
ORA-25128: 制約(TEST.COLACHECK)が使用禁止および検査対象の表で挿入/更新/削除はできません。
SQL> update checkTest set ColA ='A';
ORA-25128: 制約(TEST.COLACHECK)が使用禁止および検査対象の表で挿入/更新/削除はできません。
SQL> update checkTest set ColA ='Z';
ORA-25128: 制約(TEST.COLACHECK)が使用禁止および検査対象の表で挿入/更新/削除はできません。
SQL> truncate table checkTest;
ORA-25128: 制約(TEST.COLACHECK)が使用禁止および検査対象の表で挿入/更新/削除はできません。
SQL> alter table checkTest enable novalidate constraint ColACheck;
表が変更されました。
SQL> insert into checkTest values('A');
1行が作成されました。
SQL> update checkTest set ColA ='A';
1行が更新されました。
SQL> update checkTest set ColA ='Z';
ORA-02290: チェック制約(TEST.COLACHECK)に違反しました
SQL> truncate table checkTest;
表が切り捨てられました。
SQL> alter table checkTest enable validate constraint ColACheck;
表が変更されました。
SQL> insert into checkTest values('A');
1行が作成されました。
SQL> update checkTest set ColA ='A';
1行が更新されました。
SQL> update checkTest set ColA ='Z';
ORA-02290: チェック制約(TEST.COLACHECK)に違反しました
●2008年1月2日
Redoログに対するDDLの実験
SQL> alter database add logfile group 40 ('D:\oracledatafile\redo40-1.ora') size 10M;
データベースが変更されました。
SQL> alter database drop logfile group 40;
データベースが変更されました。
SQL> alter database add logfile group 4 ('D:\oracledatafile\redo4-1.ora') size 10M;
データベースが変更されました。
SQL> alter database add logfile member 'D:\oracledatafile\redo4-2.ora' to group 4;
データベースが変更されました。
SQL> alter database add logfile member 'D:\oracledatafile\redo4-3.ora' to group 4;
データベースが変更されました。
SQL> alter database drop logfile member 'D:\oracledatafile\redo4-3.ora';
データベースが変更されました。
SQL> alter database drop logfile member 'D:\oracledatafile\redo4-2.ora';
データベースが変更されました。
SQL> alter database drop logfile member 'D:\oracledatafile\redo4-1.ora';
ORA-00361:
D:\oracledatafile\redo4-1.oraはグループ4の最後のログ・ファイル・メンバーなので削除できません
SQL> alter database clear logfile group 4;
データベースが変更されました。
SQL> alter database clear logfile 'D:\oracledatafile\redo4-1.ora';
データベースが変更されました。
●2008年1月4日
SQL> col parameter for a30
SQL> col value for a30
SQL>
SQL> select parameter,value from nls_database_parameters
2 where parameter like '%CHARACTERSET%';
PARAMETER VALUE
---------------------- ---------
NLS_CHARACTERSET JA16SJIS
NLS_NCHAR_CHARACTERSET AL16UTF16
●2008年1月6日
SQL> col name for a15
SQL> col value for a55
SQL> select name,value
2 from v$parameter2
3 where name in('db_block_size','db_name','control_files');
NAME VALUE
------------- ---------------------------------------------------
control_files D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
control_files D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
control_files D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
db_block_size 8192
db_name orcl
●2008年1月7日
SQL> sho parameter os_authent
NAME ■TYPE ■VALUE
-----------------■-------■-----
os_authent_prefix■string ■OPS$
remote_os_authent■boolean■FALSE
●2008年1月8日
alter session set nls_language = 'AMERICAN';
を使うと、エラーメッセージを英語にして、
to_dateなどの、日付書式のmonの英語書式に対応できるようだ。
US-OTNにSQLを投稿する時に、役立ちそうだ。
nls_languageは、
nls_date_Languageにも影響するので、
US-OTNのwith文を使う時にも、役立ちそうだ。
SQL> select
2 to_char(sysdate,'mon','nls_date_Language =AMERICAN') as ex1,
3 to_char(sysdate,'mon','nls_date_Language =JAPANESE') as ex2 from dual;
EX1 ■EX2
------■---
jan ■1月
■■■■■■■■■■■■■■■■■■■■■■■■■■
SQL> alter session set nls_language = 'AMERICAN';
Session altered.
SQL> alter session set nls_language = 'JAPANESE';
セッションが変更されました。
■■■■■■■■■■■■■■■■■■■■■■■■■■
nomount時の文字化け防止にも使える。
C:\>set NLS_LANG=American_Japan.JA16SJIS
C:\>sqlplus /nolog
SQL> conn / as sysdba
SQL> startup nomount
●2008年1月20日
9i DBAIに満点の60点で合格できました。
ORACLE MASTER Silver Oracle9i Database(OCA)
の申請をするとしよう。
次は、10g DBA Silverです。
2月中には、合格したいですね。
学習の記録
9i DBAI
●2007/12/16 黒本(1回目) 章末問題 41/59 (正解率69%)
●2007/12/23 赤本(1回目) 章末問題 53/62 (正解率85%)
●2007/12/25 白本(1回目)
●2007/12/25 黒本問題集(1回目) 模擬試験1回目 46/60 (正解率77%)
●2007/12/29 黒本問題集(1回目) 模擬試験2回目 47/60 (正解率78%)
●2007/12/29 黒本問題集(1回目) 模擬試験3回目 47/60 (正解率78%)
●2007/12/30 黒本問題集(1回目) 模擬試験4回目 50/60 (正解率83%)
●2008/01/01 クラムメディアの無料問題(1回目) 17/20 (正解率85%)
●2008/01/02 Project∞の無料問題(1回目) 13/14 (正解率93%)
●2008/01/09 Try! ORACLE MASTER (1回目) 7/8 (正解率88%)
●2008/01/08 @ITの講座 (1回目)
●2008/01/05 黒本(2回目) 章末問題 53/59 (正解率90%)
●2008/01/09 赤本(2回目) 章末問題 57/62 (正解率92%)
●2008/01/12 白本(2回目)
●2008/01/12 黒本問題集(2回目) 模擬試験1回目 60/60 (正解率100%)
●2008/01/12 黒本問題集(2回目) 模擬試験2回目 58/60 (正解率97%)
●2008/01/13 黒本問題集(2回目) 模擬試験3回目 59/60 (正解率98%)
●2008/01/13 黒本問題集(2回目) 模擬試験4回目 55/60 (正解率92%)
●2008/01/13 クラムメディアの無料問題(2回目) 18/20 (正解率90%)
●2008/01/13 Project∞の無料問題(2回目) 13/14 (正解率93%)
●2008/01/13 Try! ORACLE MASTER (2回目) 8/8 (正解率100%)
●2008/01/15 @ITの講座 (2回目)
●2008/01/19 黒本(3回目) 章末問題 53/59 (正解率90%)
●2008/01/22 赤本(3回目) 章末問題 61/62 (正解率98%)
●2008/01/26 白本(3回目)
●2008/01/27 黒本問題集(3回目) 模擬試験1回目 59/60 (正解率98%)
●2008/01/27 黒本問題集(3回目) 模擬試験2回目 59/60 (正解率98%)
●2008/01/27 黒本問題集(3回目) 模擬試験3回目 58/60 (正解率97%)
●2008/01/27 黒本問題集(3回目) 模擬試験4回目 58/60 (正解率97%)
●2008/01/19 クラムメディアの無料問題(3回目) 18/20 (正解率90%)
●2008/01/19 Project∞の無料問題(3回目) 12/14 (正解率86%)
●2008/01/18 Try! ORACLE MASTER (3回目) 8/8 (正解率100%)
●2008/01/17 @ITの講座 (3回目)
オラクルマスターへの道
スキル創造研究室
9i DBAI講座
10g DBA Silver講座