カテゴリ: program

Oracle JDBC drivers on Maven Central
の手順でおk。
Ivyの場合は
<dependency org="http://com.oracle.ojdbc" name="ojdbc10" rev="latest.integration" />
を加えるだけ。
因みに上記は無責任に「その時の最新版」を持ってくる設定なので、ちゃんと使う人はちゃんとバージョン情報指定した方が良いだろう。
OTNからダウンロードする時はOTNのアカウントが必要だったが、Mavenの時は特に認証情報は不要。使う際のライセンス関連は知らぬ。ただ、Oracle DB使う人がOTNやMOSのアカウント持ってない状況は考えにくいのでまぁ深く考えない事とする。
やさしく学ぶ基礎からのJDBC
伊賀 敏樹
毎日コミュニケーションズ
2004-04


このエントリーをはてなブックマークに追加

Excelにスクリーンショットを貼り付ける仕事で鬱病になった話からのhttps://b.hatena.ne.jp/entry/s/dawn2721.hatenablog.com/entry/2019/12/04/191305だ。

shironeko_t 実際1か月ひたすらスクリーンショット貼るだけの仕事をしたことがあるがメンタル壊しかけた。ちなみに改善なんて聞く耳持たれない環境は多いよ
musashisaaan スクショ大変と言ってる連中見る度に思うが1度目にかかった作業時間を見積もりとして伝えて以降は自動化しておけばその時間やりたい放題なのにそれが出来ないなら無能を証明してるので社会に居なくても問題無い
AKIMOTO ツール自動化が許される職場は、そもそもこの仕事無くなってる職場だろうから、安易に「自動化すれば?」と言えないかも
Hamachiya2 理系でエンジニアになったのに単純な仕事ばかりで病んだという話。けど作業を自動化するのがエンジニアの仕事では。人の判断が必要な所もあるだろうけど、そういうものこそ腕の見せ所では?

切りがないので以下略。

いいかー、無職の耳年魔諸君。
システムを操作しながらスクリーンショットを撮影し、それをExcelのシートにペーストすることで、エビデンス(証跡)としたり、システムの操作マニュアルを作成したりする……
は恐らくST、システムテストだ。システムを作り終えてお客様に納品する前にちゃんと動く事を確認する作業。基本的に1回しかやらない(事を願いつつ鯖を読んで2回位できるスケジュールで見積もる)。
自動化は魔法ではなく、自動化自体にも工数が掛かる。良くあるSelenium WebDriverあたりだとすると、スクリプト作るのにまず1回通し、スクリプトの動作確認に1回流し、一発で通る時ばかりではなく間違いもあるだろうから修正してもう1回。そして本番に1回流す。4回やる。4回…スクリプト作る時にスクリーンショット取っておけば1回で済まね?手動の4倍の工数だ。
まぁ同じSTを20回位やるなら自動化も効果アリだろうが…逆に、20回もSTやるってどんな状況なんだという。
次回使える?次回作るのは全く別のお客の別のシステム。使いまわしできるのはSelenium本体位だぞ(SeleniumもFirefoxやChromeが自動アップデートするとしばしば使えなくなるので本体すら怪しいが…)。
アジャイル?どこかで社内に部長級オンサイト顧客を常駐させることに成功したら起こして。。
そもそもSTとは、STを開始できる状況(DB更新処理ならDBを更新前の値にセットせねば…とか、他所のグループのコンポーネントの具合とか)を整える方に頭と手間がかかるのであり、操作してキャプチャ貼るなど最終段階故に(トラブルが無ければ)大した事なく、仮にそこだけ工数削減しても意味無いし(しかも上記の通り工数削減にはならない)。
しかも。何か想定と違う事が起きたとするじゃん?(まぁ起きるんだけど)
人手で一つ一つ確認して行っていれば、何か起きたらその時点の状態でログインして調査が出来るのに対し、スクリプトの作りが雑だと先に進んで状態も変えちゃったり。となるとログから推測するしかなくなり、せっかく実機に触り放題だというのにもったいない。
単体テストと違い、結合テストの自動化はまだ人類には早いというのが私の意見だ。

そもそも最近は案件が短期だから
何年もやってるって、つまり、案件を何件経験しても他に任せられる仕事が無い証。


このエントリーをはてなブックマークに追加

歴史的経緯というか怠け的経緯から、サークル名だけはHTMLでもっているので(本来はサークルのURLと名前の2つのフィールドとすべき)、ダブルクォーテーションが悪さをしまくる。今回もSQL*Loaderで悪さをする。
まぁ奴はいずれ直さねばとは思ってはいたものの、何年もこの調子でずるずる伸ばしてきたが、DBが絡んできた今こそ、決着をつける時かもしれない…。
Java部分は読み書き処理は集約してるから容易いが、PHP側がな…。
いや実は数年前にPHP版も読み書き部分は集約しているのだけれど、集約したのは当時の新型ブラウザとスマホ対応版で、昔のIEとかフィーチャーフォンとかPSPを検出すると動く方は未知数…。面倒だからこれを機にBulma未対応のクライアントは切ってしまうか…まぁ調査結果次第か。できれば残すに越した事は無いし。
どうも段々、検索エンジン実装から離れてきたが、まぁ年末年始で何とか。いや、年末年始はかき入れ時なので避けるとして年始明けに一気に置換を目指しコツコツと…。
このエントリーをはてなブックマークに追加

先日からOCIのFree TierのAutonomous DBにアフィサイトのデータを入れてOracle Textで検索エンジンにしようとしているんだが、諸般の事情で1テーブルに全部入れられず、更新タイミングが違う2テーブルを
参照時に結合せねばならぬ事が判明、となるとマテリアライズドビューがよかろう。
で調べてたら、https://qiita.com/ora_gonsuke777/items/7f790554a84c1aa16a71 という話が。Object Storage上のgzipなCSVをOracleから外部表として参照できるそうな。
実表とマテビューの両方を持つのは全20GBのFreeTier的に勿体ないので、実表の片方をこれにすれば大分節約になるのではないか。
そもそもマテビューにすれば、gzip転送時間は裏でいくら掛けても良いのでは。となると何もOCIのCompute使わず、我が家の自宅鯖からObjectStorageにのんびり転送すれば良いという事になり、色々と良い事ずくめなので、ちょっとこっちのやり方を研究しよう。実務にも役立たないとも限らない。
このエントリーをはてなブックマークに追加

CSVとsqlldrはrsyncでデータ同期してそっちでやる。メモリが1GBだが、スレッド数絞れば多分大丈夫。
Oracle Cloud InfrastructureのFree Tierは、サーバがぎりぎりなのか、中々プロビジョニングに成功しないが、こんな事もあろうかとCLIでバッチを以前作っておいたので大丈夫だ。成功するまで1時間に1回、機械に不眠不休で実行させようかと思ったが、手動の1回目でできた。
rsyncはやっぱ同じFault Domain内だと早いな。我が家のパソコンからインターネット経由で転送とは大違い。
rsyncコマンドのオプションはいつも忘れてその度にインターネットで調べるので記載。相手サーバ内のファイルを自分の方に持ってくるケース。
REMSRC=相手サーバ内ディレクトリ名/
LOCDST=自分のディレクトリ名/
rsync -av -e "ssh -i 秘密鍵ファイル" ユーザ名@接続先サーバIPアドレス:$REMSRC $LOCDST
で、ディレクトリの内容を同期する。
なんだか段々システム間連携っぽくなってきたな。
オンライン用サーバと夜間バッチサーバとDBサーバ。
このエントリーをはてなブックマークに追加

いや、接続テストまでは成功するんだが…いざ接続しようとすると…名前に気に入らない文字列が入っていると言って、SQL Developer 19.1.0様が処理を拒否する。
多分スラッシュが気に入らないのだと思うけど、しかし接続名はAutonomousが指定したものだが…。
実は、Oracle SQL Developer (18.2以降)での接続で記載されている「接続名: このクラウド接続の名前を入力します。」は、OCI管理コンソールのATP画面の「接続」で表示される接続用文字列ではなくて、TNS名を指定。接続用文字列を入れるとテストは成功するが、いざ接続しようとすると以下のエラーとなる。
sqldev2
そういえばこれ、DBCSのPDBの時も起きたような気がする。まだ直ってなかったのか。いい加減、sqldeveloper直せよ…。断固TNS名を使わせるつもりなのか。
このエントリーをはてなブックマークに追加

ZIP解凍先\sqldeveloper\bin\ に、sqldeveloper.conf や jdk.conf という如何にもそれっぽいファイルがあるが、Windows版ではそれは罠だ。そこに記述されている SetJavaHome を書き換えても意味が無い。
Windows版は %APPDATA%\sqldeveloper\19.1.0\ の下の product.conf を書き換える。

私のPCにはJDK13がインストールされているが、SQLDeveloperは未だにJDK9.1以前対応。そうは言っても実は起動するだろ?とJDK同梱でない版をダウンロードして、初回起動時にJDK13のJAVA_HOMEを指定したら、dllが無いと言われて起動せず。
その後、JDK 8同梱版をダウンロードするも、何故か、JDK13の方を見に行って起動に失敗してな…。原因はこの%APPDATA%配下が残っていたという訳だ。

Oracle SQL Plusデスクトップリファレンス
ジョナサン ジェニック
オライリー・ジャパン
売り上げランキング: 248,395
このエントリーをはてなブックマークに追加

https://twitter.com/nekora2199 
ActiveMQとSparkの常駐プロセス×2に、1分毎に起動停止を繰り返すPython3だが特に遅延とかは無いっぽい。1/8 OCPUで充分らしい。
あと、Autonomous Databaseって、Exadataの端が使えるんだけど別に使い道ないよな…sqlite3で充分だし…。Oracle Textって全文検索エンジンがあったけどアレはどうなんだろう。でも20GBじゃな…半分位一時表やら索引としたら10GB。

チャットボット AIとロボットの進化が変革する未来
金城 辰一郎
ソーテック社
売り上げランキング: 125,419
このエントリーをはてなブックマークに追加

まだ正式稼働にはしていないが、ちょっとファイル転送とかyum -y updateした限りでは、1/8 OCPUとは言え、そんなに無茶苦茶遅くて使い物にならないって訳ではなさげ。
Oracle Linuxにしたが、タイムゾーンがデフォではGMTなのに注意だ。東京リージョンなのに。キーボードもUS。日本語化したら雛型として置くのがよかろう。
Block Volumeは何も接続していないが、Boot Volumeだけで35/50GB程空きがある。Block Volumeはマウントしないでクローン用の領域とかに使った方が良いかも。Boot Volumeのバックアップも作れるようだけれど、ブートイメージのバックアップはOracle社管理のObject Storageに作られる筈で、このObject StorageはAlways FreeのObject Storage 100GBにカウントされるのかは謎である。Boot Volumeのバックアップならたしかカスタムイメージがそもそも無料だったような気がする。
今回はOracle Linuxにしたが、やっぱCentOSの方が何かと情報があって便利なのでCentOSにすればよかったかも。兄弟というか双子的な存在なので大体当てはまるんだが当てはまらない時があるし。
セキュリティリストはやっぱ接続元はCIDRで絞るしかないようで、我がプロバイダ、常時接続とは言え、何かの拍子で繋ぎなおすとIPアドレスが変わって弾かれるかもしれない。その時はその時だ。

このエントリーをはてなブックマークに追加

先週、out of capacityでむきー!こうなったらcronで毎日深夜にプロビジョニングのリクエストして出来るまで何か月でも待とうと、OCI CLIなシェルを作ったが、まぁ動かす前に一応パラメータの確認を兼ねてWebコンソールから作ってみようかな?と作ったら、何かそのままプロビジョニングが通ったぜ…。
可用性ドメインの名前がいつものEIEP:~ではなく、mhkC:~って見慣れない名前なのが気になるがまぁTOKYOと言ってるので東京だろう。
とりあえず、プライベートサブネットとパブリックサブネットにVMを一つずつ。両方共プライベートにして前段にLB置くのが良いのだろうけれどまず普通にログインできるのが欲しかった。OSはOracle Linux。CentOSでも良いんだけど、Oracle CloudならOracle Linuxだろう(←失敗だった。Computeに敢えてOracle DB SE2/EEをインストールしようって訳でないならCentOSにすべき)。
作ったは良いが、セキュリティリストで我が家のプロバイダ以外からは入れないように設定するまではVMを停止しておこう。最近は中国人コインマイナーが30秒くらいで侵入するからな。SSH鍵とは言え油断大敵。おのれ中国。だが電源を切ってしまえば如何にスーパーハカーと言えども侵入してコインマイナーを配置するのは難しかろう。
それにしてもWebコンソール、操作メニューに「停止」と「終了」があるんだが、「終了」は「削除」って表記にすべきだと思う。絶対、止める積もりで消してしまう事故が起こるよ。

このエントリーをはてなブックマークに追加

↑このページのトップヘ