2019年5月15日水曜日

goaccessを使ってみた。

# yum install goaccess
# vi /etc/goaccess.conf
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

# goaccess /var/log/httpd/access_log*
# goaccess /var/log/httpd/access_log* >/var/www/html/reports.html

2019年5月7日火曜日

mysqldが起動できない。 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

[System][MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.16) starting as process 20744
[System][MY-013381] [Server] Server upgrade from '80015' to '80016' started.
[ERROR][MY-013384] [Server] Could not create server upgrade info file at '/var/lib/mysql/'.
[ERROR][MY-013380] [Server] Failed to upgrade server.
[ERROR][MY-010119] [Server] Aborting


【対処】
# mv /var/lib/mysql/mysql_upgrade_info /var/lib/mysql/mysql_upgrade_info.bak
# systemctl start mysqld


# vi /var/log/mysqld.log

[System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.16) starting as process 21873
[System] [MY-013381] [Server] Server upgrade from '80015' to '80016' started.
[System] [MY-013381] [Server] Server upgrade from '80015' to '80016' completed.

無事起動した。
※8.0.16からデータベースのアップグレードが自動になったもよう。

ssh 中継

【RDSポートフォワード】
ssh -o ServerAliveInterval=60  -J aws.step aws.office -L 65432:rds.aws.com:5432
ssh -o ServerAliveInterval=60 -N -C -f -J aws.step aws.office -L 65432:rds.aws.com:5432
ssh -o ServerAliveInterval=60 -N -C -f -J aws.step aws.office -L 0.0.0.0:65432:rds.aws.com:5432 (他サーバ公開)
 
 

-C    圧縮による転送最適化
-f     SSHをバックグラウンドに(トンネル用)
-N   コマンドを実行せず待機(トンネル専用)
 
 
【ポートフォワード】
config でssh可能なサーバのポートをフォワード

ssh -L 8300:localhost:8200 hatsu.buildsv



【SSHリバーストンネル】
ssh -R 5432:<RDSエンドポイント>:5432 user@PC

#ssh -i ~/.ssh/katidoki/xxxxx_rsa -p xxx22 -R 5432:postgre_host:5432 -C -N -f takahab@$KATIDOKI_REMOTE
#ssh -i ~/.ssh/katidoki/xxxxx_rsa -p xxx22 -R 1521:oracle_host:1521     -C -N -f takahab@$KATIDOKI_REMOTE


【 RDS 中継 】
  Host aws.step 
  HostName  xxx.xxx.xxx.xxx 
  Port 22
  ServerAliveInterval  60  
  User ec2-user
  IdentityFile ~/.ssh/aws/keypair-step.pem

  Host aws.postgres
  HostName  10.0.14.101
  ServerAliveInterval  60
  User ec2-user
  IdentityFile ~/.ssh/aws/keypair-office.pem
  ProxyJump  aws.step
  LocalForward 65432 writer-instance.ap-northeast-1.rds.amazonaws.com:5432

【AWS EC2中継】
$ vi  ~/.ssh/config    << __EOF__
host aws.step
  HostName xx.xx.xx.xx
  Port 22
  User ec2-user
  IdentityFile ~/.ssh/step.pem

Host aws.utlsv
  HostName xx.xx.xx.xx
  Port 22
  User ec2-user
  ProxyCommand ssh aws.step -W %h:%p
  IdentityFile ~/.ssh/utlsv.pem
__EOF__

接続したいホストと中継サーバ間にトンネル生成
$ ssh www.gateway.com -R 10022:192.168.1.100:22
※autosshコマンドでを使えば、切断時も自動再接続してくれる。

遠隔から
$ ssh www.gateway.com
$ ssh localhost -p 10022

tmux仮想端末でマルチ画面

cntl+b c   ウィンドウ作成
cntl+b 1-n ウィンドウ指定
cntl+b p   ウィンドウ切り替え



データベース開発ツールDBeaverのインストール

https://dbeaver.io/
上記からDBeaver 6.0.4をダウンロード

# rpm -ivh dbeaver-ce-6.0.4-stable.x86_64.rpm

jdbcドライバをインストール。
# cp ojdbc6.jar /opt/libs/oracle/ojdbc6.jar


バージョンアップ
# rpm -qa |grep dbea
dbeaver-ce-6.0.4-stable.x86_64
# rpm -qi dbeaver-ce
# rpm -Uvh dbeaver-ce-6.1.1-stable.x86_64.rpm

[splash]
~/.eclipse/org.jkiss.dbeaver.product_22.3.2_302967072_linux_gtk_x86_64/configuration/org.eclipse.equinox.launcher/org.jkiss.dbeaver.ui.app.standalone_22.3.2.202301060755



2019年4月9日火曜日

CentOS7 に sqlplus インストール

■ EC2 amazon linux 2023にsqlplus をインストール

$  wget https://download.oracle.com/otn_software/linux/instantclient/1924000/instantclient-basiclite-linux.x64-19.24.0.0.0dbru.zip

$ wget https://download.oracle.com/otn_software/linux/instantclient/1924000/instantclient-sqlplus-linux.x64-19.24.0.0.0dbru.zip

# mkdir -p  /opt/oracle
# unzip instantclient-basiclite-linux.x64-19.24.0.0.0dbru.zip -d /opt/oracle
# unzip instantclient-sqlplus-linux.x64-19.24.0.0.0dbru.zip -d /opt/oracle
#  ln -s instantclient_19_24 instantclient
# vi /etc/profile.d/oracle.sh <<__EOF__
#export LD_LIBRARY_PATH=/usr/lib/oracle/19.20/client64/lib/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/oracle/instantclient:$LD_LIBRARY_PATH
export PATH=/opt/oracle/instantclient:$PATH
__EOF__

$ source /etc/profile
$    sqlplus ${USER}/${RDS_PASSWORD}@${RDS_ENDPOINT}/SID


https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

oracle-instantclient 18.5-basic-18.5.0.0.0-3.x86_64.rpm
oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm

# yum install -y libaio
# rpm -ivh oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
# rpm -ivh oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm
# ls -l /usr/lib/oracle/18.5/client64/lib 確認
# echo "/usr/lib/oracle/18.5/client64/lib" >> /etc/ld.so.conf.d/oracle.conf
# cat !$ 確認
# ldconfig
# sqlplus64

SQL*Plus: Release 18.0.0.0.0 - Production on Tue Apr 9 19:01:08 2019
Version 18.5.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Enter user-name:

[カーソルキーを使えるようにする]
# yum -y install rlwrap
# mkdir  -p /usr/local/opt/rlwrap-extensions
# cd /usr/local/opt/rlwrap-extensions
# wget http://www.linuxification.at/download/rlwrap-extensions-V11-0.05.tar.gz (11gの場合)
# tar xzvf rlwrap-extensions-V11-0.05.tar.gz     <-辞書
# vi /etc/profile.d/oracle.sh  
alias sqlplus='rlwrap -pRed -if /usr/local/opt/rlwrap-extensions/sqlplus sqlplus'


[12g]
# wget http://www.linuxification.at/download/rlwrap-extensions-V12-0.05.tar.gz (12gの場
# tar xzvf rlwrap-extensions-V12-0.05.tar.gz     <-辞書
# vi /usr/local/opt/rlwrap-extensions/sql+
R_HOME=${RLWRAP_HOME:=/usr/local/opt/rlwrap-extensions}
# cd /usr/local/bin
# ln -s  /usr/local/opt/rlwrap-extensions/asm+ asm+
# ln -s  /usr/local/opt/rlwrap-extensions/sql+ sql+

※ rlwap インストールには、epel リポジトリが必要。
[rocky]
# dnf config-manager --set-enabled powertools
# dnf install epel-release

[参考]



$ sqlplus user/password@192.168.1.xxx:1521/sid
$ sqlplus  system/oracle@192.168.25.131:1521/arcsdbms

SQL> @calc.sql
 13 ;

[sample]
$ vi calc.sql
with
CALC as (
SELECT
TO_DATE('20190405', 'yyyymmdd') - (ROWNUM - 1) as cdate
FROM ALL_CATALOG
WHERE TO_DATE('20190405', 'yyyymmdd') - (ROWNUM - 1) >= TO_DATE('20190315', 'yyyymmdd')
ORDER BY 1 desc
)
select
TO_CHAR(c.cdate, 'yyyymmdd') as cdate,
'('||SUBSTR(TO_CHAR(c.cdate, 'day','NLS_DATE_LANGUAGE=JAPANESE'),1,1)||')' as cday
from CALC c

2019年3月1日金曜日

yum proxy経由で使う。

【プロキシサーバの設定】
# dnf install squid
# vi /etc/squid/squid.conf
# add by takahab for dnf proxy                        ※末尾に追加
shutdown_lifetime 0 seconds
http_port 3128
http_port 0.0.0.0:3128
http_access allow all

※2段proxyを経由するときは、host2に下記を追加
cache_peer host1 parent 3128 0 no-query default
never_direct allow all


# firewall-cmd --add-port=3128/tcp --zone=public --permanent
# firewall-cmd --reload
# systemctl restart squid
# systemctl enable squid

【プロキシサーバの設定】
# yum install squid
# vi /etc/squid/squid.conf
#http_access deny all
#http_port 3128
http_port 3128
acl myacl src 142.1.5.250/255.255.255.255
http_access allow myacl
http_access deny all
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all

# systemctl restart squid
# firewall-cmd --add-port=3128/tcp --zone=public --permanent
# firewall-cmd --reload
# systemctl enable squid

【クライアントの設定】
yum のプリキシ設定
# vi /etc/yum.conf
proxy=http://192.168.1.1
#proxy=http://192.168.1.1
#proxy_username=user_name
#proxy_password=password

2019年2月19日火曜日

Django python pyreportjasperで日本語フォントを使う。

jasperstudioから、フォントをexportして、JasperStarter/jdbc下に配置する。

jasperstudio
プロジェクト名->プロパティ->Jasperstudio->Fonts->Use Project Settings
add from path
/usr/share/fonts/ipa-gothic
/usr/share/fonts/ipa-pgothic
/usr/share/fonts/ipa-mincho
/usr/share/fonts/ipa-pmincho
全て選択して、export
export ipa_Fonts.jar されたファイルを下記に配置。
mv ipa_Fonts.jar /usr/local/venv36/lib/python3.6/site-packages/pyreportjasper/jasperstarter/jdbc


Rocky Linux9.8 Docker インストール

# cat /etc/redhat-release Rocky Linux release 9.8 (Blue Onyx) # dnf remove docker docker-client  docker-client-latest  docker-common  docker...