月別アーカイブ: 2015年4月

[Oracle初心者運用メモ]テーブルの閲覧権限ユーザ作成

客先のシステムで使用しているOracle11gのあるテーブルを
別システムからも参照したいということで
更新はできない閲覧権限ユーザを作成することになりました。

別ユーザを作成した場合、スキーマも別になってしまうため
下記のような参照となってしまいます。

「masterA」テーブル作成ユーザ・・・aaa
閲覧権限を与えた別ユーザ・・・bbb

bbbが「masterA」を参照するには下記のように、
スキーマ名.テーブル名で参照する必要がある。

SELECT * FROM aaa.masterA;
別ユーザからもスキーマ名なしで参照できるようシノニムを作成し
下記の手順で閲覧権限ユーザを作成しました。

1.シノニムをつくる
CREATE PUBLIC SYNONYM masterA FOR aaa.masterA;

2.テーブルにpublicでselect権限を付与する
GRANT SELECT ON masterA TO PUBLIC;

3.ユーザを作成する
CREATE USER bbb(ユーザ名)
IDENTIFIED BY パスワード
DEFAULT TABLESPACE ユーザ領域名
TEMPORARY TABLESPACE 一時領域名;

4.ユーザに権限を付与する
GRANT CONNECT, RESOURCE TO bbb;
⇒接続とcreate系のロール(RESOURCE)を付与する

GRANT SELECT ANY TABLE TO bbb;
⇒select権限を付与する

 

スクラム研修まとめ②

前回はアジャイル開発について簡単に書きました。
今回からスクラムについてまとめていこうと思います。

スクラムというマネジメント手法にはルールがあり、そのルールを理解するためにはまず、スクラムにおける用語を知っておく必要があります。今回はその用語のなかで登場人物(役割)に関するものを書いていきます。

スクラムには登場人物(役割)として
・プロダクトオーナー
・開発チーム
・スクラムマスター
がいて、この3者のグループをスクラムチームと呼びます。

■プロダクトオーナー
・プロダクト(システム)の価値を最大化することに責任を持つ
・プロダクトバックログ(開発要件)の定義や優先順位付けを行い開発チームに伝える
・要件とその優先順位を決める必要があるので基本的にはお客様側の人が担当する

■開発チーム
・スプリントごとの成果物のリリースに責任を持つ
・自己組織化されたチームである(自分たちで判断し仕事を進めることができる)
・チームは10名弱で構成される
・開発ベンダー側が担当する

■スクラムマスター
・スクラムの推進に責任を持つ
・スクラムチームの支援をおこなう
・開発ベンダー側が担当する

私はまだスクラムを実践したことがないのでスクラムマスターの立ち位置や具体的な仕事内容が正直ピンと来ていませんが、ひとつ言えることは、スクラムマスターはプロジェクトマネージャではないということです。あくまでスクラムに沿ったマネジメントが円滑に進むよう力を尽くすのが仕事です。

今回はここまでです。
その他の用語も出てきましたね。次回はその辺りの用語について書いて行きたいと思います。

[Oracle初心者運用メモ]VB.NETからOLEDB接続で予期せぬエラー

久々にOracle関連の記事を書いてます。

VB.NETでOracle10gに接続しているシステムを使用されている客先より、
パソコンのパーティションを分けたら、システムで予期せぬエラーが
出るようになったという連絡があり調査することに。。

VB.NETからの接続は、ADO.NETを使用してOledb接続をしているのですが
接続ではエラーになっておらず、SELECTコマンドを実行したことろで
下記のエラーが出ていました。

0x8000FFFF(E_UNEXPECTED)

パーティションを分けたということでしたので、
(OracleはCドライブに入っている)
PATHの設定などがおかしくなっているのかと思い、
環境変数のPATHを確認したり、ORACLE_HOMEを設定してみたりしましたが
解決せず。。

ネットで同様の事例がないかを調べてみたところ、
同様の現象の質問をされている方に対して、アクセク権の問題ではないか。との
回答でいろいろ試行錯誤されており、、
その方は最終的に今までCドライブにOracleをインストールしていたのを
Dドライブにインストールしてみたら回避できたとありました。

そこで、私も、客先パソコンは、CドライブとFドライブに分けていらっしゃたので
FドライブにOracle11gをインストール。
でも、それだけでは、現象は回避されず

接続のプロバイダを下記の「MSDAORA」から
Provider=MSDAORA
「OraOLEDB.Oracle」に変更し
Provider=OraOLEDB.Oracle

正常に動作するようになりました。

結局、原因はわからないままですが
この対応で使っていただくことになりました。