スキップしてメイン コンテンツに移動

投稿

7月, 2020の投稿を表示しています

ORACLEの移行作業に役立つ情報

普段ならGold Fingerだっけ? を利用してコピーしたり バックアップ→リストアで移したりするが、 今回は1回で終わる作業だし バックアップ容量が5TBなのでサービス停止時間が長すぎてバックアップはしなくデータだけコピーした後、実際サービスを止めた後からは差分だけコピーすることにした。 手順は次の通り。 1.コピー先のサーバーにORACLEインストール及びDatabase生成。 2.作業用のユーザー作成及び権限割り当て 3.Database Link作成・権限割り当て 4.テーブルコピー 5.Index作成 6.PKをusing indexを利用して作成 7.Procedure・Functionコピー 8.Sequence作成 9.テスト! の用に作業してみた。 最初のコピー時エラーが発生。 LONGタイプが分からないとかのメッセージだった。 LONGタイプってORACLEにない! これはCUSTOM TYPEだった! なのでCUSTOM TYPEも作成スクリプトを追加。 1次テストのとき テーブルコピーは create table as select * from TABLEA の形式でやってたらDefaultがコピーできなかった! Scriptの作成をやり直し! DDL_METADATA 関数でテーブル生成スクリプトを作成してsqlファイルに落とす。 その後ファイルを実行してテーブルを作成してからinsert intoでデータを入れる その後 Procedureがないとの連絡が来た。 探してみたら、Packageだって。 またすべてのPackageを生成するスクリプト作成。 一応エラーは解決かな。 2次テストを待ってる。 これが成功すれば約3000万円のコピーツールライセンスが要らない。 そしてバックアップでのサービス停止の売り上げ損失もなし。 最終的に差分コピーの時間はさすがに停止しないといけないけど。 DWHチューニング・統計情報管理等々 https://www.oracle.com/jp/technical-resources/articles/pickup.html Lowy Knowledgebase for more information... https://github.com/LowyShin/KnowledgeBase/wiki

16.8Vが選択間違いだったのか?自作携帯UPS

最初に買ったACがサポートしたバッテリーが18650の16.8Vモデルだったので 16.8Vをメインにしよう と思って色々やってみたが かなりハドルが高い。 まず12Vではないので車用電化製品がそのまま使えない。 車用の製品の中で保護回路があるものは 大体10.4V ~ 16Vまでになっているのが多い。 なので16.8Vのは過電圧保護のため起動しない。 それで色々試してみた。 まずは ◆ソラーパネルチャージコントローラー これはバッテリーが繋がってないと起動しない。 そもそもバッテリーが16.8Vなのでバッテリーをソラーパネル端子に繋いで電圧を下げるつもりだったが、12Vのバッテリーが必要。 16.8Vバッテリーをバッテリー端子に繋ぐと機器接続端子も同じ電圧が流れてしまう。 ◆過電圧保護チャージコントローラー これもソラーパネルと同じ。バッテリーの接続が前提になっている。 ◆中国製の車用100V ACインバーター これは16.8Vのまま稼働する! しかし! AC部分の電圧を計ってみたら 180V....。 100V +-10%の一般電化製品は注意が必要だな。 ◆中国製のインバーターに海外旅行用100V変圧器を繋いでみた! やっと! 180Vのが92Vまで下がった。 しかしここに48V 3Aの電動自転車アダプターで充電したら海外旅行用変圧器がシャットダウン。多分過電流保護回路が回ってる。 一般コンセントに挿してみたら正常に動く。壊れてはないな。 結局、 バッテリー自体から190Wの電力を引くのは無理かなぁと。 しかし、もともと500Wのうるさい車用インバーターはあの電動自転車の充電ができた。 これは16V下を維持しないと電源すら入らないから電圧を下げようと色々工夫してたが、 まだ見つからず。 今までの内容を整理してみたら 現状は 90W未満(ノートパソコンなど)のAC充電は最初購入したAC付きバッテリーに大容量16.8Vバッテリを繋いで使う。(これはアダプター端子で簡単に接続可能) 90W以上のACを利用する場合は中国製のインバーターを使ってACには電圧フリー(100V~220Vって書いてるやつ)のアダプターなどを利用して使う。 48V自転車の充電は遅くなるけど3Aを使わずに2Aで充電をする。 まずはこの程度で長距離の電動自転車での旅ができるかなと。

太陽光発電パネルテスト。

このような折り畳み式の 18V 80Wの ソーラーパネルを購入しました! そんなに日差しが良くなくても 18.1Vが計測されていいと思ったら 直接車用インバータに繋いでみたら 5.95Vしか入りませんでした。 それで持っていた車のエンジンスターターがある バッテリーに繋いでみたら成功! 元々太陽光発電には電力の安定供給のため パワーコントローラーというのを付けてます。 PWMとかMPPT方式に分かれて電気変換効率によって 方式と値段が変わりますね。 まずはパワーコントローラーが来るまで このバッテリーが代わりになりました! 大容量バッテリーも準備したので これで行けるかと。 150000mA (580Wh)の大容量バッテリーと 海外旅行に使う40000mA (150Wh)を 用意して電気節約ライフを! また実験して投稿します!

電気代が30%以上安くなる!深夜電気の活用方法

お家のバッテリーを集めて 深夜充電 及び ソラーパネル充電 を設計してみました。 左の黄色いボックスは携帯用5Vバッテリーで、 青色は自作大容量14.8Vバッテリーです。 これがなくても5Vだけでも行けますが、 お家の昼間の電気使用量に応じて 設計すればいいかと思います。 メインを14.8Vにした理由は 車用品の電化製品が使えて 非常時またはキャンプでの利用も 想定したためです。 14.8Vのバッテリーは 18650を4つつなげれば作れます。 BMS(battery management system)などを入れないと 過充電・過放電による発火の恐れがあるので 必ずバッテリーセルの数分のBMS回路を入れることをお勧めします。 バッテリーセルが多くなると 各バッテリーセルにBMSが入ったら 半端じゃない値段になります。 なので大量を使って作る場合は 1ボードに多くのセルがコントロールできる BMSボードを購入することをお勧めします。 これに18650バッテリーセルを入れて 並列につないでいけば 好きな容量のバッテリーパックになります。 ここに 車用のACインバーターを繋いだら 100VのAC電気が発生します。 これでパソコンをつないだりすると 非常時電気が切れても パソコンは動くのです! UPSの代わりにも使えるし これを40000mAずつ 分けて作ったら 3.7V x 40000mA = 148Wh のバッテリーパックになるので 機内搬入ができる最大限のサイズになります。 ここによる充電をすると 昼の20円の電気代が 7.6円から14.13円程の 最大約70%まで安く電気が使えます! 夜間電力の割引価格を比較 http://standard-project.net/energy/statistics/elec-price-night.html もし1か月電気代が1万円だとしたら 1年だと最大約8万円節約できます! 年間8万円節約のために このように作るがいは あるんじゃないでしょうか? 完成したらこんなふうになりました! もし自作したいと思ったら 情報共有致します! giip :: Free mixed RPA orchestration tool!  https://giipasp.azurewebsites.net/

lftpを利用してサーバーとGithubを同期させろ!

特定サーバーはFTPしか使えない状況。 そのサーバーから毎日のデータを読み取りGithubにアップしてほかのサーバーにDeployしないといけない状況です。 ここでrsyncはFTPを介して使えないためlftpというツールを見つけました!Linuxならすぐインストールできるので気軽にインストール apt install lftp ubuntuなのでaptを使いました。もしCentOS系列ならyumでやってみてください。 ファイルは毎日増え続けるため今日と昨日の日付のファイルのみ同期させたい。 サーバーからは削除したりするけど同期元は削除されたら困る。 とのことで 日付を今日と昨日をキャッチする Today= `date '+%Y-%m-%d'` Yesterday= `date +%Y-%m-%d --date '1 day ago'` まずはgitレポジトリーに移動して同期 cd  /home/giip/syncfiles git pull origin master githubから同期したらlftpを利用してファイルを同期 lftp -c  "set ftp:list-options -a; open 'ftp://GEBEDREAM:KFn \$ tMef@93.46.41.5'; cd /; lcd /home/Projects/gebedream/files/company; mirror --use-cache --verbose --allow-chown --allow-suid --no-umask --parallel=2 --log=/var/log/lftp.log --include-glob * ${Today} * --include-glob * ${Yesterday} * " ワイルドカードを利用して対象ファイルを絞らないと全てをダウンロードしてチェックしちゃうので時間がかなりかかる。 --include-glob * ${Today} * --include-glob * ${Yesterday} * 同期が終わったら git pushでgithubにアップします。 git add  . git commit -m  "daily sync by 

面倒くさいORACLEの文字化け状況

ORACLEはそもそもUTF-8をサポートしてほかの言語はサポートはしているって書いてますが親切ではないようです。 現在サーバー側は昔からUS7ASCIIに設定して日本語を入れてしまい、データは7ビットASCIIモードで読み取りながら日本語のコートがOS側とクライアント側で変換しない必要があります。 クライアント側で文字化けの解決にはNLS_LANGの設定が効くクライアントが必要ですが、一部の有料クライアントにはサポートするようです。 接続構造は参考に https://www.oracle.com/technetwork/jp/content/charcterset-250314-ja.pdf の19スライドのように クライアントからNLS_LANGをUS7ASCIIに設定しても その設定した言語にもらったUTF-8のデータをクライアントが変換すると NLS_LANGを設定しても意味がないようです。 ORACLE SQL Developerがこの様です。 ODBCと直接接続は必ずUTF-8に変換してしまうのでUS7ASCIIになっているDBからはクライアントをいくら変換しても文字化けのままです。 必ずOCI接続を通じてクライアント側から読み取らないとUS7ASCIIは勝手に変換されますね。 この全ての条件が満たした無料クライアントはA5mk2の2.9.1バージョンだけですね。 A5MK2 ver.2.9.1 : https://a5m2.mmatsubara.com/download/a5m2_2.9.1_x64.zip 2.9.1 バージョンでサーバーを設定する場合Uicode変換を強制に無視するオプションがあります。 多分このバージョンの時点ではUTF-8をメインにして設計したDBが少なかったから文字化け対応のためできたオプションでしょう。 しかし、A5mk2の新しいバージョンにもまた結果の変換をしないオプションがなくなって文字化けしてしまいます。開発者はもうUTF-8ではないDBはないと思ってるでしょう。まだまだ残ってますよ~。 クライアント側からの変換などに参考になればと思います! まだ直接お仕事になさってますか? もう遅いです!ソフトウェアロボットにお仕事を任せてどの位自分の作業分量が減ってるかをご確認ください! https://talklowy-jp.b