UJP - ハウツーカテゴリのエントリ

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

  • カテゴリ ハウツー の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - ハウツーカテゴリのエントリ

 やることは昔から変わってない.

 イソターネット老人会に属しそうな私からすると,外部サービスとか整備されたツールとか用意されているものが違うから,それらから何をどう使うかを選ぶ時代かなというのは参考になる.

Webアプリケーションのパフォーマンス・チューニングの勘所
https://speakerdeck.com/soudai/web-tuningperformance
 良かったのでメモ.


HTTPを手で書いて学ぶ ファイルアップロードの仕組み
https://speakerdeck.com/ikumatadokoro/httpwoshou-deshu-itexue-bu-huairuatupurodonoshi-zu-mi

DiffBIR 画像鮮明ツール

カテゴリ : 
ハウツー
ブロガー : 
ujpblog 2023/10/20 15:46
 メモ.

生成拡散事前分布を用いたブラインド画像復元

https://github.com/XPixelGroup/DiffBIR

macOS用インストール

https://github.com/XPixelGroup/DiffBIR/blob/main/assets/docs/installation_xOS.md

Python 3.9が必要.

 インストールしてみたけどうまくいかない途中状態.

...続きを読む

ポンチ絵

カテゴリ : 
ハウツー
ブロガー : 
ujpblog 2023/10/7 16:14
 考察が面白い.確かに独特の世界観がある.

横向きA4サイズの現代アート。霞が関の「ポンチ絵」はどうして生まれたか? その知られざる使命とは
https://note.com/narumi/n/nf4210a6c6051

APIを叩く

カテゴリ : 
ハウツー
ブロガー : 
ujpblog 2023/9/9 11:07
 メモ.

外部サービス提供のAPIを叩く時に気をつけていること
https://zenn.dev/sky/articles/6f79982ca89ea3

プロフェッショナルIPv6

カテゴリ : 
ハウツー
ブロガー : 
ujpblog 2023/8/7 1:37
 IPv6は,勉強しなければと思いつつ,必要に迫られないので放置気味.気味というか完全放置.いやもっというと避けている.

プロフェッショナルIPv6
https://forest.watch.impress.co.jp/library/software/proipv6/

 とりあえずこの478ページある本をありがたくPDFで入手させていただきました...

追記2023/08/09

AWS、IPv4アドレスの使用に課金、1時間当たり0.005ドル。2024年2月1日から
https://www.publickey1.jp/blog/23/awsipv410005202421.html

引用:
Amazon Web Services(AWS)は、サービスを外部に公開するためのパブリックなIPv4アドレスを使用する場合に、1時間あたり0.005ドルの課金を2024年2月1日から開始することを発表しました。

1時間当たり0.005ドルは1日当たりに換算すると0.12ドル、1カ月を30日とすると1カ月当たり3.6ドル。1ドル140円換算で1カ月当たり504円となります。
 うちで運用しているのは8IPのサービスで5,720円/月(ファミリーマンションタイプ).現在わかっているawsでのIPv4の固定IPで試算すると月額4000円なので,そっちの方が安い.

ERROR: Unable to extract uploader id

カテゴリ : 
ハウツー
ブロガー : 
ujpblog 2023/6/8 0:40
 久々にyoutube-dlを使おうとしたら,こんなエラーが.

$ youtube-dl https://www.youtube.com/watch?v=PmtcP2oMeeg🆑
[youtube] PmtcP2oMeeg: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . 
Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. 
Be sure to call youtube-dl with the --verbose flag and include its complete output.
$
 再インストールすれば良いというので,実施.

...続きを読む

VirtualBoxにインストールしたUbuntuのrootユーザ

カテゴリ : 
ハウツー
ブロガー : 
ujpblog 2023/4/14 20:06
 UbuntuのISOイメージを使ってVirtualBoxに仮想ゲストOSをセットアップした.

 一般ユーザのvboxuserはパスワードchangemeでログインできるけれど,その後rootユーザにsuやsudoコマンドを実行するも,全く歯が立たず.
 調べても情報が出てこない.
 多くはvboxuserでログインして,sudoしてpasswdコマンドでrootユーザのパスワードをつければ良い,となっているけれど,vboxuserにsudoerとして登録されてないから権限がない.

引用:
vboxuser is not the sudoers file. This incident will be reported.

 半日調べて,やっとわかった.

...続きを読む

screenshotmachineを使う

カテゴリ : 
ハウツー
ブロガー : 
ujpblog 2022/1/21 22:24
 スクリーンショットを撮ってくれるWebサービスが.

Screenshotmachine
https://www.screenshotmachine.com

 無料でアカウントを作成でき,PythonでAPIを叩くとPNG形式でスクリーンショットが保存されます.

 どういった利用用途かを考えてみる.

  • インターネット側からどの様に見えているか確認できる
  • 魚拓の取得
  • ちょっと危ない(サスピシャスな)サイトにアクセスしてみた時にどうなるかサンドボックス的に使う

     当然インターネットでアクセスできるサイトだけになるけれど,LAN内のサイトだったら,「PhantomJSでスクリーンショット」を使えば良いかな.

     無料ユーザ登録した後は,APIキーを取得して,URLやキャプチャのサイズを設定すれば良いです.


    https://github.com/screenshotmachine/screenshotmachine-python

     githubのコードのサンプル.
    customer_key = 'PUT_YOUR_CUSTOMER_KEY_HERE'
    secret_phrase = '' # leave secret phrase empty, if not needed
    options = {
      'url': 'https://www.google.com', # mandatory parameter
      # all next parameters are optional, see our website screenshot API guide for more details
      'dimension': '1366x768', # or "1366xfull" for full length screenshot
      'device': 'desktop',
      'cacheLimit' : '0',
      'delay' : '200',
    import urllib.request
      'zoom' : '100'
      }
    
  • PowerShellでユーザIDとパスワードの入力値を得る

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2021/4/20 23:21
     ユーザIDとパスワードをコマンドラインで入力すると変数に設定してくれる.

    PS /Users/ujpadmin> $CredntialInfo = Get-Credential -Message "Input User/Password"🆑
    
    PowerShell credential request
    Input User/Password
    User: AAAAA🆑
    Password for user AAAAA: *****🆑
    
    PS /Users/ujpadmin> $CredntialInfo
    
    UserName                     Password
    --------                     --------
    AAAAA    System.Security.SecureString
    
    PS /Users/ujpadmin>
    
     この例だと,$CredntialInfoという変数にセットされている.簡単なんだな.

    PowerShellでProxy設定情報を取得する

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2021/4/20 23:15
     macOSにインストールしたPowerShell 7.1.3で実行したんだけれど.Windows 10用のPowerShell 5.1でも同じかな?

    PS /Users/ujpadmin> $ProxyUri = $SystemProxy.GetProxy($URL)🆑
    PS /Users/ujpadmin> $ProxyUri🆑
    
    AbsolutePath   : /
    AbsoluteUri    : http://192.168.20.34:8888/
    LocalPath      : /
    Authority      : 192.168.20.34:8888
    HostNameType   : IPv4
    IsDefaultPort  : False
    IsFile         : False
    IsLoopback     : False
    PathAndQuery   : /
    Segments       : {/}
    IsUnc          : False
    Host           : 192.168.20.34
    Port           : 8888
    Query          :
    Fragment       :
    Scheme         : http
    OriginalString : http://192.168.20.34:8888/
    DnsSafeHost    : 192.168.20.34
    IdnHost        : 192.168.20.34
    IsAbsoluteUri  : True
    UserEscaped    : False
    UserInfo       :
    
    
    PS /Users/ujpadmin>
    

    Excelで文字列を逆さにする

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2020/6/2 1:37
     Excelには,文字列を逆順に変換するStrReverse()という関数がある.これはVBAでしか使えないのだけれど,セキュリティ対策の一環でVBAをむやみに禁止している場合,これを利用できない.
     よってワークシート関数でどうにかできないかと調べていたら,TEXTJOIN()を使うことで解決できることがわかった

     例えば,10文字までの場合,次のワークシート関数で.
    =TEXTJOIN("",1,MID(A1,{10,9,8,7,6,5,4,3,2,1},1))
    
     文字列長がわからないときは,これ.
    =TEXTJOIN("",1,MID(B5,ABS(ROW(INDIRECT("1:"&LEN(B5)))-(LEN(B5)+1)),1))
    
     Office 365のExcel 2019だとSEQUENCE()が使えるようになっているので,次のように.
    =TEXTJOIN("",1,MID(B5,SEQUENCE(LEN(B5),,LEN(B5),-1),1))
    

     参考(引用)したのは,次のサイト.

    Reverse text string - EXCELJET
    https://exceljet.net/formula/reverse-text-string

     なぜ文字列を逆順にしたかったかというと,FQDNをソートしたかったから.

     最初は,FIND()でピリオドの箇所を探して,FQDNの右からドット毎にRIGHT(),LEFT()を繰り返して取り出そうとしていたけれど,FQDNの中にいくつドットがあるか決まりはないので,すぐ破綻してしまう.

    neofetchをいれてみた

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/6/4 18:07
     サーバの取り違え事件を軽減するため?にfigletとかpokemonsayなどのコマンドを入れてみたけれど,もう少し実用的なものを.

    $ brew info neofetchコマンド
    neofetch: stable 6.0.0 (bottled), HEAD
    Fast, highly customisable system info script
    https://github.com/dylanaraps/neofetch
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/neofetch.rb
    ==> Dependencies
    Required: imagemagick ✘, screenresolution ✘
    ==> Options
    --HEAD
    	Install HEAD version
    ==> Analytics
    install: 2,496 (30 days), 7,227 (90 days), 31,924 (365 days)
    install_on_request: 2,490 (30 days), 7,198 (90 days), 31,476 (365 days)
    build_error: 0 (30 days)
    $
    
     インストールしてコマンドを実行.


     インストールしたのがmacosなので,りんごのアスキーアートが出ているけれど,これがLinuxだとUbuntuとかFreeBSDとかで異なるらしいです.

    JP1/AJS3 V12のインストール 準備 その1

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/4/21 0:43
     このコンテンツの内容は,
    ここに移動しました.

    Red Hat 7.6でISOファイルをマウントする

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/4/20 19:21
     Developer契約でダウンロードしたRed Hat 7.6は,yumが使えない.なので,ダウンロードしたISOイメージの中に目的のファイルがあるかもしれないので,ISOファイルをマウントして中身を見てみる.

     まずはISOファイルを確認.
    [root@rhel76 mnt]# ls -la /ISO/rhel-server-7.6-x86_64-dvd.iso🆑
    -rwxrwx---. 1 root vboxsf 4497342464 12月 13 02:00 /ISO/rhel-server-7.6-x86_64-dvd.iso
    [root@rhel76 mnt]#
    
     ISOファイルをマウントする場所を作成.
    [root@rhel76 mnt]# mkdir /mnt/redhat🆑
    [root@rhel76 mnt]#
    
     マウントする.
    [root@rhel76 mnt]# mount -o loop -t iso9660 /ISO/rhel-server-7.6-x86_64-dvd.iso /mnt/redhat🆑
    mount: /dev/loop0 is write-protected, mounting read-only🈁
    [root@rhel76 mnt]#
    
     /dev/loopというのはループバックデバイス.ISOファイルをファイルシステムのように使うための仮想デバイスかな.
     読み込み専用でマウントされたので,中身を確認してみる.
    [root@rhel76 mnt]# cd /mnt/redhat/🆑
    [root@rhel76 redhat]# ls -la🆑
    合計 968
    dr-xr-xr-x. 9 root root   4096 10月 11  2018 .
    drwxr-xr-x. 4 root root     39  4月 20 18:47 ..
    -r--r--r--. 1 root root     56 10月 11  2018 .discinfo
    -r--r--r--. 1 root root   1900 10月 11  2018 .treeinfo
    dr-xr-xr-x. 3 root root   2048 10月 11  2018 EFI
    -r--r--r--. 1 root root   8266  4月  4  2014 EULA
    -r--r--r--. 1 root root  18092  3月  6  2012 GPL
    dr-xr-xr-x. 2 root root   2048 10月 11  2018 LiveOS
    dr-xr-xr-x. 2 root root 931840 10月 11  2018 Packages
    -r--r--r--. 1 root root   3375  9月 21  2018 RPM-GPG-KEY-redhat-beta
    -r--r--r--. 1 root root   3211  9月 21  2018 RPM-GPG-KEY-redhat-release
    -r--r--r--. 1 root root   1796 10月 11  2018 TRANS.TBL
    dr-xr-xr-x. 4 root root   2048 10月 11  2018 addons
    -r--r--r--. 1 root root   1455 10月 11  2018 extra_files.json
    dr-xr-xr-x. 3 root root   2048 10月 11  2018 images
    dr-xr-xr-x. 2 root root   2048 10月 11  2018 isolinux
    -r--r--r--. 1 root root    114 10月 11  2018 media.repo
    dr-xr-xr-x. 2 root root   4096 10月 11  2018 repodata
    [root@rhel76 redhat]#
    
     マウントできていました.

    Oracle Data Pumpのexpdpを試してみた

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/4/19 22:28
     Oracleからデータを取り出したりいれたり,時にはバックアップ用途で使っていたimp/expコマンドですが,Oracle Data Pumpというプロダクト名?になって進化していました.exp/impだとデータ完全性が怪しい部分があったしね.

     今回はexpdpを使ってデータをエクスポートします.これ,expコマンドの時と大きく違ったのは,expdpで取り出したデータは,Oracleが稼働しているサーバの指定されたディレクトリに保存されるということ.

    ディレクトリオブジェクトを作成する

     ローカルにエクスポートしたら,こんな感じでエラーがでる.
    bash-4.2$ expdp system/manager@xe directory=./ dumpfile=20190408a.dmp full y🆑
    Tue Apr 9 10:30:06 JST 2019
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 10:30:06 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    ORA-39002: invalid operation
    ORA-39070: Unable to open the log file.
    ORA-39087: directory name ./ is invalid
    
    
    Tue Apr 9 10:30:07 JST 2019
    
    bash-4.2$
    
     これは,サーバに対象のディレクトリが無いという事.このために,ディレクトリオブジェクトというものを作らなければならん.
     まずは適当なところにディレクトリを作成.
    bash-4.2$ mkdir /tmp/dumptest🆑
    bash-4.2$ chmod 774 dumptest🆑
    bash-4.2$ ls -la /tmp/dumpdir🆑
    total 8
    drwxrwxr-- 2 oracle dba 4096 Apr 9 13:30 .
    drwxrwxrwt. 17 root root 4096 Apr 9 13:36 ..
    
    bash-4.2$
    
     Oracle上にディレクトリを定義する。
     systemユーザで接続。
    
    bash-4.2$ sqlplus system/manager@xe🆑
    
    SQL*Plus: Release 11.2.0.2.0 Production on Tue Apr 9 13:32:16 2019
    
    Copyright (c) 1982, 2011, Oracle. All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    
    SQL>
    
     先ほど作成したファイルシステム上のディレクトリに、expdp1という名前でディレクトリオブジェクトを作成.
    SQL> create directory expdp1 as '/tmp/dumptest';🆑
    
    Directory created.🈁
    
    SQL>
    
     登録されたディレクトリを確認.
    SQL> select directory_name, directory_path from dba_directories;🆑
    
    DIRECTORY_NAME DIRECTORY_PATH
    --------------- -----------------------------------
    EXPDP1 /tmp/dumptest🈁
    DATA_PUMP_DIR /u01/app/oracle/admin/XE/dpdump/
    XMLDIR /u01/app/oracle/product/11.2.0/xe/r
    dbms/xml
    
    SQL>
    
     デフォルトだとDATA_PUMP_DIRで指定されたディレクトリがある模様.
     作成したexpdp1に権限を付与.今回はscottユーザ.
    SQL> grant read,write on directory expdp1 to scott;🆑
    
    Grant succeeded.🈁
    
    SQL> quit🆑
    Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    
    bash-4.2$
    
     成功したのでシェルに戻る.
     expdpコマンドをscottユーザで接続し,先ほど定義したディレクトリexpdp1にダンプを取る.
    bash-4.2$ expdp scott/tiger@xe directory=expdp1🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 13:34:02 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "SCOTT"."SYS_EXPORT_SCHEMA_01": scott/********@xe directory=expdp1
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    Total estimation using BLOCKS method: 192 KB
    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    Processing object type SCHEMA_EXPORT/TABLE/TABLE
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
    Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    Processing object type SCHEMA_EXPORT/TABLE/COMMENT
    Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    . . exported "SCOTT"."DEPT" 5.929 KB 4 rows
    . . exported "SCOTT"."EMP" 8.562 KB 14 rows
    . . exported "SCOTT"."SALGRADE" 5.859 KB 5 rows
    . . exported "SCOTT"."BONUS" 0 KB 0 rows
    . . exported "SCOTT"."TESTTABLE_DELETEME" 0 KB 0 rows
    Master table "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SCOTT.SYS_EXPORT_SCHEMA_01 is:
    /tmp/dumptest/expdat.dmp🈁
    Job "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully completed at 13:34:18
    
    bash-4.2$
    
     ダンプが完了した模様.
     ダンプしたファイルを確認.
    
    bash-4.2$ ls -la /tmp/dumptest🆑
    total 260
    drwxrwxr-- 2 oracle dba 4096 Apr 9 13:34 .
    drwxrwxrwt. 17 root root 4096 Apr 9 13:36 ..
    
    rw-r----- 1 oracle dba 253952 Apr 9 13:34 expdat.dmp🈁
    rw-r--r-- 1 oracle dba 1658 Apr 9 13:34 export.log
    bash-4.2$
    
     ログファイルを確認.
    
    bash-4.2$ cat /tmp/dumptest/export.log🆑
    ;;;
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 13:34:02 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    ;;;
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "SCOTT"."SYS_EXPORT_SCHEMA_01": scott/********@xe directory=expdp1
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    Total estimation using BLOCKS method: 192 KB
    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    Processing object type SCHEMA_EXPORT/TABLE/TABLE
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
    Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    Processing object type SCHEMA_EXPORT/TABLE/COMMENT
    Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    . . exported "SCOTT"."DEPT" 5.929 KB 4 rows
    . . exported "SCOTT"."EMP" 8.562 KB 14 rows
    . . exported "SCOTT"."SALGRADE" 5.859 KB 5 rows
    . . exported "SCOTT"."BONUS" 0 KB 0 rows
    . . exported "SCOTT"."TESTTABLE_DELETEME" 0 KB 0 rows
    Master table "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SCOTT.SYS_EXPORT_SCHEMA_01 is:
    /tmp/dumptest/expdat.dmp
    Job "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully completed at 13:34:18
    
    bash-4.2$
    
     パスワードはマスクしてあるなぁ.
     dumpfileオプションでダンプファイル名を指定.
    bash-4.2$ expdp scott/tiger@xe directory=expdp1 dumpfile=1.dmp🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 13:46:45 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "SCOTT"."SYS_EXPORT_SCHEMA_01": scott/********@xe directory=expdp1 dumpfile=1.dmp
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    Total estimation using BLOCKS method: 192 KB
    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    Processing object type SCHEMA_EXPORT/TABLE/TABLE
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
    Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    Processing object type SCHEMA_EXPORT/TABLE/COMMENT
    Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    . . exported "SCOTT"."DEPT" 5.929 KB 4 rows
    . . exported "SCOTT"."EMP" 8.562 KB 14 rows
    . . exported "SCOTT"."SALGRADE" 5.859 KB 5 rows
    . . exported "SCOTT"."BONUS" 0 KB 0 rows
    . . exported "SCOTT"."TESTTABLE_DELETEME" 0 KB 0 rows
    Master table "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SCOTT.SYS_EXPORT_SCHEMA_01 is:
    /tmp/dumptest/1.dmp🈁
    Job "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully completed at 13:46:56
    
    bash-4.2$
    
     指定されたファイルでダンプされた模様.

    ダンプの容量見積もりをとる

     estimate_onlyを付けることで実際のダンプは行わずに,ファイルの容量を見積もることができる.
    bash-4.2$ expdp scott/tiger@xe directory=expdp1 estimate_only=y🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 13:49:39 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "SCOTT"."SYS_EXPORT_SCHEMA_01": scott/********@xe directory=expdp1 estimate_only=y
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    . estimated "SCOTT"."DEPT" 64 KB
    . estimated "SCOTT"."EMP" 64 KB
    . estimated "SCOTT"."SALGRADE" 64 KB
    . estimated "SCOTT"."BONUS" 0 KB
    . estimated "SCOTT"."TESTTABLE_DELETEME" 0 KB
    Total estimation using BLOCKS method: 192 KB🈁
    Job "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully completed at 13:49:40
    
    bash-4.2$
    
     先ほどの実行ログでデータは合計21KB程度だったが、最小の64KBブロックで算出している模様。

    bash-4.2$ expdp UAM/UAM@xe directory=expdp1 estimate_only=y🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 13:55:05 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "UAM"."SYS_EXPORT_SCHEMA_01": UAM/********@xe directory=expdp1 estimate_only=y
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    . estimated "UAM"."AM_OBJ" 776 MB
    . estimated "UAM"."AM_OBJ_DPD" 760 MB
    . estimated "UAM"."AM_MART_OBJ_CE_FULL_EXPAND" 440 MB
    . estimated "UAM"."AM_BIZ_DPD" 416 MB
    . estimated "UAM"."AM_MART_OBJ_CR_FULL_EXPAND" 216 MB
    
    ~略~
    
    . estimated "UAM"."JF_QUERY" 4 MB
    . estimated "UAM"."AM_HANDLER_SAMPLE_SOURCE" 3 MB
    . estimated "UAM"."AM_SQL" 3 MB
    . estimated "UAM"."DMRS_DIAGRAMS" 2.125 MB
    . estimated "UAM"."AM_BIZ_SRC_MAP" 2 MB
    . estimated "UAM"."AM_OBJ_DPD_CC" 2 MB
    
    ~略~
    
    Total estimation using BLOCKS method: 3.498 GB🆑
    Job "UAM"."SYS_EXPORT_SCHEMA_01" successfully completed at 13:55:08
    
    bash-4.2$
    
     見積り上は,3.498 GBになる模様.
     では,ダンプを実行して見る.
    bash-4.2$ expdp UAM/UAM@xe directory=expdp1 dumpfile=2.dmp🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 13:56:54 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "UAM"."SYS_EXPORT_SCHEMA_01": UAM/********@xe directory=expdp1
     dumpfile=2.dmp
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    Total estimation using BLOCKS method: 3.498 GB
    Processing object type SCHEMA_EXPORT/USER
    Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
    
    ~略~
    
    . . exported "UAM"."AM_OBJ" 659.9 MB 3375931 rows
    . . exported "UAM"."AM_OBJ_DPD" 644.6 MB 2934780 rows
    . . exported "UAM"."AM_MART_OBJ_CE_FULL_EXPAND" 276.2 MB 3403060 rows
    . . exported "UAM"."AM_BIZ_DPD" 190.0 MB 813149 rows
    . . exported "UAM"."AM_MART_OBJ_CR_FULL_EXPAND" 174.9 MB 2196628 rows
    . . exported "UAM"."AM_OBJ_META" 161.9 MB 3257078 rows
    
    ~略~
    
    Master table "UAM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for UAM.SYS_EXPORT_SCHEMA_01 is:
    /tmp/dumptest/2.dmp
    Job "UAM"."SYS_EXPORT_SCHEMA_01" successfully completed at 13:57:40
    
    bash-4.2$
    
     ダンプしたファイルのサイズを確認する.
    bash-4.2$ ls -la /tmp/dumptest/2.dmp🆑
    rw-r----- 1 oracle dba 2813657088 Apr 9 13:57 /tmp/dumptest/2.dmp
    bash-4.2$ ls -lah /tmp/dumptest/2.dmp🆑
    rw-r----- 1 oracle dba 2.7G🈁 Apr 9 13:57 /tmp/dumptest/2.dmp
    bash-4.2$
    
     3.5GB見積もりの実態は2.7GBなので,見積もりは30%増し程度か.(空き容量)で考えたら,実施にはワークエリアも必要なので,もっと必要かと思われる.

    フルダンプをとる

     full=yオプションを使う事で,データベース全体のダンプを取ることができる。
    bash-4.2$ expdp system/manager@xe directory=expdp1 dumpfile=full.dmp full=y🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 14:04:33 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "SYSTEM"."SYS_EXPORT_FULL_01": system/********@xe directory=expdp1
     dumpfile=full.dmp full=y
    Estimate in progress using BLOCKS method...
    Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
    Total estimation using BLOCKS method: 3.810 GB
    Processing object type DATABASE_EXPORT/TABLESPACE
    Processing object type DATABASE_EXPORT/PROFILE
    Processing object type DATABASE_EXPORT/SYS_USER/USER
    Processing object type DATABASE_EXPORT/SCHEMA/USER
    Processing object type DATABASE_EXPORT/ROLE
    
    ~略~
    
    Master table "SYSTEM"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_FULL_01 is:
    /tmp/dumptest/full.dmp
    Job "SYSTEM"."SYS_EXPORT_FULL_01" successfully completed at 14:05:58
    
    bash-4.2$
    

    日時を指定して一貫性のあるダンプを取る

     日時を細かく指定する。

    bash-4.2$ expdp system/manager@xe directory=expdp1 dumpfile=full.dmp ¥🆑
     full=y flashback_time=\"TO_TIMESTAMP\(TO_CHAR\(SYSDATE, ¥🆑
     \'YYYY-MM-DD HH24:MI:SS\'\),\'YYYY-MM-DD HH24:MI:SS\'\)\"🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 14:21:10 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "SYSTEM"."SYS_EXPORT_FULL_01": system/********@xe directory=expdp1
     dumpfile=full.dmp full=y flashback_time=
     "TO_TIMESTAMP(TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')"
    Estimate in progress using BLOCKS method...
    Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
    
     コマンドを実行した日時(SYSDATE)を一貫性が担保する時間とする指定方法.
    bash-4.2$ expdp system/manager@xe directory=expdp1 dumpfile=full.dmp ¥🆑
     full=y flashback_time="to_timestamp(sysdate)"🆑
    
    Export: Release 11.2.0.2.0 - Production on Tue Apr 9 14:42:33 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    Starting "SYSTEM"."SYS_EXPORT_FULL_01": system/********@xe directory=expdp1
     dumpfile=full.dmp full=y flashback_time=to_timestamp(sysdate)
    Estimate in progress using BLOCKS method...
    
    bash-4.2$ 
    
     これでダンプができた模様.
     Oracle 11g EXを稼働したまま,データのバックアップを取ってみる.

     バックアップ対象データの確認.
    -bash-4.2$ pwd🆑
    /u01/app/oracle/oradata/XE🈁
    -bash-4.2$ ls -la🆑
    total 9753824
    drwxr-xr-x 2 oracle dba       4096 Apr  1 14:51 .
    drwxr-x--- 3 oracle dba       4096 Jan 21 17:28 ..
    -rw-r----- 1 oracle dba   10493952 Apr  4 22:59 APP_idx_tbs.dbf
    -rw-r----- 1 oracle dba 8602918912 Apr  4 22:59 APP_tbs.dbf
    -rw-r----- 1 oracle dba   10240000 Apr  5 09:37 control.dbf
    -rw-r----- 1 oracle dba  807411712 Apr  5 09:35 sysaux.dbf
    -rw-r----- 1 oracle dba  387981312 Apr  5 09:30 system.dbf
    -rw-r----- 1 oracle dba   11542528 Apr  4 22:57 temp.dbf
    -rw-r----- 1 oracle dba   52436992 Apr  5 09:35 undotbs1.dbf
    -rw-r----- 1 oracle dba  104865792 Apr  4 22:59 users.dbf
    -bash-4.2$
    
     オンラインバックアップを実行するには,アーカイブログモードで運用されている必要があるので,現在状態を確認する.
    SQLPlusで接続.
    -bash-4.2$ sqlplus system/manager@xe🆑
    
    SQL*Plus: Release 11.2.0.2.0 Production on Fri Apr 5 09:37:27 2019
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    
    SQL>
    
     アーカイブログモードで運用されているか確認する.
    SQL> archive log list🆑
    ORA-01031: insufficient privileges🈁
    SQL>
    
     systemユーザだと権限が無かった.SYSDBAユーザで接続する.
    SQL> quit🆑
    Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    -bash-4.2$ sqlplus / as sysdba🆑
    
    SQL*Plus: Release 11.2.0.2.0 Production on Fri Apr 5 09:39:57 2019
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    
    SQL>
    
     アーカイブログモードを確認する.
    SQL> archive log list;🆑
    Database log mode              No Archive Mode🈁
    Automatic archival             Disabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     8998
    Current log sequence           8999
    SQL>
    
     No Archive Modeなので,アーカイブログモードになってない.
     別の方法でも確認できる.
    SQL> select log_mode from v$database;🆑
    
    LOG_MODE
    ------------
    NOARCHIVELOG🈁
    
    SQL>
    
     ここでも,NO ARCHIVEモードが確認できた.

    アーカイブログモードに変更する

     アーカイブログモードに変更してみる.
    SQL> alter database archivelog;🆑
    alter database archivelog
    *
    ERROR at line 1:
    ORA-01126: database must be mounted in this instance and not open in any
    instance🈁
    
    
    SQL>
    
     database must be mounted in this instance and not open in anyは,日本語では「データベースはこのインスタンスでマウントし,どのインスタンスでもオープンしないでください」とでるらしい.
     データベースを停止したのちに,マウントした後に設定変更を実行し,データベースをオープンする必要がある.
     
     これは,現在のままだとマルチユーザ接続ができるので,停止した後,シングルユーザモードで接続して,設定変更し,利用を再開するためにデータベースをオープンすることとなる.
     
     まずは,Oracleをシャットダウン.
    SQL> shutdown immediate🆑
    Database closed.🈁
    Database dismounted.
    ORACLE instance shut down.
    SQL>
    
     マウントしながら起動.
    SQL> startup mount🆑
    ORACLE instance started.
    
    Total System Global Area 1068937216 bytes
    Fixed Size                  2233344 bytes
    Variable Size             788532224 bytes
    Database Buffers          272629760 bytes
    Redo Buffers                5541888 bytes
    Database mounted.🈁
    SQL>
    
     インスタンスが起動したので,データベースの設定を変更.
    SQL> alter database archivelog;🆑
    
    Database altered.
    
    SQL>
    
     変更されたか確認.
    SQL> archive log list;🆑
    Database log mode              Archive Mode🈁
    Automatic archival             Enabled🈁
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     8998
    Next log sequence to archive   8999
    Current log sequence           8999
    SQL>
    
     データベースをオープンさせる.
    SQL> alter database open;🆑
    
    Database altered.🈁
    
    SQL>
    
     もう1つの手段で,設定状態を確認する.
    SQL> select log_mode from v$database;🆑
    
    LOG_MODE
    ------------
    ARCHIVELOG🈁
    
    SQL>
    

    アーカイブログの出力先

     オンラインバックアップ中は,アーカイブログに更新情報が記録されるわけだけれど,その状態を確認してみる.

    SQL> show parameter log_archive_dest;🆑
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest                     string
    log_archive_dest_1                   string
    log_archive_dest_10                  string
    log_archive_dest_11                  string
    log_archive_dest_12                  string
    log_archive_dest_13                  string
    log_archive_dest_14                  string
    log_archive_dest_15                  string
    log_archive_dest_16                  string
    log_archive_dest_17                  string
    log_archive_dest_18                  string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_19                  string
    log_archive_dest_2                   string
    log_archive_dest_20                  string
    log_archive_dest_21                  string
    log_archive_dest_22                  string
    log_archive_dest_23                  string
    log_archive_dest_24                  string
    log_archive_dest_25                  string
    log_archive_dest_26                  string
    log_archive_dest_27                  string
    log_archive_dest_28                  string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_29                  string
    log_archive_dest_3                   string
    log_archive_dest_30                  string
    log_archive_dest_31                  string
    log_archive_dest_4                   string
    log_archive_dest_5                   string
    log_archive_dest_6                   string
    log_archive_dest_7                   string
    log_archive_dest_8                   string
    log_archive_dest_9                   string
    log_archive_dest_state_1             string      enable
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_state_10            string      enable
    log_archive_dest_state_11            string      enable
    log_archive_dest_state_12            string      enable
    log_archive_dest_state_13            string      enable
    log_archive_dest_state_14            string      enable
    log_archive_dest_state_15            string      enable
    log_archive_dest_state_16            string      enable
    log_archive_dest_state_17            string      enable
    log_archive_dest_state_18            string      enable
    log_archive_dest_state_19            string      enable
    log_archive_dest_state_2             string      enable
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_state_20            string      enable
    log_archive_dest_state_21            string      enable
    log_archive_dest_state_22            string      enable
    log_archive_dest_state_23            string      enable
    log_archive_dest_state_24            string      enable
    log_archive_dest_state_25            string      enable
    log_archive_dest_state_26            string      enable
    log_archive_dest_state_27            string      enable
    log_archive_dest_state_28            string      enable
    log_archive_dest_state_29            string      enable
    log_archive_dest_state_3             string      enable
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_state_30            string      enable
    log_archive_dest_state_31            string      enable
    log_archive_dest_state_4             string      enable
    log_archive_dest_state_5             string      enable
    log_archive_dest_state_6             string      enable
    log_archive_dest_state_7             string      enable
    log_archive_dest_state_8             string      enable
    log_archive_dest_state_9             string      enable
    SQL>
    
     アーカイブログのログスイッチを発生させて,ログファイルを確認してみる.
    SQL> alter system switch logfile;🆑
    
    System altered.
    
    SQL> alter system switch logfile;🆑
    
    System altered.
    
    SQL>alter system switch logfile;🆑
    
    System altered.
    
    SQL>
    
     SQLPlusから,!(感嘆符)を使ってコマンドラインに移動してファイルを確認する.
    SQL> !🆑
    bash-4.2$ cd /u01/app/oracle/fast_recovery_area/XE🆑
    bash-4.2$
    
     ファイルの一覧を.
    bash-4.2$ ls -laRh🆑
    .:
    total 16K
    drwxr-x--- 4 oracle dba 4.0K Apr  5 09:58 .
    drwxr-x--- 3 oracle dba 4.0K Jan 21 17:28 ..
    drwxr-x--- 3 oracle dba 4.0K Apr  5 09:58 archivelog
    drwxr-x--- 2 oracle dba 4.0K Jan 21 17:28 onlinelog
    
    ./archivelog:
    total 12K
    drwxr-x--- 3 oracle dba 4.0K Apr  5 09:58 .
    drwxr-x--- 4 oracle dba 4.0K Apr  5 09:58 ..
    drwxr-x--- 2 oracle dba 4.0K Apr  5 09:58 2019_04_05
    
    ./archivelog/2019_04_05:
    total 13M
    drwxr-x--- 2 oracle dba 4.0K Apr  5 09:58 .
    drwxr-x--- 3 oracle dba 4.0K Apr  5 09:58 ..
    -rw-r----- 1 oracle dba  13M Apr  5 09:58 o1_mf_1_8999_gbfb1bps_.arc
    -rw-r----- 1 oracle dba 2.0K Apr  5 09:58 o1_mf_1_9000_gbfb1hwf_.arc
    -rw-r----- 1 oracle dba 1.0K Apr  5 09:58 o1_mf_1_9001_gbfb1lw7_.arc
    
    ./onlinelog:
    total 101M
    drwxr-x--- 2 oracle dba 4.0K Jan 21 17:28 .
    drwxr-x--- 4 oracle dba 4.0K Apr  5 09:58 ..
    -rw-r----- 1 oracle dba  51M Apr  5 09:58 o1_mf_1_g4c0p796_.log
    -rw-r----- 1 oracle dba  51M Apr  5 10:03 o1_mf_2_g4c0p7hq_.log
    bash-4.2$
    
     3回ログスイッチを実行したので,3つファイルがあることを確認.
     テーブルを作成して,データベースに変更を加えてみる.
    bash-4.2$ sqlplus scott/tiger@xe🆑
    
    SQL*Plus: Release 11.2.0.2.0 Production on Fri Apr 5 10:05:18 2019
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    
    SQL> create table testtable_deleteme (aa int);🆑
    
    Table created.
    
    SQL> desc testtable_deleteme;🆑
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     AA                                                 NUMBER(38)
    
    SQL>
    
     テーブルを作成したので,ログスイッチを実行してファイルを確認する.
    bash-4.2$ exit🆑
    exit
    
    SQL> alter system switch logfile;🆑
    
    System altered.
    
    SQL> !🆑
    bash-4.2$ cd /u01/app/oracle/fast_recovery_area/XE🆑
    bash-4.2$ ls -laRh🆑
    .:
    total 16K
    drwxr-x--- 4 oracle dba 4.0K Apr  5 09:58 .
    drwxr-x--- 3 oracle dba 4.0K Jan 21 17:28 ..
    drwxr-x--- 3 oracle dba 4.0K Apr  5 09:58 archivelog
    drwxr-x--- 2 oracle dba 4.0K Jan 21 17:28 onlinelog
    
    ./archivelog:
    total 12K
    drwxr-x--- 3 oracle dba 4.0K Apr  5 09:58 .
    drwxr-x--- 4 oracle dba 4.0K Apr  5 09:58 ..
    drwxr-x--- 2 oracle dba 4.0K Apr  5 10:07 2019_04_05
    
    ./archivelog/2019_04_05:
    total 14M
    drwxr-x--- 2 oracle dba 4.0K Apr  5 10:07 .
    drwxr-x--- 3 oracle dba 4.0K Apr  5 09:58 ..
    -rw-r----- 1 oracle dba  13M Apr  5 09:58 o1_mf_1_8999_gbfb1bps_.arc
    -rw-r----- 1 oracle dba 2.0K Apr  5 09:58 o1_mf_1_9000_gbfb1hwf_.arc
    -rw-r----- 1 oracle dba 1.0K Apr  5 09:58 o1_mf_1_9001_gbfb1lw7_.arc
    -rw-r----- 1 oracle dba 144K Apr  5 10:07 o1_mf_1_9002_gbfblm45_.arc🈁
    
    ./onlinelog:
    total 101M
    drwxr-x--- 2 oracle dba 4.0K Jan 21 17:28 .
    drwxr-x--- 4 oracle dba 4.0K Apr  5 09:58 ..
    -rw-r----- 1 oracle dba  51M Apr  5 10:07 o1_mf_1_g4c0p796_.log
    -rw-r----- 1 oracle dba  51M Apr  5 10:07 o1_mf_2_g4c0p7hq_.log
    bash-4.2$
    
     新しくアーカイブログファイルが増えたことがわかる.
     ファイル名とログのシーケンス番号を突き合わせてみる.
    bash-4.2$ exit🆑
    exit
    
    SQL> archive log list;🆑
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     9002🈁
    Next log sequence to archive   9003
    Current log sequence           9003
    SQL>
    
     アーカイブログのファイル名がo1_mf_1_9002_gbfblm45_.arcとなっていて,Oldest online log sequenceが9002となっているので,値が一致している.

    オンラインバックアップを行う

     アーカイブログモードになったので,オンラインバックアップを実行する.オンラインバックアップは表領域のファイルをOSコマンドでコピーする.
     オンラインバックアップモードに変更.
    SQL> alter database begin backup;🆑
    
    Database altered.
    
    SQL>
    
     データベースデータをコピーする.
    SQL> !🆑
    bash-4.2$ pwd🆑
    /u01/app/oracle/oradata/XE🈁
    bash-4.2$ ls -la🆑
    total 9753824
    drwxr-xr-x 2 oracle dba       4096 Apr  1 14:51 .
    drwxr-x--- 3 oracle dba       4096 Jan 21 17:28 ..
    -rw-r----- 1 oracle dba   10493952 Apr  5 10:19 APP_idx_tbs.dbf
    -rw-r----- 1 oracle dba 8602918912 Apr  5 10:19 APP_tbs.dbf
    -rw-r----- 1 oracle dba   10240000 Apr  5 10:20 control.dbf
    -rw-r----- 1 oracle dba  807411712 Apr  5 10:19 sysaux.dbf
    -rw-r----- 1 oracle dba  387981312 Apr  5 10:19 system.dbf
    -rw-r----- 1 oracle dba   11542528 Apr  5 09:54 temp.dbf
    -rw-r----- 1 oracle dba   52436992 Apr  5 10:19 undotbs1.dbf
    -rw-r----- 1 oracle dba  104865792 Apr  5 10:19 users.dbf
    bash-4.2$
    
     今回はとりあえずなので,その場でディレクトリを作成しcpコマンドでバックアップを行う.
    bash-4.2$ mkdir backup🆑
    bash-4.2$ cp *.dbf backup/.🈁
    bash-4.2$
    
     バックアップが完了したので,バックアップモードを終了する.
    bash-4.2$ exit🆑
    
    SQL> alter database end backup;🆑
    
    Database altered.
    
    SQL>
    

    制御ファイルのバックアップ

     Oracleのの構成情報を持っている制御ファイル(コントロールファイル)をバックアップする.
     まずは,コントロールファイルの場所を確認.
    SQL> col name for a40🆑
    SQL> select * from v$controlfile;🆑
    
    STATUS  NAME                                     IS_ BLOCK_SIZE FILE_SIZE_BLKS
    ------- ---------------------------------------- --- ---------- --------------
            /u01/app/oracle/oradata/XE/control.dbf   NO       16384            624
    
    SQL>
    
     データベース形式になったのか...
     バックアップを指定したディレクトリに行う.
    SQL> alter database backup controlfile to '/u01/app/oracle/oradata/XE/backup/control.bak'🆑
      2  ;🆑
    
    Database altered.🈁
    
    SQL>
    
     traceファイルのバックアップを実施.
    SQL> alter database backup controlfile to trace;🆑
    
    Database altered.🈁
    
    SQL>
    
     traceファイルの場所を確認.
    SQL> show parameter diagnostic_dest;🆑
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    diagnostic_dest                      string      /u01/app/oracle
    SQL>
    
     それぞれファイルが作成されたか確認する.
     まずはコントロールファイル.
    bash-4.2$ ls -la /u01/app/oracle/oradata/XE/backup/control.bak🆑
    -rw-r----- 1 oracle dba 10240000 Apr  5 10:33 /u01/app/oracle/oradata/XE/backup/control.bak
    bash-4.2$ ls -la /u01/app/oracle/oradata/XE/backup/control.dbf🆑
    -rw-r----- 1 oracle dba 10240000 Apr  5 10:23 /u01/app/oracle/oradata/XE/backup/control.dbf
    bash-4.2$
    
     まったく同じものが存在している.
     次に,トレースファイル.
    bash-4.2$ ls -lat /u01/app/oracle/diag/rdbms/xe/XE/trace/|head🆑
    total 2291148
    -rw-r-----  1 oracle dba      2075 Apr  5 10:45 XE_mmon_57519.trc
    -rw-r-----  1 oracle dba       179 Apr  5 10:45 XE_mmon_57519.trm
    -rw-r-----  1 oracle dba      9022 Apr  5 10:44 XE_dbrm_57503.trc
    -rw-r-----  1 oracle dba       478 Apr  5 10:44 XE_dbrm_57503.trm
    -rwxrwxr-x  1 oracle dba   3568695 Apr  5 10:34 alert_XE.log🈁
    -rw-r-----  1 oracle dba      7093 Apr  5 10:34 XE_ora_57599.trc
    -rw-r-----  1 oracle dba       101 Apr  5 10:34 XE_ora_57599.trm
    -rw-r-----  1 oracle dba       956 Apr  5 10:07 XE_arc0_57657.trc
    -rw-r-----  1 oracle dba        70 Apr  5 10:07 XE_arc0_57657.trm
    bash-4.2$
    
     alert_XE.logファイルを確認.
    bash-4.2$ tail -n 16 /u01/app/oracle/diag/rdbms/xe/XE/trace/alert_XE.log🆑
    Fri Apr 05 10:19:59 2019
    alter database begin backup
    Completed: alter database begin backup
    Fri Apr 05 10:32:50 2019
    ALTER SYSTEM ARCHIVE LOG
    Fri Apr 05 10:32:50 2019
    Thread 1 advanced to log sequence 9004 (LGWR switch)
      Current log# 2 seq# 9004 mem# 0: /u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_2_g4c0p7hq_.log
    Archived Log entry 5 added for thread 1 sequence 9003 ID 0xab9db495 dest 1:
    Fri Apr 05 10:33:51 2019
    alter database backup controlfile to '/u01/app/oracle/oradata/XE/backup/control.bak'
    Completed: alter database backup controlfile to '/u01/app/oracle/oradata/XE/backup/control.bak'
    Fri Apr 05 10:34:13 2019
    alter database backup controlfile to trace
    Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/xe/XE/trace/XE_ora_57599.trc
    Completed: alter database backup controlfile to trace
    bash-4.2$
    
     トレースファイル名がわかったので,ファイルの中を確認.
    bash-4.2$ head  -n 4 /u01/app/oracle/diag/rdbms/xe/XE/trace/XE_ora_57599.trc🆑
    Trace file /u01/app/oracle/diag/rdbms/xe/XE/trace/XE_ora_57599.trc
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe
    System name:    Linux
    bash-4.2$
    
     トレースファイルがあれば,コントロールファイルを再生可能.

     最後に,アーカイブログを作成しておいて,これをバックアップして退避しておくことで,バックアップからデータを戻すことができるようになる.

    SQL> alter system archive log current;
    
    System altered.
    
    SQL>
    

    L2TP/IPsecにした

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/4/9 1:47
     VPNはRTX1100でPPTPで運用していたけれど,スマホをSPモード化するとPPTPが使えない問題があり,RTX1100がファームウェアのアップデートで専用ツールが不要なL2TPができたりして,それに対応しようかと思っていたらSPモードがPPTPを非推奨ではあるが解放,でもiOSやmacOS XではPPTPが潰されると言う,色々と問題のある状態が続いていたのだけれど,今回,思い立ってL2TPに移行しました.

     設定は次の通り.

    L2TP/IPsec
    http://www.rtpro.yamaha.co.jp/RT/docs/l2tp_ipsec/

     NATのマスカレード設定で設定番号を間違えるミスによって繋がらない問題があったけれど,1つ1つ設定を見直して解消.思い込みの設定は自分で見つけることは難しいね.1時間ほどロスしました.

    UNDO領域のメンテナンス ORA-03297もでたし

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/4/4 23:26
     Oracle 9i以降では,トランザクションログがUNDO表領域という所に保存されるのだけれど,Oracle 11g XEだとUNDO領域は自動拡張autoextentするので,ほっといたら容量が大変大きくなっていたりした.
     今回は,それを小さくする手順を確認する.

    現在の状態を確認

     表領域用のファイルとファイルサイズを確認.
    SQL> col name for a50🆑
    SQL> select name,bytes / 1024 / 1024 as SIZE_MB  from v$datafile order by name;🆑
    
    NAME                                                  SIZE_MB
    -------------------------------------------------- ----------
    /u01/app/oracle/oradata/XE/app_idx_tbs.dbf                 10
    /u01/app/oracle/oradata/XE/app_tbs.dbf               8204.375
    /u01/app/oracle/oradata/XE/sysaux.dbf                     770
    /u01/app/oracle/oradata/XE/system.dbf                     370
    /u01/app/oracle/oradata/XE/undotbs1.dbf                   200🈁
    /u01/app/oracle/oradata/XE/users.dbf                      100
    
    7 rows selected.
    
    SQL>
    
     200MBの領域が確保されている.そのうちの,実際のデータ使用量を確認.
    SQL> col tablespace_name for a15🆑
    SQL> col MB format 9999.99🆑
    SQL> select tablespace_name,sum(bytes)/1024/1024 as MB from dba_segments group by tablespace_name🆑
      2  order by tablespace_name;🆑
    
    TABLESPACE_NAME       MB
    --------------- --------
    app_TBS          7811.88
    SYSAUX            721.13
    SYSTEM            366.94
    UNDOTBS1           39.56🈁
    USERS               1.56
    
    6 rows selected.
    
    SQL>
    
     表領域のファイルがファイルが200MBで利用量が39MBとなっていることが確認できた.

    UNDO表領域を小さくする 

     200MB中の40MB弱程度しか使ってないので,UNDO表領域を50MBに変更する.
    SQL> alter database datafile '/u01/app/oracle/oradata/XE/undotbs1.dbf' resize 50m;🆑
    alter database datafile '/u01/app/oracle/oradata/XE/undotbs1.dbf' resize 50m
    *
    ERROR at line 1:
    ORA-03297: file contains used data beyond requested RESIZE value🈁
    
    
    SQL>
    
     エラーORA-03297がでた.これは「ファイルに、要求されたRESIZE値を超える使用済みデータが含まれています」というエラー.今回の場合、200MBの表領域の中で、データが散らばって保管されているので、100MBにできない模様.

    表領域を切り替える

     断片化したUNDO表領域を小さくすることができなかったので、UNDO表領域を新たに作成して、切り替える.
     UNDO領域を確認する.
    SQL> show parameter undo_🆑
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    undo_retention                       integer     900
    undo_tablespace                      string      UNDOTBS1🈁
    SQL>
    
     現在のUNDO表領域はUNDOTBS1という名前だとわかる.新しい表領域を作成する.
    SQL> create undo tablespace UNDOTBS2 datafile '/u01/app/oracle/oradata/XE/undotbs2.dbf' size 50M;🆑
    
    Tablespace created.
    
    SQL>
    
     UNDOTBS2という名前で新しく作成した.
     新しいUNDO表領域に切り替える.
    SQL> alter system set undo_tablespace = 'UNDOTBS2';🆑
    
    System altered.
    
    SQL>
    
     切り替わったか確認する.
    SQL> show parameter undo;🆑
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    undo_retention                       integer     900
    undo_tablespace                      string      UNDOTBS2🈁
    SQL>
    
     切り替わりました.

    不要となったUNDO表領域を削除する

     表領域のファイルを確認.
    SQL> col name for a50🆑
    SQL> select name,bytes / 1024 / 1024 as SIZE_MB  from v$datafile order by name;🆑
    
    NAME                                                  SIZE_MB
    -------------------------------------------------- ----------
    /u01/app/oracle/oradata/XE/app_idx_tbs.dbf                 10
    /u01/app/oracle/oradata/XE/app_tbs.dbf               8204.375
    /u01/app/oracle/oradata/XE/sysaux.dbf                     770
    /u01/app/oracle/oradata/XE/system.dbf                     370
    /u01/app/oracle/oradata/XE/undotbs1.dbf                   200🈁
    /u01/app/oracle/oradata/XE/undotbs2.dbf                    50
    /u01/app/oracle/oradata/XE/users.dbf                      100
    
    8 rows selected.
    
    SQL>
    
     UNDO表領域を削除する.
    SQL> drop tablespace undotbs1 including contents and datafiles cascade constraints;🆑
    
    Tablespace dropped.
    
    SQL>
    
     cascadeすることでファイルも消える.
     表領域のファイルを確認.
    SQL> select name,bytes / 1024 / 1024 as SIZE_MB  from v$datafile order by name;🆑
    
    NAME                                                  SIZE_MB
    -------------------------------------------------- ----------
    /u01/app/oracle/oradata/XE/app_idx_tbs.dbf                 10
    /u01/app/oracle/oradata/XE/app_tbs.dbf               8204.375
    /u01/app/oracle/oradata/XE/sysaux.dbf                     770
    /u01/app/oracle/oradata/XE/system.dbf                     370
    /u01/app/oracle/oradata/XE/undotbs2.dbf                    50🈁
    /u01/app/oracle/oradata/XE/users.dbf                      100
    
    6 rows selected.
    
    SQL>
    
     切り替え後の状態を確認.
    SQL> select tablespace_name,sum(bytes)/1024/1024 as MB from dba_segments group by tablespace_name🆑
      2  order by tablespace_name;🆑
    
    TABLESPACE_NAME       MB
    --------------- --------
    app_TBS          7811.88
    SYSAUX            721.19
    SYSTEM            366.94
    UNDOTBS2            1.25🈁
    USERS               1.56
    
    SQL>
    
     これで、古い表領域を消して、新しい小さな表領域に切り替わった.

    自動拡張を停止する

     長期間のUNDO領域を必要としてない場合、拡張されない様にしておきたい.
     現在の設定を確認する.
    SQL> col file_name for a50🆑
    SQL> col autoextensible for a3🆑
    SQL> select file_name,autoextensible from dba_data_files;🆑
    
    FILE_NAME                                          AUT
    -------------------------------------------------- ---
    /u01/app/oracle/oradata/XE/users.dbf               YES
    /u01/app/oracle/oradata/XE/sysaux.dbf              YES
    /u01/app/oracle/oradata/XE/system.dbf              YES
    /u01/app/oracle/oradata/XE/app_tbs.dbf             YES
    /u01/app/oracle/oradata/XE/app_idx_tbs.dbf         YES
    /u01/app/oracle/oradata/XE/undotbs2.dbf             NO🈁
    
    6 rows selected.
    
    SQL>
    
    autoextensibleがNOになっているので、自動拡張されない.
     自動拡張を有効にする場合は、次のようにAUTOEXTENDをONにする.
    SQL> alter database datafile '/u01/app/oracle/oradata/XE/undotbs3.db' autoextend on;🆑
    
    Database altered.
    
    SQL>
    

    UNDO表領域の解放

    alter rollback segment undotbs1 shrink;🆑
    
     例えば,PGAの物理メモリ内でソートができなかったりしたら,TEMP表領域を使ってソートをおこなう.この時に自動的に拡張される.
     「自動的に拡張する」というのは拡張された時に少し処理が(何もしないよりは)重たくなるので,オンライン処理中に「自動的に増える」というイベントが発生しないようにしたい.

     自動的に増えないようにするということは,十分なサイズのTEMP表領域を準備しておくということになるので,今回,それを増やしてみる.

    現状確認

     まずは,現在の容量を確認.
    SQL> select a.FILE_NAME,a.TABLESPACE_NAME,a.BYTES from dba_temp_files a;🆑
    
    FILE_NAME
    --------------------------------------------------------------------------------
    TABLESPACE_NAME 		    BYTES
    ------------------------------ ----------
    /u01/app/oracle/oradata/XE/temp.dbf
    TEMP				 20971520🈁
    
    
    SQL>
    
     桁数が多くてクラクラする...ので,これはバイト単位なので,メガバイトに変換する.
    SQL> select a.FILE_NAME,a.TABLESPACE_NAME,(a.BYTES/1024/1024) from dba_temp_files a;🆑
    
    FILE_NAME
    --------------------------------------------------------------------------------
    TABLESPACE_NAME 	       (A.BYTES/1024/1024)
    ------------------------------ -------------------
    /u01/app/oracle/oradata/XE/temp.dbf
    TEMP						20🈁
    
    
    SQL>
    
     20MBでした.

    増やす

     20MBだったので,これを100MBに増やす.
    SQL> alter database tempfile '/u01/app/oracle/oradata/XE/temp.dbf' resize 100M;🆑
    
    データベースが変更されました。🈁
    
    SQL>
    
     確認する.
    SQL> select a.FILE_NAME,a.TABLESPACE_NAME,(a.BYTES/1024/1024) from dba_temp_files a;
    
    FILE_NAME
    --------------------------------------------------------------------------------
    TABLESPACE_NAME 	       (A.BYTES/1024/1024)
    ------------------------------ -------------------
    /u01/app/oracle/oradata/XE/temp.dbf
    TEMP					       100
    
    
    SQL>
    
     増えた模様.

    TEMP領域がどれくらい使われているか確認

     100MBに増やして見たものの,実際に使われているのはいくらなのか確認.

    SQL> select tablespace_size / 1024 / 1024,allocated_space / 1024 /1024,🆑
      2  free_space / 1024 / 1024 from dba_temp_free_space;🆑
    
    TABLESPACE_SIZE/1024/1024 ALLOCATED_SPACE/1024/1024 FREE_SPACE/1024/1024
    ------------------------- ------------------------- --------------------
    		      100			  2		      99🈁
    
    SQL>
    
     100MBのうちの使用済みは2MBで,99MBは余っている模様.数値が合わないのは誤差か.これだともったいない.

     勿体無いので,削減する.

    TEMP領域を小さくする

     今回は100MB用意したけれど,実際に使われているのが2MBだったので,50MBに減らす.
    SQL> alter tablespace TEMP shrink space keep 50M;🆑
    
    表領域が変更されました。🈁
    
    SQL>
    
     これで100MBから50MBに変更された.確認する.
    SQL> select tablespace_size / 1024 / 1024,allocated_space / 1024 /1024,
      2  free_space / 1024 / 1024 from dba_temp_free_space;
    
    TABLESPACE_SIZE/1024/1024 ALLOCATED_SPACE/1024/1024 FREE_SPACE/1024/1024
    ------------------------- ------------------------- --------------------
    		       51			  1		      50
    
    SQL>
    
     51MBの領域があって,1MB使っていて残り50MB余っている.数値が違うのは誤差.
     Oracle 11g以降,パスワードは大文字小文字を区別するようになったそうです.逆にいうとそれまでは大文字設定したパスワードを小文字で入れても認証できたということ.そういえば,SCOTT/TIGERだったりscott/tigerだったりしているなぁ.

     古いアプリをOracle 11g以降で利用する場合,このパスワード文字の検証方法が変わっていることで互換性が失われる.
     ということで,以前のように大文字小文字を区別しない方法にすることができる.

     まずは,現在設定を確認する.
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    に接続されました。
    SQL> show parameter sec_case_sensitive_logon🆑
    
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    sec_case_sensitive_logon	     boolean	 TRUE🈁
    SQL>
    
     TRUEになっていると,大文字小文字を区別する設定になっているので,これを区別しないように設定を変更する.

    SQL> alter system set sec_case_sensitive_logon = false scope = both;🆑
    
    システムが変更されました。
    
    SQL>
    
     サイド設定を見てみる.
    SQL> show parameter sec_case_sensitive_logon🆑
    
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    sec_case_sensitive_logon	     boolean	 FALSE🈁
    SQL>
    
     変わっている模様.
     小心者なので,一応commitしておく.

    SQL> commit;🆑
    
    コミットが完了しました。
    
    SQL>
    

    Oracleで現在ログインしているユーザを調べる

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/3/14 23:00
     SQL*PlusなどでOracleデータベースにログインしているときに、現在ログインしているユーザ名は以下のSQLで確認できる。

    select username from user_users;
    
     インストールしたOracle XEは起動している状態なので,停止して,起動してみる.

    Oracleユーザにスイッチ

     起動と終了を行うには,oracleユーザに成りかわる.oracleユーザはインストールの時に作成されている.
    [root@rhel76 ~]# su - oracle🆑
    最終ログイン: 2019/01/21 (月) 01:14:16 JST
    -bash-4.2$
    
     環境変数が設定されているか,パスが効いているかを確認する.
    -bash-4.2$ which sqlplus🆑
    /usr/bin/which: no sqlplus in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
    -bash-4.2$
    
     設定されてないので環境変数を設定.
    -bash-4.2$ source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh🆑
    -bash-4.2$
    

    Oracle XEの停止

     SQLPLUSでインスタンスに接続する.
    -bash-4.2$ sqlplus / as sysdba🆑
    
    SQL*Plus: Release 11.2.0.2.0 Production on 月 1月 21 01:42:57 2019
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    アイドル・インスタンスに接続しました。
    
    SQL>
    
     shutdownで停止する.
    SQL> shutdown🆑
    データベースがクローズされました。
    データベースがディスマウントされました。
    ORACLEインスタンスがシャットダウンされました。
    SQL> quit🆑
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Productionとの
    接続が切断されました。
    -bash-4.2$
    
     停止された.
     プロセスを確認してみる.
    [root@rhel76 ~]# ps -ef|grep oracle🆑
    oracle   13406     1  0 01:13 ?        00:00:00 /u01/app/oracle/product/11.2.0/xe
    /bin/tnslsnr LISTENER -inherit🈁
    root     14217  5328  0 01:40 pts/0    00:00:00 grep --color=auto oracle
    [root@rhel76 ~]#
    
     TNSLISNTERのみ稼働中.これはそのまま置いとく.


    Oracle XEの起動

    -bash-4.2$ sqlplus / as sysdba🆑
    
    SQL*Plus: Release 11.2.0.2.0 Production on 月 1月 21 01:42:57 2019
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    アイドル・インスタンスに接続しました。
    
    SQL>
    
     起動する.
    SQL> startup🆑
    ORACLEインスタンスが起動しました。
    
    Total System Global Area 1068937216 bytes
    Fixed Size		    2233344 bytes
    Variable Size		  616565760 bytes
    Database Buffers	  444596224 bytes
    Redo Buffers		    5541888 bytes
    データベースがマウントされました。
    データベースがオープンされました。
    SQL> quit🆑
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Productionとの
    接続が切断されました。
    -bash-4.2$
    
    環境変数設定
     環境変数は,oracle_env.shに設定してある.パスを確認.

    [root@rhel76 ~]# ls -la /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh🆑
    -rwxr-xr-x. 1 oracle dba 156  8月 29  2011 /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh🈁
    [root@rhel76 ~]#
    
     ファイルの中身を確認.
    [root@rhel76 ~]# cat /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
    export PATH=$ORACLE_HOME/bin:$PATH
    [root@rhel76 ~]#
    
     環境変数を設定する.
    [root@rhel76 ~]# source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh🆑
    [root@rhel76 ~]#
    
     設定されたか確認.
    [root@rhel76 ~]# env|grep -v LS_COLORS🆑
    XDG_SESSION_ID=1
    HOSTNAME=rhel76
    SELINUX_ROLE_REQUESTED=
    TERM=xterm-256color
    SHELL=/bin/bash
    HISTSIZE=1000
    NLS_LANG=JAPANESE_JAPAN.AL32UTF8
    SSH_CLIENT=192.168.20.31 51879 22
    SELINUX_USE_CURRENT_RANGE=
    SSH_TTY=/dev/pts/0
    USER=root
    ORACLE_SID=XE
    MAIL=/var/spool/mail/root
    PATH=/u01/app/oracle/product/11.2.0/xe/bin:/usr/local/sbin:/usr/local/bin:/usr/
    sbin:/usr/bin:/root/bin
    PWD=/root
    LANG=ja_JP.UTF-8
    SELINUX_LEVEL_REQUESTED=
    HISTCONTROL=ignoredups
    SHLVL=1
    HOME=/root
    LOGNAME=root
    SSH_CONNECTION=192.168.20.31 51879 192.168.20.51 22
    LESSOPEN=||/usr/bin/lesspipe.sh %s
    XDG_RUNTIME_DIR=/run/user/0
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    _=/usr/bin/env
    [root@rhel76 ~]#
    
     紙面の都合?表示上,LS_COLORSを削除している.

    SQL*PLUSで接続する

     パスや環境変数が設定されたことが確認できたので,sqlplusで接続してみる.
     まずは,コマンドのパス確認.
    [root@rhel76 ~]# which sqlplus🆑
    /u01/app/oracle/product/11.2.0/xe/bin/sqlplus🈁
    [root@rhel76 ~]#
    
     接続してみる.
    [root@rhel76 ~]# sqlplus system🆑
    
    SQL*Plus: Release 11.2.0.2.0 Production on 月 1月 21 01:33:34 2019
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    パスワードを入力してください:manager🆑
    
    
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    に接続されました。
    SQL> quit🆑
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    との接続が切断されました。
    [root@rhel76 ~]#
    
     問題なく稼働していました.
     Oracle XEでは無償版ということで制限があって,決まったインスタンスが構築される.
     rpmでOracle XEのパッケージをインストールした際に,最後にYou must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.と表示されるので,そのまま実行する.

     まずは,コマンドの存在を確認.
    [root@rhel76 ~]# ls -la /etc/init.d/oracle-xe🆑
    -rwxr-xr-x. 1 root root 19592  8月 29  2011 /etc/init.d/oracle-xe
    [root@rhel76 ~]#
    
     ファイルがあって,実行パーミッションもあるようなので,実行.
    [root@rhel76 ~]# /etc/init.d/oracle-xe configure🆑
    
    Oracle Database 11g Express Edition Configuration
    -------------------------------------------------
    This will configure on-boot properties of Oracle Database 11g Express
    Edition.  The following questions will determine whether the database should
    be starting upon system boot, the ports it will use, and the passwords that
    will be used for database accounts.  Press <Enter> to accept the defaults.
    Ctrl-C will abort.
    
    Specify the HTTP port that will be used for Oracle Application Express [8080]:
    
     Oracle Application ExpressというWeb版簡易管理ツールの起動ポートを訊いてきている.
     そのままエンターキーで次に進む.
    Specify the HTTP port that will be used for Oracle Application Express [8080]:
    
    /etc/init.d/oracle-xe: line 362: netstat: command not found
    Specify a port that will be used for the database listener [1521]:
    
     RHEL7には,netstatコマンドが入ってないのでエラーになっている...
     Oracle データベースの通信ポートを設定する.デフォルトの1521で良い.
     そのままエンターキーで次に進む.
    Specify a port that will be used for the database listener [1521]:
    
    /etc/init.d/oracle-xe: line 405: netstat: command not found
    Specify a password to be used for database accounts.  Note that the same
    password will be used for SYS and SYSTEM.  Oracle recommends the use of
    different passwords for each database account.  This can be done after
    initial configuration:
    
     sysとsystemようのアカウントのパスワードを設定する.以前は,managerとか,change_on_installとかがデフォルトだったが,現在はあえて設定が必要な模様.
     ここはあえて,managerを設定.(セキュリティ上好ましくないが練習なのでこれで)
    initial configuration:manager🆑
    Confirm the password:manager🆑
    
    Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:
    
     起動時にOracleを起動するしたくないので,nを選択.

    Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:n🆑
    
    Starting Oracle Net Listener...Done
    Configuring database...Done
    Starting Oracle Database 11g Express Edition instance...Done
    Installation completed successfully.
    [root@rhel76 ~]#
    
     環境にもよるが,1〜2分で起動する.
     プロセスを確認.
    [root@rhel76 ~]# ps -ef|grep oracle🆑
    oracle   13406     1  0 01:13 ?        00:00:00 /u01/app/oracle/product/11.2.0/xe/
    bin/tnslsnr LISTENER -inherit
    oracle   13912     1  0 01:14 ?        00:00:00 xe_pmon_XE
    oracle   13914     1  0 01:14 ?        00:00:00 xe_psp0_XE
    oracle   13916     1  0 01:14 ?        00:00:00 xe_vktm_XE
    oracle   13920     1  0 01:14 ?        00:00:00 xe_gen0_XE
    oracle   13922     1  0 01:14 ?        00:00:00 xe_diag_XE
    oracle   13924     1  0 01:14 ?        00:00:00 xe_dbrm_XE
    oracle   13926     1  0 01:14 ?        00:00:00 xe_dia0_XE
    oracle   13928     1  0 01:14 ?        00:00:00 xe_mman_XE
    oracle   13930     1  0 01:14 ?        00:00:00 xe_dbw0_XE
    oracle   13932     1  0 01:14 ?        00:00:00 xe_lgwr_XE
    oracle   13934     1  0 01:14 ?        00:00:00 xe_ckpt_XE
    oracle   13936     1  0 01:14 ?        00:00:00 xe_smon_XE
    oracle   13938     1  0 01:14 ?        00:00:00 xe_reco_XE
    oracle   13940     1  0 01:14 ?        00:00:00 xe_mmon_XE
    oracle   13942     1  0 01:14 ?        00:00:00 xe_mmnl_XE
    oracle   13944     1  0 01:14 ?        00:00:00 xe_d000_XE
    oracle   13946     1  0 01:14 ?        00:00:00 xe_s000_XE
    oracle   13948     1  0 01:14 ?        00:00:00 xe_s001_XE
    oracle   13950     1  0 01:14 ?        00:00:00 xe_s002_XE
    oracle   13952     1  0 01:14 ?        00:00:00 xe_s003_XE
    oracle   14064     1  0 01:14 ?        00:00:01 xe_vkrm_XE
    oracle   14066     1  0 01:14 ?        00:00:00 xe_qmnc_XE
    oracle   14068     1  0 01:14 ?        00:00:00 xe_q000_XE
    oracle   14070     1  0 01:14 ?        00:00:00 xe_q001_XE
    oracle   14084     1  0 01:14 ?        00:00:00 xe_cjq0_XE
    root     14120  5328  0 01:18 pts/0    00:00:00 grep --color=auto oracle
    [root@rhel76 ~]#
    
     oracleユーザとしてプロセスが起動している模様.
     念のため,ユーザアカウントも確認しておく.
    [root@rhel76 ~]# cat /etc/passwd|grep oracle🆑
    oracle:x:1000:1000::/u01/app/oracle:/bin/bash
    [root@rhel76 ~]#
    
     ログインシェルがbashになっているので確認してみる.
    [root@rhel76 ~]# ls -la /u01/app/oracle:/bin/bash🆑
    ls: /u01/app/oracle:/bin/bash にアクセスできません: そのようなファイルやディレクトリはありません
    [root@rhel76 ~]#
    
     何もないのね.インストールはこれで終了.
     Oracle XEをインストールしようとしたらbcコマンドが無いのでエラーになりインストール失敗.
     失敗した原因のbcコマンドをインストールしたので,再度インストールしようと思うのだけれど,インストール失敗したにも関わらずファイルやパッケージの登録情報は残ったままなので,それらを消して再度クリーンインストール

     パッケージの情報を確認.
    [root@rhel76 Packages]# rpm -q oracle-xe-11.2.0-1.0.x86_64🆑
    oracle-xe-11.2.0-1.0.x86_64🈁
    [root@rhel76 Packages]#
    
     存在していたので,rpm -eコマンドで削除する.
    [root@rhel76 Packages]# rpm -e oracle-xe-11.2.0-1.0.x86_64🆑
    警告: ファイル /u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora: 削除に失敗しました:
     そのようなファイルやディレクトリはありません
    警告: ファイル /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora: 削除に失敗しました:
     そのようなファイルやディレクトリはありません
    警告: ファイル /u01/app/oracle/product/11.2.0/xe/config/scripts/postDBCreation.sql: 削除に失敗し
    ました: そのようなファイルやディレクトリはありません
    警告: ファイル /etc/init.d/oracle-xe: 削除に失敗しました: そのようなファイルやディレクトリはあり
    ません
    [root@rhel76 Packages]#
    
     ファイルが設置されてないから一部消えないのだと思う.Oracel XEがインストールされる/u01ディレクトリ配下について確認する.

    [root@rhel76 Packages]# ls -la /u01/🆑
    合計 0
    drwxr-xr-x.  3 root root  17  1月 20 23:13 .
    dr-xr-xr-x. 18 root root 235  1月 20 23:13 ..
    drwxr-xr-x.  3 root root  20  1月 20 23:13 app
    [root@rhel76 Packages]# ls -la /u01/app/oracle/product/11.2.0/🆑
    合計 0
    drwxr-xr-x. 2 root root  6  1月 21 00:37 .
    drwxr-xr-x. 3 root root 20  1月 20 23:13 ..
    [root@rhel76 Packages]#
    
     実態のファイルはないが,ディレクトリだけ残っているので,削除する.

    [root@rhel76 Packages]# rm -rf /u01🆑
    [root@rhel76 Packages]#
    

    [root@rhel76 Disk1]# ls -la🆑
    合計 309884
    drwxrwxr-x. 4 root root        76  8月 29  2011 .
    drwxr-xr-x. 3 root root        62  1月 20 11:38 ..
    -rw-rw-r--. 1 root root 317320273  8月 29  2011 oracle-xe-11.2.0-1.0.x86_64.rpm🈁
    drwxr-xr-x. 2 root root        20  8月 29  2011 response
    drwxrwxr-x. 2 root root        26  8月 29  2011 upgrade
    [root@rhel76 Disk1]#
    

    [root@rhel76 Disk1]# rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm🆑
    準備しています...              ################################# [100%]
    /var/tmp/rpm-tmp.C8SnJs: 257 行: [: 18446744073692774399: 整数の式が予期されます🈁
    /var/tmp/rpm-tmp.C8SnJs: 271 行: [: 18446744073692774399: 整数の式が予期されます
    更新中 / インストール中...
       1:oracle-xe-11.2.0-1.0             ################################# [100%]
    Executing post-install steps...
    
    You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
    
    [root@rhel76 Disk1]#
    
     んー.「整数の式が予期されます」というシェルの評価式に関するワーニングは出ているけれど,エラーとならなかったので,一旦ここでは問題なしとする.
     Red Hat Enterprise Linux 7.6に,Oracel 11g XEをインストールしようとしたら,bcコマンドが入ってないということで失敗. yumでインストールしようとしたら,サブスクリプション(サポート)に入ってないとダウンロードできないというエラーがでた.

     こういう時は黙ってインストールイメージの中にパッケージが入っているだろうという推測.メディアからパッケージをインストールする.
     メディアといっても,RHEL7.6はVirtualBox上で稼働させているので,ISOイメージをマウントさせる.

     まず,これと同じ手順でISOファイルを認識させる

    [root@rhel76 Disk1]# mount -r /dev/cdrom /mnt🆑
    [root@rhel76 Disk1]# 
    
     マウントポイントのファイルを確認.
    [root@rhel76 Disk1]# cd /mnt🆑
    [root@rhel76 mnt]# ls -la🆑
    合計 968
    dr-xr-xr-x.  9 root root   4096 10月 11 03:34 .
    dr-xr-xr-x. 18 root root    235  1月 20 23:13 ..
    -r--r--r--.  1 root root     56 10月 11 03:22 .discinfo
    -r--r--r--.  1 root root   1900 10月 11 03:22 .treeinfo
    dr-xr-xr-x.  3 root root   2048 10月 11 03:34 EFI
    -r--r--r--.  1 root root   8266  4月  4  2014 EULA
    -r--r--r--.  1 root root  18092  3月  6  2012 GPL
    dr-xr-xr-x.  2 root root   2048 10月 11 03:34 LiveOS
    dr-xr-xr-x.  2 root root 931840 10月 11 03:34 Packages
    -r--r--r--.  1 root root   3375  9月 21 23:59 RPM-GPG-KEY-redhat-beta
    -r--r--r--.  1 root root   3211  9月 21 23:59 RPM-GPG-KEY-redhat-release
    -r--r--r--.  1 root root   1796 10月 11 03:34 TRANS.TBL
    dr-xr-xr-x.  4 root root   2048 10月 11 03:34 addons
    -r--r--r--.  1 root root   1455 10月 11 03:02 extra_files.json
    dr-xr-xr-x.  3 root root   2048 10月 11 03:34 images
    dr-xr-xr-x.  2 root root   2048 10月 11 03:34 isolinux
    -r--r--r--.  1 root root    114 10月 11 03:09 media.repo
    dr-xr-xr-x.  2 root root   4096 10月 11 03:34 repodata
    [root@rhel76 mnt]#
    
     このPackagesディレクトリにRPMが入っているので,その中からbcに関係するであろうパッケージを探してみる.
    [root@rhel76 mnt]# cd Packages🆑
    [root@rhel76 Packages]# ls -la|grep bc|head -n 10🆑
    -r--r--r--. 1 root root   171120  4月  1  2014 apache-commons-dbcp-1.4-17.el7.noarch.rpm
    -r--r--r--. 1 root root   117320  4月  1  2014 bc-1.06.95-13.el7.x86_64.rpm🈁
    -r--r--r--. 1 root root   494460  9月 25 22:30 bcc-0.6.1-2.el7.x86_64.rpm
    -r--r--r--. 1 root root   390616  9月 25 22:31 bcc-tools-0.6.1-2.el7.x86_64.rpm
    -r--r--r--. 1 root root   480352  4月  1  2014 bcel-5.2-18.el7.noarch.rpm
    -r--r--r--. 1 root root  1307460  4月  1  2014 compat-glibc-2.12-4.el7.x86_64.rpm
    -r--r--r--. 1 root root   462492  4月  1  2014 compat-glibc-headers-2.12-4.el7.x86_64.rpm
    -r--r--r--. 1 root root    19428  4月  1  2014 compat-libcap1-1.10-7.el7.i686.rpm
    -r--r--r--. 1 root root    19164  4月  1  2014 compat-libcap1-1.10-7.el7.x86_64.rpm
    -r--r--r--. 1 root root    28284 10月  6  2015 compat-libcogl-pango12-1.14.0-3.el7.i686.rpm
    [root@rhel76 Packages]#
    
     パッケージがあった.インストールする.
    root@rhel76 Packages]# rpm -ihv bc-1.06.95-13.el7.x86_64.rpm🆑
    警告: bc-1.06.95-13.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fd431d51: NOKEY
    準備しています...              ################################# [100%]
    更新中 / インストール中...
       1:bc-1.06.95-13.el7                ################################# [100%]
    [root@rhel76 Packages]#
    
     問題なくインストールできた模様.
     マウントしたイメージはアンマウントしておく.
    [root@rhel76 Disk1]# cd /🆑
    [root@rhel76 /]# umount /mnt🆑
    [root@rhel76 /]#
    

     インストールイメージが手に入らない場合は,ここからダウンロードしてみる.

    bc-1.06.95-13.el7.x86_64.rpm
    https://centos.pkgs.org/7/centos-x86_64/bc-1.06.95-13.el7.x86_64.rpm.html

    Oracle 11g Express Edition on Red Hat 7.6 その1

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/1/21 0:26
     VirtualBox上にインストールした,Red Hat 7.6に,Oracle 11g Express Editionを入れてみる.

     OTNのサイトからダウンロードしたファイルを確認.
    [root@rhel76 home]# ls -la🆑
    合計 308488
    drwxr-xr-x.  2 root root        49  1月 20 11:38 .
    dr-xr-xr-x. 17 root root       224  1月 20 11:38 ..
    -rwxr-x---.  1 root root 315891481  1月 20 11:37 oracle-xe-11.2.0-1.0.x86_64.rpm.zip🈁
    [root@rhel76 home]#
    
     ZIPファイルを展開する.
    [root@rhel76 home]# unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip🆑
    Archive:  oracle-xe-11.2.0-1.0.x86_64.rpm.zip
       creating:Disk 1/
       creating:Disk 1/upgrade/
      inflating:Disk 1/upgrade/gen_inst.sql
       creating:Disk 1/response/
      inflating:Disk 1/response/xe.rsp
      inflating:Disk 1/oracle-xe-11.2.0-1.0.x86_64.rpm🈁
    [root@rhel76 home]#
    
     展開したファイルを確認.
    [root@rhel76 home]# cd Disk1🆑
    [root@rhel761 Disk1]# ls -la🆑
    合計 309884
    drwxrwxr-x. 4 root root        76  8月 29  2011 .
    drwxr-xr-x. 3 root root        62  1月 20 11:38 ..
    -rw-rw-r--. 1 root root 317320273  8月 29  2011 oracle-xe-11.2.0-1.0.x86_64.rpm🈁
    drwxr-xr-x. 2 root root        20  8月 29  2011 response
    drwxrwxr-x. 2 root root        26  8月 29  2011 upgrade
    [root@rhel761 Disk1]#
    
     RPMが展開されたことがわかる.
     インストールする.
    
    [root@rhel761]# rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm🆑
    準備しています...              ################################# [100%]
    /var/tmp/rpm-tmp.f7N2Y9: 行 186: bc: コマンドが見つかりません🈁
    /var/tmp/rpm-tmp.f7N2Y9: 257 行: [: 18446744073692774399: 整数の式が予期されます
    /var/tmp/rpm-tmp.f7N2Y9: 271 行: [: 18446744073692774399: 整数の式が予期されます
    更新中 / インストール中...
       1:oracle-xe-11.2.0-1.0             ################################# [100%]
    Executing post-install steps...
    /var/tmp/rpm-tmp.yVy7dR: 行 76: bc: コマンドが見つかりません
    /var/tmp/rpm-tmp.yVy7dR: 行 77: bc: コマンドが見つかりません
    /var/tmp/rpm-tmp.yVy7dR: 78 行: [: -gt: 単項演算子が予期されます
    /var/tmp/rpm-tmp.yVy7dR: 行 82: bc: コマンドが見つかりません
    You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
    
    [root@rhel761]#
    
    bcコマンドがないため,インストールに失敗している.bcコマンドは対話的に計算するコマンド.

     yumでインストールしてみようと考えて実行.
    [root@rhel76 Disk1]# yum install bc🆑
    読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
    This system is not registered with an entitlement server. You can use subscription-manager to register.
    There are no enabled repos.
     Run "yum repolist all" to see the repos you have.🈁
     To enable Red Hat Subscription Management repositories:
         subscription-manager repos --enable <repo>
     To enable custom repositories:
         yum-config-manager --enable <repo>
    [root@rhel76 Disk1]#
    
     残念.なんだかRed Hatサブスクリプションでどうにかしてないと?
     ホスト名の変更も,Red Hat 7シリーズから?は,コマンドで行うらしい.

     現在のホスト名を確認.

    [root@localhost1]# nmcli general hostname🆑
    localhost.localdomain
    [root@localhost1]#
    
     ホスト名をlocalhostからrhel76に変更する.
    [root@localhost1]# nmcli general hostname rhel76🆑
    [root@localhost1]#
    
     変更されたことを確認.
    [root@localhost1]# nmcli general hostname🆑
    rhel76🈁
    [root@localhost1]#
    
     こんな感じでも確認可能.
     反映するためには,シェルを再起動するとわかりやすい.

    [root@localhost ~]# exec bash🆑
    [root@rhel76 ~]#
    
     プロンプトのホスト名が変わっていることが確認できた.
     そのほかにも,hostnamectlコマンドというのがあるらしい.
    [root@rhel76 ~]# hostnamectl status🆑
       Static hostname: rhel76🈁
             Icon name: computer-vm
               Chassis: vm
            Machine ID: 6b28c63ae34836238147602a0063a21f
               Boot ID: 4ba30d0efea04204b63504a13a9d83f1
        Virtualization: kvm
      Operating System: Red Hat Enterprise Linux Server 7.6 (Maipo)
           CPE OS Name: cpe:/o:redhat:enterprise_linux:7.6:GA:server
                Kernel: Linux 3.10.0-957.el7.x86_64
          Architecture: x86-64
    [root@rhel76 ~]#
    
     正解は1つではないということか.
     作成した仮想OSに,ホストOSにあるファイルを転送したい時がある.Guest Additions toolsをインストールしておくと,簡単にホストOSをファイルサーバのようにして仮想OS側とつなぐことができる.

    VirtualBox側での設定

     Virtual Boxの仮想OSの設定にて,共有フォルダを指定する.


     対象の仮想OSを右クリックで「設定」を選択.


     共有フォルダ設定を追加するボタンを選択.


     フォルダーのパスで,ホストOS側のフォルダ(今回はmacOSがホストなので,そのファイルパス)を選択.
     (VirtualBox上で使う)フォルダー名と,ゲストOS側のマウントポイントを設定.


     設定で問題なければ,OKを.


     OSを起動する.

    ゲストOS側で確認する
     Virtual Box6.0とLinuxの間を取り持つツールのインストールを行う.これによってVirtual BoxとゲストOSの親和性が良くなるはず.

     まずは,仮想的にGuest Additions CD imageをセットする.


     セットしたら,ゲストOS側でマウントする.

    [root@localhost ~]# mount -r /dev/cdrom /mnt🆑
    [root@localhost ~]#
    

     ファイルを確認する.
    [root@localhost ~]# cd /mnt🆑
    [root@localhost mnt]#
    [root@localhost mnt]# ls -la
    合計 64896
    dr-xr-xr-x.  5 root root     2408 12月 18 20:51 .
    dr-xr-xr-x. 17 root root      224  1月 20 02:29 ..
    -r--r--r--.  1 root root      763 10月 29  2017 AUTORUN.INF
    dr-xr-xr-x.  2 root root     1824 12月 18 20:51 NT3x
    dr-xr-xr-x.  2 root root     2652 12月 18 20:51 OS2
    -r--r--r--.  1 root root      547 12月 18 20:51 TRANS.TBL
    -r--r--r--.  1 root root  2053267 12月 18 20:45 VBoxDarwinAdditions.pkg
    -r--r--r--.  1 root root     3949 12月 18 20:45 VBoxDarwinAdditionsUninstall.tool
    -r-xr-xr-x.  1 root root  7925183 12月 18 20:47 VBoxLinuxAdditions.run🈁
    -r--r--r--.  1 root root 17186816 12月 18 20:48 VBoxSolarisAdditions.pkg
    -r-xr-xr-x.  1 root root 26090920 12月 18 20:51 VBoxWindowsAdditions-amd64.exe
    -r-xr-xr-x.  1 root root 12900296 12月 18 20:49 VBoxWindowsAdditions-x86.exe
    -r-xr-xr-x.  1 root root   269584 12月 18 20:46 VBoxWindowsAdditions.exe
    -r-xr-xr-x.  1 root root     6384 10月 29  2017 autorun.sh
    dr-xr-xr-x.  2 root root      792 12月 18 20:51 cert
    -r-xr-xr-x.  1 root root     4821 10月 29  2017 runasroot.sh
    [root@localhost mnt]#
    
     Linux用に準備されたコマンドを実行する.
    [root@localhost mnt]# ./VBoxLinuxAdditions.run🆑
    Verifying archive integrity... All good.
    Uncompressing VirtualBox 6.0.0 Guest Additions for Linux........
    VirtualBox Guest Additions installer
    Copying additional installer modules ...
    Installing additional modules ...
    VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
      This may take a while.
    VirtualBox Guest Additions: To build modules for other installed kernels, run
    VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
    VirtualBox Guest Additions: Building the modules for kernel 3.10.0-957.el7.x86_64.
    VirtualBox Guest Additions: Starting.
    [root@localhost mnt]#
    
     インストールが終わったら,再起動する.

    [root@localhost mnt]# reboot🆑
    
     もし,次のようなエラーが出た場合.
    [root@localhost mnt]# ./VBoxLinuxAdditions.run🆑
    Verifying archive integrity... All good.
    Uncompressing VirtualBox 6.0.0 Guest Additions for Linux........
    bzip2 not found.  Please install: bzip2 tar; and try again.
    [root@localhost mnt]#
    
     インストール時にパッケージが足りなかったと思われる.
     セキュリティ上は好ましくないので,作業が全て終わったら設定を戻す必要がある.

     sshd_configの中のPermitRootの設定を確認.
    [root@localhost ~]# cat /etc/ssh/sshd_config|grep PermitRoot🆑
    #PermitRootLogin yes🈁
    # the setting of "PermitRootLogin without-password".
    [root@localhost ~]#
    
     デフォルトではコメントアウトしてあるので,先頭の#をとる.記載がない場合は,次のようになる様に記述を追加する.

    [root@localhost ~]# cat /etc/ssh/sshd_config|grep PermitRoot🆑
    PermitRootLogin yes🈁
    # the setting of "PermitRootLogin without-password".
    [root@localhost ~]#
    
     設定を変更したので,SSHDを再起動する.
    [root@localhost ~]# service sshd restart🆑
    Redirecting to /bin/systemctl restart sshd.service
    [root@localhost ~]#
    
     sshで接続してみる.
    $ ssh root@192.168.20.51🆑
    The authenticity of host '192.168.20.51 (192.168.20.51)' can't be established.
    ECDSA key fingerprint is SHA256:HNSQDVQ7N7pX9XffBVvCD4iIwBFrXVkBW1Hvrlu4OX4.
    Are you sure you want to continue connecting (yes/no)? yes🆑
    Warning: Permanently added '192.168.20.51' (ECDSA) to the list of known hosts.
    root@192.168.20.51's password:
    Last login: Sun Jan 20 02:55:40 2019
    [root@localhost ~]#
    
     つながりました.
     インストールした直後だと,ネットワークインタフェイスの設定が行われてないので,IPアドレスを付与する.

     まずは現状を確認.
    [root@localhost ~]# ifconfig -a🆑
    -bash: ifconfig: コマンドが見つかりません
    [root@localhost ~]#
    
     残念.ifconfigコマンドが入ってない.ip aを実行する.
    [root@localhost ~]# ip a🆑
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group
     default qlen 1000
        link/ether 08:00:27:e9:79:7e brd ff:ff:ff:ff:ff:ff
    [root@localhost ~]#
    
     インターフェイス名がenp0s3だとわかった.ネットワーク設定を確認する.

    ...続きを読む

    インストール

     ここまでに仮想マシンの作成とインストールするOSのメディアの認識までが終わったので,仮想マシンの電源を入れISOイメージからOSを起動させてインストールを実行する.


     仮想マシンを指定して起動.


     

    ...続きを読む

    ISOイメージを指定する

     Red Hat Developerサイトから,Red Hat Enterprise Linux 7.6のISOイメージをダウンロードしておく.
     今回はそのISOイメージをVirtual Box 6.0に作成した仮想マシンに認識させる.









     ファイルを指定するだけなので簡単.
    仮想マシンの作成
     VirtualBox上に,Red Hat 7.6をインストールするための仮想マシンを作成する.今回は,メモリ8GB,ストレージ32GBとして構成する.

    ...続きを読む

    MariaDB 10.3をWindows 10にインストールする

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2019/1/11 0:32
     タイトル通りなのだが,MariaDB10.3をWindows 10に入れてみた.なんの苦労もなかった.びっくりしたのは,GUIの管理ツールまでついてるんだねぇ.

    HeidiSQL
    https://www.heidisql.com

     今回は,MySQLじゃなくてMariaDBをインストールして,HeidiSQLやMySQLモニタを使って接続するところまでを実施してみます.

    ...続きを読む

    open cobol

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/10/24 23:00
     brew updateしたら,open cobolというものがあったので,確認.

    $ brew info open-cobol
    open-cobol: stable 1.1 (bottled)
    COBOL compiler
    https://sourceforge.net/projects/open-cobol/
    Conflicts with:
    gnu-cobol (because both install `cob-config`, `cobc` and `cobcrun` binaries)
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/open-cobol.rb
    ==> Dependencies
    Required: gmp ✔, berkeley-db ✘
    
    $
    
     やっぱりCOBOLコンパイラ.GNU COBOLのことだそうです.
     早速インストール.

    $ brew install open-cobol
    
    ==> Installing dependencies for open-cobol: openssl, berkeley-db
    ==> Installing open-cobol dependency: openssl
    ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2o_2.sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring openssl-1.0.2o_2.sierra.bottle.tar.gz
    ==> Caveats
    A CA file has been bootstrapped using certificates from the SystemRoots
    keychain. To add additional certificates (e.g. the certificates added in
    the System keychain), place .pem files in
    /usr/local/etc/openssl/certs
    
    and run
    /usr/local/opt/openssl/bin/c_rehash
    
    This formula is keg-only, which means it was not symlinked into /usr/local,
    because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.
    
    If you need to have this software first in your PATH run:
    echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find this software you may need to set:
    LDFLAGS: -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
    For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
    
    ==> Summary
    🍺 /usr/local/Cellar/openssl/1.0.2o_2: 1,792 files, 12.3MB
    ==> Installing open-cobol dependency: berkeley-db
    ==> Downloading https://homebrew.bintray.com/bottles/berkeley-db-18.1.25.sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring berkeley-db-18.1.25.sierra.bottle.tar.gz
    🍺 /usr/local/Cellar/berkeley-db/18.1.25: 5,672 files, 116.7MB
    ==> Installing open-cobol
    ==> Downloading https://homebrew.bintray.com/bottles/open-cobol-1.1_2.sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring open-cobol-1.1_2.sierra.bottle.tar.gz
    🍺 /usr/local/Cellar/open-cobol/1.1_2: 38 files, 1007.2KB
    
    $
    
     インストール完了.ほとんどはBerkeley DBのダウンロード時間だった.

     サンプルを拾ってきたので,hello.cobを作成.

    $ cat hello.cob
    000100* HELLO.COB GNU Cobol FAQ example
    000200 IDENTIFICATION DIVISION.
    000300 PROGRAM-ID. hello.
    000400 PROCEDURE DIVISION.
    000500 DISPLAY "Hello World!".
    000600 STOP RUN.
    
    $
    
     行番号が必要なのと,アスタリスクがコメント行を示すってのは,懐かしいな.
     コンパイルして実行.

    $ cobc -x hello.cob
    
    $ ls -la
    total 28
    drwxr-xr-x 5 ujpadmin 191071026 170 6 27 16:35 .
    drwx------+ 87 ujpadmin 191071026 2958 6 27 16:33 ..
    
    rwxr-xr-x 1 ujpadmin 191071026 9348 6 27 16:35 hello
    rw-r--r-- 1 ujpadmin 191071026 181 6 27 16:35 hello.cob
    
    $
    
     -xオプションをつけると,実行ファイルが作成される.つけないと動的ライブラリが作成される.

     実行してみる.
    $ ./hello
    
     ありがとうございました.

    brew updateが失敗する

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/8/1 20:14
     brew updateしようとしたら,うまく動いてない件.

    macmini2010:~ ujpadmin$ brew update🆑
    Updated 1 tap (homebrew/core).
    ==> Updated Formulae
    abcm2ps
    ==> Migrating HOMEBREW_REPOSITORY (please wait)...
    Error: /usr/local/Homebrew already exists.
    Please remove it manually or uninstall and reinstall Homebrew into a new
    location as the migration cannot be done automatically.
    macmini2010:~ ujpadmin$
    

     エラーを確認.
    macmini2010:~ ujpadmin$ brew doctor🆑
    Your system is ready to brew.
    macmini2010:~ ujpadmin$
    

     問題無いとされている...
     こんな時は,Homebrewを再インストールすれば良いらしく,一旦消してから再インストールするそうだ.ということで,まずは消してみる.

    macmini2010:~ ujpadmin$ ls -la /usr/local/Homebrew/🆑
    total 0
    drwxrwxr-x   3 ujpadmin  admin  102  7  6 23:21 .
    drwxrwxr-x  29 ujpadmin  admin  986  8  1 18:57 ..
    drwxr-xr-x  10 ujpadmin  admin  340  7  6 23:21 .git
    macmini2010:~ ujpadmin$ ls -la /usr/local/Homebrew/.git/🆑
    total 24
    drwxr-xr-x  10 ujpadmin  admin  340  7  6 23:21 .
    drwxrwxr-x   3 ujpadmin  admin  102  7  6 23:21 ..
    -rw-r--r--   1 ujpadmin  admin    0  7  6 23:21 FETCH_HEAD
    -rw-r--r--   1 ujpadmin  admin   23  7  6 23:21 HEAD
    -rw-r--r--   1 ujpadmin  admin  258  7  6 23:21 config
    -rw-r--r--   1 ujpadmin  admin   73  7  6 23:21 description
    drwxr-xr-x  12 ujpadmin  admin  408  7  6 23:21 hooks
    drwxr-xr-x   3 ujpadmin  admin  102  7  6 23:21 info
    drwxr-xr-x   4 ujpadmin  admin  136  7  6 23:21 objects
    drwxr-xr-x   4 ujpadmin  admin  136  7  6 23:21 refs
    macmini2010:~ ujpadmin$
    macmini2010:~ ujpadmin$ rm -rf /usr/local/Homebrew/🆑
    macmini2010:~ ujpadmin$
    
     まずは,brew updateしてみる.

    macmini2010:~ ujpadmin$ brew update🆑
    Updated 1 tap (homebrew/core).
    ==> Updated Formulae
    lsof                                                      pegtl
    ==> Migrating HOMEBREW_REPOSITORY (please wait)...
    ==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!
    Homebrew no longer needs to have ownership of /usr/local. If you wish you can
    return /usr/local to its default ownership with:
      sudo chown root:wheel /usr/local
    macmini2010:~ ujpadmin$
    

     権限をセットする.
    macmini2010:~ ujpadmin$ sudo chown root:wheel /usr/local🆑
    macmini2010:~ ujpadmin$
    
     もう一回,

    macmini2010:~ ujpadmin$ brew update🆑
    ==> Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby-2.3.7.leopard_64.bottle.tar.gz
    Already downloaded: /Users/ujpadmin/Library/Caches/Homebrew/portable-ruby-2.3.7.leopard_64.bottle.tar.gz
    ==> Pouring portable-ruby-2.3.7.leopard_64.bottle.tar.gz
    Updated 1 tap (homebrew/core).
    No changes to formulae.
    macmini2010:~ ujpadmin$
    Password:
    macmini2010:~ ujpadmin$
    
     再度更新が無いか確認.
    macmini2010:~ ujpadmin$ brew upgrade🆑
    macmini2010:~ ujpadmin$
    
     最後にdoctorしてみる.
    macmini2010:~ ujpadmin$ brew doctor🆑
    Your system is ready to brew.
    macmini2010:~ ujpadmin$
    
     無事完了.

    最小限ページ

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/6/14 23:00
     ブラウザの初期ページをGoogleにしている人は多いと思いますが,Googleのロゴがでるのもデータ通信量がもったいないと考える場合の,最小限ページ.

    <form method=get action="http://www.google.co.jp/search">
    <input type=text name=q value="">
    <input type=submit name=btnG value="G">
    </form>
    
     このコードをHTMLファイルに保存して,ブラウザの初期ページにすれば解決です.

    HUGOを使ってみる

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/6/13 1:18
     「サイトジェネレータ」というカテゴリに属するHUGOが気に入っている.
     大雑把にいうとMarkdownで記述したWebページをHTMLに変換してくれるもので,CSSとか素材を変更するだけでサイト全体のドキュメントを管理できるということ.
     数あるサイトジェネレータの中でも,HUGOが高速動作で評判が良くサイトデザインもたくさんあるというのでこれを使ってみる.

    HUGOをインストール
     まずはインストール.
    MBP2017:~ ujpadmin$ brew info hugo🆑
    hugo: stable 0.41 (bottled), HEAD
    Configurable static site generator
    https://gohugo.io/
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/hugo.rb
    ==> Dependencies
    Build: dep ✘, go ✘
    ==> Options
    --HEAD
    	Install HEAD version
    MBP2017:~ ujpadmin$
    MBP2017:~ ujpadmin$
    
     HUGOはGO言語で作られているらしく,depというGo dependency management toolが必要とのこと.普段通りにそのままインストール.
    MBP2017:~ ujpadmin$ brew install hugo🆑
    ==> Downloading https://homebrew.bintray.com/bottles/hugo-0.42.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%e
    ==> Pouring hugo-0.42.high_sierra.bottle.tar.gz
    ==> Caveats
    Bash completion has been installed to:
      /usr/local/etc/bash_completion.d
    ==> Summary
    🍺  /usr/local/Cellar/hugo/0.42: 32 files, 28.3MB
    MBP2017:~ ujpadmin$
    
     サイズ的にも一瞬で入るんだなぁ.
     パスを確認.
    MBP2017:~ ujpadmin$ which hugo🆑
    /usr/local/bin/hugo
    MBP2017:~ ujpadmin$
    
     では,使ってみましょう.

    HUGOでサイトを作成
     試験用に,サイトを作成.今回は,~Document/hugoディレクトリ配下に作成する.
    MBP2017:~ ujpadmin$ cd ~/Documents/🆑
    MBP2017:Documents ujpadmin$ mkdir hugo;cd hugo🆑
    MBP2017:hugo ujpadmin$ pwd🆑
    /Users/ujpadmin/Documents/hugo
    MBP2017:hugo ujpadmin$
    
     サイトを作成.
    MBP2017:hugo ujpadmin$ hugo new site MyFirstSite🆑
    Congratulations! Your new Hugo site is created in /Users/ujpadmin/Documents/hugo/MyFirstSite.
    
    Just a few more steps and you're ready to go:
    
    1. Download a theme into the same-named folder.
       Choose a theme from https://themes.gohugo.io/, or
       create your own with the "hugo new theme <THEMENAME>" command.
    2. Perhaps you want to add some content. You can add single files
       with "hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>".
    3. Start the built-in live server via "hugo server".
    
    Visit https://gohugo.io/ for quickstart guide and full documentation.
    MBP2017:hugo ujpadmin$
    
     ディレクトリやファイルが配置されたというので,確認してみる.
    MBP2017:hugo ujpadmin$ tree -a🆑
    .
    └── MyFirstSite
        ├── archetypes
        │   └── default.md
        ├── config.toml
        ├── content
        ├── data
        ├── layouts
        ├── static
        └── themes
    
    7 directories, 2 files
    MBP2017:hugo ujpadmin$
    
     HUGOの醍醐味は,フリー素材のテーマファイルが多く用意されていることだけれど,初期状態では入ってない.

    Complete List | Hugo Themes
    https://themes.gohugo.io/

    テーマをダウンロード
     Hugo Themesで紹介されて居るテーマ用のファイルは,github上に存在しているので,気に入ったものをダウンロードする.今回は,公式ドキュメントで紹介されているhugo-unoというものを選択してみた.
     hugoのバージョンとテーマの記載のアンマッチがあったり,公式サイトに載っているからといって完全動作するというわけでもないので,QuickStartガイドに載っているhugo-unoが最初は無難.

     githubからダウンロードするファイルは,サイトを作った時に自動的に作成されるthemesディレクトリの下に保存するので,ディレクトリを移動してcloneする.
    MBP2017:hugo ujpadmin$ pwd🆑
    /Users/ujpadmin/Documents/hugo🆑
    MBP2017:hugo ujpadmin$ cd MyFirstSite/themes/🆑
    MBP2017:themes ujpadmin$ ls🆑
    MBP2017:themes ujpadmin$
    
     初期状態だと何もない状態.vex-hugo.gitをダウンロードする.
    MBP2017:themes ujpadmin$ git clone https://github.com/SenjinDarashiva/hugo-uno.git🆑
    Cloning into 'hugo-uno'...
    remote: Counting objects: 532, done.
    remote: Total 532 (delta 0), reused 0 (delta 0), pack-reused 532
    Receiving objects: 100% (532/532), 3.76 MiB | 56.00 KiB/s, done.
    Resolving deltas: 100% (258/258), done.
    MBP2017:themes ujpadmin$
    
     問題なくダウンロードされた模様.

    設定ファイルconfig.tomlを編集
     サイトのホームディレクトリに戻ってファイルを確認.
    MBP2017:themes ujpadmin$ cd ..🆑
    MBP2017:MyFirstSite ujpadmin$ pwd🆑
    /Users/ujpadmin/Documents/hugo/MyFirstSite🈁
    MBP2017:MyFirstSite ujpadmin$ ls -la🆑
    total 8
    drwxr-xr-x  9 ujpadmin  staff  288  6 13 00:37 .
    drwxr-xr-x  3 ujpadmin  staff   96  6 13 00:37 ..
    drwxr-xr-x  3 ujpadmin  staff   96  6 13 00:37 archetypes
    -rw-r--r--  1 ujpadmin  staff   82  6 13 00:37 config.toml🈁
    drwxr-xr-x  2 ujpadmin  staff   64  6 13 00:37 content
    drwxr-xr-x  2 ujpadmin  staff   64  6 13 00:37 data
    drwxr-xr-x  2 ujpadmin  staff   64  6 13 00:37 layouts
    drwxr-xr-x  2 ujpadmin  staff   64  6 13 00:37 static
    drwxr-xr-x  3 ujpadmin  staff   96  6 13 00:54 themes
    MBP2017:MyFirstSite ujpadmin$
    
     設定ファイルの中身を確認.
    MBP2017:MyFirstSite ujpadmin$ cat config.toml
    baseURL = "http://example.org/"
    languageCode = "en-us"
    title = "My New Hugo Site"
    MBP2017:MyFirstSite ujpadmin$
    
     最小限,日本語サイトだということでjaを設定.そして先ほどダウンロードしたテーマも記述する.できたファイルはこんな感じ.
    MBP2017:MyFirstSite ujpadmin$ cat config.toml
    baseURL = "http://example.org/"
    languageCode = "ja"🈁
    title = "My New Hugo Site"
    theme = "hugo-uno"🈁
    MBP2017:MyFirstSite ujpadmin$
    

    HUGOで作成したサイトをブラウザでプレビュー
     設定ファイルを保存したら,hugoの簡易Webサーバを起動してブラウザで出来栄えを確認してみる.
    MBP2017:MyFirstSite ujpadmin$ hugo server -t hugo-uno -w🆑
    
                       | EN
    +------------------+----+
      Pages            |  6
      Paginator pages  |  0
      Non-page files   |  0
      Static files     | 70
      Processed images |  0
      Aliases          |  0
      Sitemaps         |  1
      Cleaned          |  0
    
    Total in 11 ms
    Watching for changes in /Users/ujpadmin/Documents/hugo/MyFirstSite/{content,data,layouts,static,themes}
    Watching for config changes in /Users/ujpadmin/Documents/hugo/MyFirstSite/config.toml
    Serving pages from memory
    Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
    Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)🈁
    
    Press Ctrl+C to stop
    
     ここまで表示されたら,ブラウザでアクセスしてみる.

    http://localhost:1313/

     ちゃんと動作すれば,次のような画面が表示される.







    get-flash-videos

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/6/7 23:09
     brew updateしたら,get-flash-videosというのがでてきた.普通に興味があったので情報を確認.
    MBP2017:~ ujpadmin$ brew info get-flash-videos🆑
    get-flash-videos: stable 1.25.99.02 (bottled)
    Download or play videos from various Flash-based websites
    https://github.com/monsieurvideo/get-flash-videos
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/get-flash-videos.rb
    ==> Dependencies
    Required: rtmpdump ✘
    MBP2017:~ ujpadmin$
    
     本質的にはrtmpdumpだろうと考え,追加で情報確認.
    MBP2017:~ ujpadmin$ brew info rtmpdump🆑
    rtmpdump: stable 2.4+20151223 (bottled), HEAD
    Tool for downloading RTMP streaming media
    https://rtmpdump.mplayerhq.hu/
    Conflicts with:
      flvstreamer (because both install 'rtmpsrv', 'rtmpsuck' and 'streams' binary)
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/rtmpdump.rb
    ==> Dependencies
    Required: openssl ✔
    ==> Options
    --HEAD
    	Install HEAD version
    MBP2017:~ ujpadmin$
    
     ストリーミングデータをダンプして保存するってことだと分かりますね.これは「キャプチャーは違法ではない」というのと同じ理論かなぁ.
     まとめてインストールしてみる.
    MBP2017:~ ujpadmin$ brew install get-flash-videos🆑
    ==> Installing dependencies for get-flash-videos: rtmpdump
    ==> Installing get-flash-videos dependency: rtmpdump
    ==> Downloading https://homebrew.bintray.com/bottles/rtmpdump-2.4+20151223.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring rtmpdump-2.4+20151223.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/rtmpdump/2.4+20151223: 20 files, 418.8KB
    ==> Installing get-flash-videos
    ==> Downloading https://homebrew.bintray.com/bottles/get-flash-videos-1.25.99.02.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring get-flash-videos-1.25.99.02.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/get-flash-videos/1.25.99.02: 1,130 files, 21.9MB
    MBP2017:~ ujpadmin$
    
     あーで,でもどうやって使うかわからんな...

    qrencodeを使ってQRコードを生成してみる

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/6/6 23:00
     デンソーウェーブが開発したQRコード.QRはQuick Readの略らしい.二次元バーコードとも言われるけれど,デンソーウェーブが特許権を行使しないと言っているので,フリーウェアで生成ツールも提供されている.
     いつものようにbrewでパッケージを確認.
    MBP2017:~ ujpadmin$ brew info qrencode🆑
    qrencode: stable 4.0.0 (bottled), HEAD
    QR Code generation
    https://fukuchi.org/works/qrencode/index.html.en
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/qrencode.rb
    ==> Dependencies
    Build: pkg-config ✔
    Required: libpng ✔
    ==> Options
    --HEAD
    	Install HEAD version
    MBP2017:~ ujpadmin$
    
     libpngだけなのね.インストールする.
    MBP2017:~ ujpadmin$ brew install qrencode🆑
    ==> Downloading https://homebrew.bintray.com/bottles/qrencode-4.0.2.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring qrencode-4.0.2.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/qrencode/4.0.2: 13 files, 195.6KB
    MBP2017:~ ujpadmin$
    
     インストールできたので使ってみる.当サイト用のQRコードを作る.
    MBP2017:~ ujpadmin$ qrencode -o qrcodeUJP.png http://www.ujp.jp/🆑
    MBP2017:~ ujpadmin$
    
     作成されたファイルを確認.
    MBP2017:~ ujpadmin$ ls -la qrcodeUJP.png🆑
    -rw-r--r--  1 ujpadmin  staff  348  6  7 22:46 qrcodeUJP.png🈁
    MBP2017:~ ujpadmin$
    
     サイズ小さいね.開いてみたら,こんな感じ.


     今時のスマホのカメラで写せば,当サイトに接続できるでしょう.
     ffmpegとは動画や音声を変換するツールのスタンダーなやつ.これもbrewで用意されているので入れてみる.まずは情報確認.
    MBP2017:Documents ujpadmin$ brew info ffmpeg🆑
    ffmpeg: stable 4.0 (bottled), HEAD
    Play, record, convert, and stream audio and video
    https://ffmpeg.org/
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/ffmpeg.rb
    ==> Dependencies
    Build: nasm ✘, pkg-config ✔, texi2html ✘
    Recommended: lame ✘, x264 ✘, xvid ✘
    Optional: chromaprint ✘, fdk-aac ✘, fontconfig ✔, freetype ✔, frei0r ✘, game-music-emu
     ✘, libass ✘, libbluray ✘, libbs2b ✘, libcaca ✘, libgsm ✘, libmodplug ✘, librsvg ✘, libsoxr ✘, 
    libssh ✘, libvidstab ✘, libvorbis ✘, libvpx ✘, opencore-amr ✘, openh264 ✘, openjpeg ✔, 
    openssl ✔, opus ✘, rtmpdump ✘, rubberband ✘, sdl2 ✔, snappy ✘, speex ✘, tesseract ✘,
     theora ✘, two-lame ✘, wavpack ✘, webp ✘, x265 ✘, xz ✔, zeromq ✘, zimg ✘
    ==> Options
    --with-chromaprint
    	Enable the Chromaprint audio fingerprinting library
    --with-fdk-aac
    	Enable the Fraunhofer FDK AAC library
    --with-fontconfig
    	Build with fontconfig support
    --with-freetype
    	Build with freetype support
    --with-frei0r
    	Build with frei0r support
    --with-game-music-emu
    	Build with game-music-emu support
    --with-libass
    	Enable ASS/SSA subtitle format
    --with-libbluray
    	Build with libbluray support
    --with-libbs2b
    	Build with libbs2b support
    --with-libcaca
    	Build with libcaca support
    --with-libgsm
    	Build with libgsm support
    --with-libmodplug
    	Build with libmodplug support
    --with-librsvg
    	Enable SVG files as inputs via librsvg
    --with-libsoxr
    	Enable the soxr resample library
    --with-libssh
    	Enable SFTP protocol via libssh
    --with-libvidstab
    	Enable vid.stab support for video stabilization
    --with-libvorbis
    	Build with libvorbis support
    --with-libvpx
    	Build with libvpx support
    --with-opencore-amr
    	Enable Opencore AMR NR/WB audio format
    --with-openh264
    	Enable OpenH264 library
    --with-openjpeg
    	Enable JPEG 2000 image format
    --with-openssl
    	Enable SSL support
    --with-opus
    	Build with opus support
    --with-rtmpdump
    	Enable RTMP protocol
    --with-rubberband
    	Enable rubberband library
    --with-sdl2
    	Enable FFplay media player
    --with-snappy
    	Enable Snappy library
    --with-speex
    	Build with speex support
    --with-tesseract
    	Enable the tesseract OCR engine
    --with-theora
    	Build with theora support
    --with-tools
    	Enable additional FFmpeg tools
    --with-two-lame
    	Build with two-lame support
    --with-wavpack
    	Build with wavpack support
    --with-webp
    	Enable using libwebp to encode WEBP images
    --with-x265
    	Enable x265 encoder
    --with-xz
    	Enable decoding of LZMA-compressed TIFF files
    --with-zeromq
    	Enable using libzeromq to receive commands sent through a libzeromq client
    --with-zimg
    	Enable z.lib zimg library
    --without-gpl
    	Disable building GPL licensed parts of FFmpeg
    --without-lame
    	Disable MP3 encoder
    --without-qtkit
    	Disable deprecated QuickTime framework
    --without-securetransport
    	Disable use of SecureTransport
    --without-x264
    	Disable H.264 encoder
    --without-xvid
    	Disable Xvid MPEG-4 video encoder
    --HEAD
    	Install HEAD version
    MBP2017:Documents ujpadmin$
    
     やはりモノがモノだけに,関連パッケージもコンパイルオプションもたくさん.何も指定せずにダウンロード.
    MBP2017:Documents ujpadmin$ brew install ffmpeg🆑
    ==> Installing dependencies for ffmpeg: lame, x264, xvid
    ==> Installing ffmpeg dependency: lame
    ==> Downloading https://homebrew.bintray.com/bottles/lame-3.100.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring lame-3.100.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/lame/3.100: 27 files, 2.1MB
    ==> Installing ffmpeg dependency: x264
    ==> Downloading https://homebrew.bintray.com/bottles/x264-r2854.high_sierra.bottle.1.tar.gz
    ######################################################################## 100.0%
    ==> Pouring x264-r2854.high_sierra.bottle.1.tar.gz
    🍺  /usr/local/Cellar/x264/r2854: 11 files, 3.4MB
    ==> Installing ffmpeg dependency: xvid
    ==> Downloading https://homebrew.bintray.com/bottles/xvid-1.3.5.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring xvid-1.3.5.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/xvid/1.3.5: 10 files, 1.2MB
    ==> Installing ffmpeg
    ==> Downloading https://homebrew.bintray.com/bottles/ffmpeg-4.0.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring ffmpeg-4.0.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/ffmpeg/4.0: 246 files, 49.6MB
    MBP2017:Documents ujpadmin$
    
     先ほどダウンロードしたMP4ファイルから,MP3データを取り出す.
    MBP2017:Documents ujpadmin$ ffmpeg -i *.mp4 -f mp3 BlueSkyBlue.mp3🆑
    ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
      built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
      configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads
     --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang
     --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264
     --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
      libavutil      56. 14.100 / 56. 14.100
      libavcodec     58. 18.100 / 58. 18.100
      libavformat    58. 12.100 / 58. 12.100
      libavdevice    58.  3.100 / 58.  3.100
      libavfilter     7. 16.100 /  7. 16.100
      libavresample   4.  0.  0 /  4.  0.  0
      libswscale      5.  1.100 /  5.  1.100
      libswresample   3.  1.100 /  3.  1.100
      libpostproc    55.  1.100 / 55.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '西城秀樹  ブルースカイ ブルー-9L3LJqhyfFY.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: isommp42
        creation_time   : 2018-05-17T06:26:47.000000Z
      Duration: 00:04:38.43, start: 0.000000, bitrate: 964 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 946x720
     [SAR 1:1 DAR 473:360], 834 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
        Metadata:
          creation_time   : 2018-05-17T06:26:47.000000Z
          handler_name    : ISO Media file produced by Google Inc. Created on: 05/16/2018.
        Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
        Metadata:
          creation_time   : 2018-05-17T06:26:47.000000Z
          handler_name    : ISO Media file produced by Google Inc. Created on: 05/16/2018.
    Stream mapping:
      Stream #0:1 -> #0:0 (aac (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    Output #0, mp3, to 'BlueSkyBlue.mp3':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: isommp42
        TSSE            : Lavf58.12.100
        Stream #0:0(und): Audio: mp3 (libmp3lame), 44100 Hz, stereo, fltp (default)
        Metadata:
          creation_time   : 2018-05-17T06:26:47.000000Z
          handler_name    : ISO Media file produced by Google Inc. Created on: 05/16/2018.
          encoder         : Lavc58.18.100 libmp3lame
    size=    4351kB time=00:04:38.44 bitrate= 128.0kbits/s speed=51.2x
    video:0kB audio:4351kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.007766%
    MBP2017:Documents nob
    
     変換完了.変換時間は,コンピュータの性能によるかな.

    youtube-dl

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/5/25 0:09
     誰もが考える.Youtubeをダウンロードしてオフラインで観てみたい.
     それっぽいコマンドがbrewで用意されていたので,入れてみる.

    MBP2017:Documents ujpadmin$  brew info youtube-dl🆑
    youtube-dl: stable 2018.05.18, HEAD
    Download YouTube videos from the command-line
    https://rg3.github.io/youtube-dl/
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/youtube-dl.rb
    ==> Options
    --HEAD
    	Install HEAD version
    MBP2017:Documents ujpadmin$
    
     パラメータにYoutubeのURLをつけて実行するだけで良いらしいので,実行して見る.
    MBP2017:Documents ujpadmin$ which youtube-dl🆑
    /usr/local/bin/youtube-dl
    MBP2017:Documents ujpadmin$
    MBP2017:Documents ujpadmin$ youtube-dl https://www.youtube.com/watch?v=9L3LJqhyfFY
    [youtube] 9L3LJqhyfFY: Downloading webpage
    [youtube] 9L3LJqhyfFY: Downloading video info webpage
    [youtube] 9L3LJqhyfFY: Extracting video information
    [youtube] 9L3LJqhyfFY: Downloading js player vfllWbVhi
    [download] Destination: 西城秀樹  ブルースカイ ブルー-9L3LJqhyfFY.mp4
    [download] 100% of 32.00MiB in 00:16
    MBP2017:Documents ujpadmin$
    
     ダウンロードしたファイルを確認.
    MBP2017:Documents ujpadmin$ ls -lah *.mp4
    -rw-r--r--@ 1 ujpadmin  staff    32M  5 17 15:26 西城秀樹  ブルースカイ ブルー-9L3LJqhyfFY.mp4
    MBP2017:Documents ujpadmin$
    
     何ということでしょう...

    ORA-01861: リテラルが書式文字列と一致しません

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/5/24 0:01
     日時を,YYYY/MM/DD HH:MM:SS形式でデータを登録することは多いと思うけれど,Oracleでエラーになる時があった.そして再現してみる.

     テーブルを作成する.
    scott@XE> create table w1 ( a char,b date);
    
    表が作成されました。
    
    scott@XE>
    
     データを投入する.
    scott@XE> insert into w1 values ('a',sysdate);
    
    1行が作成されました。
    
    scott@XE>
    
     sysdateなのでサーバが保持している日時データがセットされた.これを特定の日時にアップデートして見る.
    scott@XE> update w1 set a='B', b = '2999/12/31 23:59:59';
    update w1 set a='B', b = '2999/12/31 23:59:59'
    *
    行1でエラーが発生しました。:
    ORA-01861: リテラルが書式文字列と一致しません
    
    scott@XE>
    
     こんな時はNLS_DATE_FORMATを使う.
     
    scott@XE> ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS';
    
    セッションが変更されました。
    
    scott@XE> 
    
     これは,デフォルトの設定がRR-MM-DD HH24:MI:SSになっているから.セッション変数だけれど変更した後,再度アップデートして見る.
    scott@XE> update w1 set a='B', b = '2999/12/31 23:59:59';
    
    1行が更新されました。
    
    scott@XE>
    
     正しく更新されたか確認してみましょう. 
    scott@XE> select * from w1;
    
    A B
    
    -------------------
    B 2999/12/31 23:59:59
    
    scott@XE>
    
     意図した通りになっていました!

    pdfでdiffをとるdiff-pdf その2

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/5/22 1:14
     diff-pdfをインストールできたので,使ってみる.
     サンプルで用意したドキュメントはこれ.


     変更したドキュメントはこれ.


     このPDFファイルで変更された場所を特定する為に,diffを取得.
     使い方はこの通り.
    MBP2017:Documents ujpadmin$ diff-pdf -v🆑
    Usage: diff-pdf [-h] [-v] [--output-diff <str>] [--view] file1.pdf file2.pdf
      -h, --help         	show this help message
      -v, --verbose      	be verbose
      --output-diff=<str>	output differences to given PDF file
      --view             	view the differences in a window
    The required parameter 'file1.pdf' was not specified.
    MBP2017:Documents ujpadmin$
    
     差分のPDFを作成.
    MBP2017:Documents ujpadmin$ diff-pdf doc1.pdf doc2.pdf --output-diff=diff.pdf🆑
    MBP2017:Documents ujpadmin$
    
     できたファイルを確認するとこのような感じ.


     拡大してみるとこんな感じ.


     削除された部分が水色,追加された部分が赤色で差分が出てました.

    pdfでdiffをとるdiff-pdf

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/5/21 23:59
     diff-pdfのパッケージを確認.
    MBP2017:~ ujpadmin$ brew info diff-pdf🆑
    diff-pdf: stable 0.2 (bottled)
    Visually compare two PDF files
    https://vslavik.github.io/diff-pdf/
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/diff-pdf.rb
    ==> Dependencies
    Build: pkg-config ✔, automake ✘, autoconf ✔
    Required: wxmac ✘, cairo ✘, poppler ✘
    ==> Requirements
    Required: x11 ✘
    MBP2017:~ ujpadmin$
    
     インストールされてない依存関係のあるパッケージがあるので,次々とインストールしていく.
     まずはautomake.
    MBP2017:~ ujpadmin$ brew install automake🆑
    ==> Downloading https://homebrew.bintray.com/bottles/automake-1.16.1.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring automake-1.16.1.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/automake/1.16.1: 131 files, 3MB
    MBP2017:~ ujpadmin$
    
     問題なく終了.次はwxmac.これはCross-platform C++ GUI toolkit.
    MBP2017:~ ujpadmin$ brew install wxmac🆑
    ==> Downloading https://homebrew.bintray.com/bottles/wxmac-3.0.4.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring wxmac-3.0.4.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/wxmac/3.0.4: 810 files, 23.7MB
    MBP2017:~ ujpadmin$
    
     次に,cairo.Vector graphics library with cross-device output supportとある.
    MBP2017:~ ujpadmin$ brew install cairo🆑
    ==> Installing dependencies for cairo: pixman, libffi, glib
    ==> Installing cairo dependency: pixman
    ==> Downloading https://homebrew.bintray.com/bottles/pixman-0.34.0_1.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring pixman-0.34.0_1.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/pixman/0.34.0_1: 13 files, 1.3MB
    ==> Installing cairo dependency: libffi
    ==> Downloading https://homebrew.bintray.com/bottles/libffi-3.2.1.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring libffi-3.2.1.high_sierra.bottle.tar.gz
    ==> Caveats
    This formula is keg-only, which means it was not symlinked into /usr/local,
    because some formulae require a newer version of libffi.
    
    For compilers to find this software you may need to set:
        LDFLAGS:  -L/usr/local/opt/libffi/lib
    For pkg-config to find this software you may need to set:
        PKG_CONFIG_PATH: /usr/local/opt/libffi/lib/pkgconfig
    
    ==> Summary
    🍺  /usr/local/Cellar/libffi/3.2.1: 16 files, 297.0KB
    ==> Installing cairo dependency: glib
    ==> Downloading https://homebrew.bintray.com/bottles/glib-2.56.1.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring glib-2.56.1.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/glib/2.56.1: 430 files, 23.7MB
    ==> Installing cairo
    ==> Downloading https://homebrew.bintray.com/bottles/cairo-1.14.12.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring cairo-1.14.12.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/cairo/1.14.12: 118 files, 5.8MB
    MBP2017:~ ujpadmin$
    
     そしてX11を.
    MBP2017:~ ujpadmin$ brew install x11🆑
    Error: No available formula with the name "x11"
    ==> Searching for a previously deleted formula (in the last month)...
    Warning: homebrew/core is shallow clone. To get complete history run:
      git -C "$(brew --repo homebrew/core)" fetch --unshallow
    
    Error: No previously deleted formula found.
    ==> Searching for similarly named formulae...
    ==> Searching local taps...
    This similarly named formula was found:
    x11vnc
    To install it, run:
      brew install x11vnc🈁
    ==> Searching taps...
    ==> Searching taps on GitHub...
    Error: No formulae found in taps.
    MBP2017:~ ujpadmin$
    
     エラーがでた.x11vncをインストールしろとのこと.VNC server for real X displaysです.ライブラリ利用ようかなぁ.
    MBP2017:~ ujpadmin$ brew install x11vnc🆑
    ==> Downloading https://homebrew.bintray.com/bottles/x11vnc-0.9.13_1.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring x11vnc-0.9.13_1.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/x11vnc/0.9.13_1: 30 files, 3.7MB
    MBP2017:~ ujpadmin$
    
     問題なくx11vncはインストール完了.次に,XQuartzが入っているか確認.
    MBP2017:~ ujpadmin$ brew cask info xquartz🆑
    xquartz: 2.7.11
    https://www.xquartz.org/
    Not installed🈁
    From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/xquartz.rb
    ==> Name
    XQuartz
    ==> Artifacts
    XQuartz.pkg (Pkg)
    MBP2017:~ ujpadmin$
    
     インストールされてない.
     macOSでX Windowを使うには,XQuartzが必要なのでインストールしておく.
    BP2017:~ ujpadmin$ brew cask install XQuartz🆑
    ==> Satisfying dependencies
    ==> Downloading https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg
    ######################################################################## 100.0%
    ==> Verifying checksum for Cask xquartz
    ==> Installing Cask xquartz
    ==> Running installer for xquartz; your password may be necessary.
    ==> Package installers may write to any location; options such as --appdir are ignored.
    
    ==> installer: Package name is XQuartz 2.7.11
    ==> installer: Installing at base path /
    ==> installer: The install was successful.
    🍺  xquartz was successfully installed!
    MBP2017:~ ujpadmin$
    
     xquartzのインストールが終わったので,依存関係が解消しているか確認.
    MBP2017:~ ujpadmin$ brew info diff-pdf🆑
    diff-pdf: stable 0.2 (bottled)
    Visually compare two PDF files
    https://vslavik.github.io/diff-pdf/
    /usr/local/Cellar/diff-pdf/0.2_30 (6 files, 206KB) *
      Poured from bottle on 2018-05-22 at 00:32:00
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/diff-pdf.rb
    ==> Dependencies
    Build: pkg-config ✔, automake ✔, autoconf ✔
    Required: wxmac ✔, cairo ✔, poppler ✔
    ==> Requirements
    Required: x11 ✔
    MBP2017:~ ujpadmin$
    
     x11も入っていることとして認識されている.
     本体の,diff-pdfをインストール.
    MBP2017:~ ujpadmin$ brew install diff-pdf🆑
    ==> Downloading https://homebrew.bintray.com/bottles/diff-pdf-0.2_30.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring diff-pdf-0.2_30.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/diff-pdf/0.2_30: 6 files, 206KB
    MBP2017:~ ujpadmin$
    
     問題なくインストールされました.X11をインストールするのにXQuartzを入れるというのがキモかな.

    QuicklookにjsonとCSVを追加

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/3/2 0:22
     macOS XのファイラーであるFinderに,いつの頃からか付属していたけれど,最近は隠し機能化?されているクイックルック.アプリケーションを起動しなくてもファイルの中身を確認できる機能で,画像ファイルとか簡単なExcelやWordなどを見ることができる.複雑なExcelファイルは苦手のようだけれど.
     そのQuicklookに,JSON形式とCSV形式をサポートすできる追加機能が,HomeBrewで簡単にインストールできるというので,試してみた.

     まずはJSON用のアダプタ.
    MBP2017:~ ujpadmin$ brew cask info quicklook-json🆑
    quicklook-json: latest
    http://www.sagtau.com/quicklookjson.html
    Not installed
    From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/quicklook-json.rb
    ==> Name
    quick look JSON
    ==> Artifacts
    QuickLookJSON.qlgenerator (QuickLook Plugin)
    MBP2017:~ ujpadmin $
    
     インストールしてみる.
    MBP2017:~ ujpadmin $ brew cask install quicklook-json🆑
    ==> Satisfying dependencies
    ==> Downloading http://www.sagtau.com/media/QuickLookJSON.qlgenerator.zip
    ######################################################################## 100.0%
    ==> No checksum defined for Cask quicklook-json, skipping verification
    ==> Installing Cask quicklook-json
    ==> Moving QuickLook Plugin 'QuickLookJSON.qlgenerator' to
     '/Users/ujpadmin/Library/QuickLook/QuickLookJSON.qlgenerator'.
    🍺  quicklook-json was successfully installed!
    MBP2017:~ ujpadmin $
    
     成功.
     次に,CSVのプラグイン.
    MBP2017:~ ujpadmin $ brew cask info quicklook-csv🆑
    quicklook-csv: 1.3
    https://github.com/p2/quicklook-csv
    Not installed
    From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/quicklook-csv.rb
    ==> Name
    QuickLookCSV
    ==> Artifacts
    QuickLookCSV.qlgenerator (QuickLook Plugin)
    MBP2017:~ ujpadmin $
    
     これも続いてインストール.
    MBP2017:~ ujpadmin $ brew cask install quicklook-csv🆑
    ==> Satisfying dependencies
    ==> Downloading https://github.com/p2/quicklook-csv/releases/download/1.3/QuickLookCSV-1.3.dmg
    ######################################################################## 100.0%
    ==> Verifying checksum for Cask quicklook-csv
    ==> Installing Cask quicklook-csv
    ==> Moving QuickLook Plugin 'QuickLookCSV.qlgenerator' to
     '/Users/ujpadmin/Library/QuickLook/QuickLookCSV.qlgenerator'.
    🍺  quicklook-csv was successfully installed!
    MBP2017:~ ujpadmin $
    
     インストールが完了したら,あとはFinderでJSON形式,CSV形式のファイルを洗濯してクイックルックボタンを押すか,スペースキーを押すだけ.

    PHPでログインフォームを作って見る その2

    カテゴリ : 
    ハウツー
    ブロガー : 
    ujpblog 2018/2/14 0:24
     先ほど作成した入力フォームでセットしたデータを表示するには,次のファイルをdisplay.phpとして保存する.

    <html>
    <head><title>display.php</title></head>
    <body>
    <?php
      $test_userid = $_POST['USERID'];
      $test_password= $_POST['PASSWORD'];
      print ("<hr><center><h1>Hello world</h1>");
      print ("</center><hr><br />");
      print ("<center>");
        $time = date("Y/n/j Ah:i");
        print("$time");
      print ("<br>");
      print ("Your Name : $test_userid <br />");
      print ("Your Password: $test_password<br />");
      print ("</center>");
    ?>
    <br>
    </body>
    <hr>
    <center>
    Copyright 2018 ujp.jp
    </center>
    <hr>
    </html>
    
     先のログイン画面で入力したら,次のようにデータが表示される.



     今回は,基本的な動作を確認しただけなので,これでよしとします...

    広告スペース
    Google