Category Archives: oracle

「Oracle学習」文字列をbase64でエンコード/デコードする方法

1. base64のdecode関数
select utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw(‘dGVzdA==’))) from dual

2. base64のencode関数
select utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(‘arkgame.com’))) from dual

MyBatis insert操作に主キーの戻り値を取得する方法

1.SqlServer2005の定義
create table Dic_City (
ID int identity,
City_Code varchar(10) not null,
Provinces_Code varchar(20) not null,
State_Code varchar(10) not null,
City_Name varchar(50) null,
PY_Code varchar(50) null,
PY_Code_Short varchar(10) null,
Ext1 varchar(20) null,
Ext2 varchar(20) null,
Ext3 varchar(20) null,
Ext4 varchar(20) null,
Ext5 varchar(20) null,
constraint PK_DIC_CITY primary key (ID)
)

2.MyBatisXMLの配置

配置方法1
<insert id=”insert” parameterType=”ja.softsea.model.DicCity” >
<selectKey resultType=”java.lang.Integer” keyProperty=”id” order=”AFTER” >
SELECT @@IDENTITY
</selectKey>
insert into Dic_City (City_Code, Provinces_Code,
State_Code, City_Name, PY_Code,
PY_Code_Short, Ext1, Ext2,
Ext3, Ext4, Ext5)
values (#{cityCode,jdbcType=VARCHAR}, #{provincesCode,jdbcType=VARCHAR},
#{stateCode,jdbcType=VARCHAR}, #{cityName,jdbcType=VARCHAR}, #{pyCode,jdbcType=VARCHAR},
#{pyCodeShort,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR},
#{ext3,jdbcType=VARCHAR}, #{ext4,jdbcType=VARCHAR}, #{ext5,jdbcType=VARCHAR})
</insert>
配置方法2
<insert id=”insert” parameterType=”cn.softsea.model.DicCity” useGeneratedKeys=”true” keyProperty=”id”>
insert into Dic_City (City_Code, Provinces_Code,
State_Code, City_Name, PY_Code,
PY_Code_Short, Ext1, Ext2,
Ext3, Ext4, Ext5)
values (#{cityCode,jdbcType=VARCHAR}, #{provincesCode,jdbcType=VARCHAR},
#{stateCode,jdbcType=VARCHAR}, #{cityName,jdbcType=VARCHAR}, #{pyCode,jdbcType=VARCHAR},
#{pyCodeShort,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR},
#{ext3,jdbcType=VARCHAR}, #{ext4,jdbcType=VARCHAR}, #{ext5,jdbcType=VARCHAR})
</insert>
3.Mapperを呼び出して、主キーを戻る
//挿入オブジェクトを作成
DicCity city = new DicCity();
city.setCityCode(“104003”);
city.setCityName(“東京都品川区”);
//mapperオブジェクトを取得
DicCityMapper cityMapper = (DicCityMapper) SpringContextUtil.getBean(“dicCityMapper”);
int row = cityMapper.insert(city);
System.out.println(“応答行目数:”+row);
//自動採番のID値
System.out.println(“新たに挿入されたID:”+city.getId());

ubuntu12.04でjdk7をインストールする

1.インストールじたopenjdk6をアンインストール
sudo apt-get purge openjdk*
sudo apt-get purge openjdksudo apt-get purge openjdk

2.Oracle JDK7のダウンロード
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
tar -xvf jdk-7u60-linux-x64.tar.gz

3.インストールディレクトリ
/ejbca/jdk1.7.0_60
vim /etc/profile
sudo gedit /etc/profile

ファイルの最後に次の内容を追加
export JAVA_HOME=/ejbca/jdk1.7.0_60
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

4.3の内容を保存終了、次のコマンドを実行してデフォルトJDKを設定
sudo update-alternatives –install /usr/bin/java java /ejbca/jdk1.7.0_60/bin/java 300
sudo update-alternatives –install /usr/bin/javac javac /ejbca/jdk1.7.0_60/bin/javac 300
source /etc/profile

ターミナルには、次のように入力する
java -version

内容の表示:
java version “1.7.0_60”
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

CentOS 6でOracle 11gをインストール、設定

1.VNC Serverをインストール

# yum install tigervnc-server
# yum groupinstall “General Purpose Desktop” “Desktop Platform”
# yum install xorg-x11-server-utils

2.VNC serverを設定
# vim /etc/sysconfig/vncservers
VNCSERVERS=”2:root”
VNCSERVERARGS[2]=”-geometry 1440×900″
# vncpasswd  vncユーザーrootのパスワードを設定
# vim ~/.vnc/xstartup
#!/bin/sh

[ -r /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
export LANG
export SYSFONT
vncconfig -iconic &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=uname -s
if [ $OS = ‘Linux’ ]; then
case “$WINDOWMANAGER” in
*gnome*)
if [ -e /etc/SuSE-release ]; then
PATH=$PATH:/opt/gnome/bin
export PATH
fi
;;
esac
fi
if [ -x /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
#xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
#twm & //内容をコメントアウトする
exec gnome-session &
# /etc/init.d/vncserver restart //vncserverが再起動
3 Oracleをインストール
依存パッケージ

RHEL/CentOs 6.x
# cd /etc/yum.repos.d
# wget https://public-yum.oracle.com/public-yum-ol6.repo
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

RHEL/CentOs 5.x
# cd /etc/yum.repos.d
# wget https://public-yum.oracle.com/public-yum-el5.repo
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

RHEL/CentOs 4.x
# cd /etc/yum.repos.d
# wget https://public-yum.oracle.com/public-yum-el4.repo
# wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el4 -O /usr/share/rhn/RPM-GPG-KEY-oracle

 

必要なパッケージをインストール
# yum install oracle-rdbms-server-11gR2-preinstall
環境変数を設定
# vim /etc/hosts
10.0.121.232 startnews24_db1

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

# su – oracle
# vim .bash_profile
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

# mkdir /data/app
# chown -R oracle:oinstall /data/app

 
# wget ftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/os/x86_64/WhiteBox/RPMS/pdksh-5.2.14-30.x86_64.rpm
# rpm -ivh pdksh-5.2.14-30.x86_64.rpm

「SinkRunner-PollingRunner-DefaultSinkProcessor」の対策

エラーメッセージ:
Exception in thread “SinkRunner-PollingRunner-DefaultSinkProcessor” java.lang.OutOfMemoryError

対策:
修正前:maxOpenFile  5000
修正後:maxOpenFile  500

参考URL:

https://issues.apache.org/jira/browse/FLUME-1850

「Oracle 11gの学習」sqlplusのアップ(up)とダウン(down)キー無効の解決方法

システム要件:
OS:centos 6.0_x64
oracle 11g

対策手順:
wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.30.tar.gz
tar zxvf rlwrap-0.30.tar.gz
cd rlwrap-0.30
./configure
make
make install
vi /home/oracle/.bash_profile
最後次のコマンドを実行
# . ~oracle/.bash_profile

Oracleのリスナー(listener)のパスワードを変更する方法

対策:

Oracle管理者に切り替え、次のコマンドを実行

$ORACLE_HOME/bin/lsnrctl

LSNRCTL> change_password
Old password: <旧パスワード>
New password: <新パスワード>
Reenter new password: <新パスワード>
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=XXX))
Password changed for LISTENER
The command completed successfully

LSNRCTL> set password
Password: <新パスワード>

LSNRCTL> save_config  #現在の設定を保存

Oracleのインストールの簡単な注意事項をまとめ

1.ユーザー環境を設定
vi /home/oracle/.bash_profile #次の内容を追加設定

export ORACLE_BASE=/data/oracle #oracleデータベースのインストールディレクトリ

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracleデータベースパス

export ORACLE_SID=orcl #oracleデータベースインスタンス

export ORACLE_TERM=xterm #xtermウィンドウモードのインストール

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #システム環境変数を追加

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #システム環境変数を付加

export LANG=C #文字化けを防ぐ

export NLS_LANG=AMERICAN_AMERICA.UTF8#Oracleクライアントの文字セットを設定

2.netcaが起動できない
root権限に切り替え、xhost+を実行

3.Listener failed to start:

[oracle@oracle ~]$ lsnrctl start since01
LSNRCTL for Linux: Version 11.2.0.1.0 – Production on 09-JUN-2014 21:24:23
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /data/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait…
TNSLSNR for Linux: Version 11.2.0.1.0 – Production
System parameter file is /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /data/oracle/diag/tnslsnr/oracle/since01/alert/log.xml
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=202.102.110.203)(PORT=1529)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Linux Error: 99: Cannot assign requested address
Listener failed to start. See the error message(s) above…

設定ファイルを変更:
/data/oracle/product/11.2.0/db_1/network/admin/listener.ora
IPアドレスを変更:localhostまたは「127.0.0.1」

4.enterprise manager configuration failed due to the following error
注意:dbcaを構築するとき、エンタープライズをチェックしない

「Oracle 11gの学習」sqlplusのアップ(up)とダウン(down)キー無効の解決方法

システム要件:
OS:centos 6.0_x64
oracle 11g

対策手順:
wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.30.tar.gz
tar zxvf rlwrap-0.30.tar.gz
cd rlwrap-0.30
./configure
make
make install
vi /home/oracle/.bash_profile
最後次のコマンドを実行
# . ~oracle/.bash_profile

「Oracle入門」 LAST_DAY()で月末を取得するサンプル

月末の日付を取得
SELECT LAST_DAY(SYSDATE) FROM DUAL;

指定した日付データから月の最後の日付を取得
SELECT LAST_DAY(TO_DATE(‘1982-10-09′,’YYYY-MM-DD’)) FROM DUAL;

4 / 512345