JDBC(mysql), 오라클설치(우분투64비트)
DBConnection.java와 DBClose는 먼저 프로젝트에 추가해놓고
dbinfo.properties 는
DBDRIVER=com.mysql.jdbc.Driver
DBURL=jdbc:mysql://접속아이피:3306/test
DBUSER=root
DBPWD=javamysql
이렇게 해주고.
build path 해서 라이브러리 추가해주고 시작.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//Scrollable ResultSet 에 대한 설명.
public class JdbcDemo {
public static void main(String[] args) throws SQLException {
DBConnection db = new DBConnection();
db.loadDriver();
db.setConnection();
Connection conn = db.getConnection();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); //커서를 원하는 위치로 갈수 있음. 오직 읽기만 하겠다.
ResultSet rs = stmt.executeQuery("SELECT * FROM phone_book");
rs.afterLast();
while(rs.previous()){
String irum = rs.getString("irum");
System.out.println(irum);
}
rs.absolute(3); //3번째 레코드로 이동.
System.out.println("3번째 레코드" + rs.getString("irum"));
DBClose.close(conn,stmt,rs);
}
}
윈도우부팅 버츄얼 우분투 64비트에 오라클 깔기.
깨끗한 우분투에 oracle xe-11.2.0-1.0.x86_64rpm.zip / 60-oracle.conf / chkconfig 세개 넣기.
위 파일을 압축 풀고 sudo apt-get update 해줌.
압축푼 폴더 들어가서
sudo apt-get install alien libaio1 unixodbc vim
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
ls /sbin/chkconfig 하면 파일이 없다고 뜬다.
아까 옮긴 chkconfig를 옮기기 위해 sudo cp chkconfig /sbin/ 엔터.
sudo vim /sbin/chkconfig 확인 후 나가고
sudo chmod 755 /sbin/chkconfig 실행권한 변경.
ls -l /sbin/chkconfig 실행권한 변경확인
ls /etc/sysctl.d/60-oracle.conf 파일 없는 것확인.
아까 옮긴 60-oracle.conf 옮기기 위해 sudo cp 60-oracle.conf /etc/sysctl.d/
sudo vim /etc/sysctl.d/60-oracle.conf 열어서 확인. 나가고.
sudo service procps start 확인
sudo sysctl -q fs.file-max 확인
sudo vim /etc/sysctl.d/60-oracle.conf 의 내용을 설정 해주는 것임.
free -m 확인 후 넘어감.
sudo ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys 폴더를 만들어주고.
touch /var/lock/subsys/listener //listener라는 파일 생성
cat /etc/hosts
sudo rm -rf /dev/shm 삭제
sudo mkdir /dev/shm 새로만들어줌.
sudo mount -t tmpfs shmfs -o size=2048m /dev/shm
sudo gedit /etc/profile 을 실행 시켜줘서 제일 아래 밑의 내용을 추가해줌.
#-----------------------------------
# Oracle-XE Settings
#-----------------------------------
ORACLE_HOME=/u01/app/oracle/product/11.2.0/XE
ORACLE_SID=XE
NLS_LANG='$ORACLE_HOME/bin/nls_lang.sh'
ORACLE_BASE=/u01/app/oracle
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_HOME
export ORACLE_SID
export NLS_LANG
export ORACLE_BASE
export LD_LIBRARY_PATH
export PATH
저장후 나옴. 위에 /u01~~~ 은 아래 oracle*.deb 파일을 깔면 생기는 폴더가 저곳에 생기기 떄문에 경로를 이렇게 해줌.
source /etc/profile 경로를 넣어준 후
echo $ORACLE_HOME 확인
echo $PATH
cat /etc/environment 후 경로 설정 확인.
다시 아까압축푼 Disk1 폴더로 가서 sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb 설치.
cd 로 홈으로 가서 sudo /etc/init.d/oracle-xe configure 를 엔터.
8080과 1521은 엔터로 넘기고
initial configuration: 에서 javaoracle 써주고 한번더써줌. 그리고 y 엔터.
성공이 뜨면 sudo service oracle-xe start 이미 시작되있다고 뜨면
sudo service oracle-xe restart
sqlplus /nolog 하면 접속됨. quit하고
--------안되면
sudo rm -rf /bin/awk 삭제후
sudo ln -s /usr/bin/awk /bin/awk 다시 해보고.
---------------
quit하고 sudo service oracle-xe start
unset NLS_LANG
sqlplus /nolog
connect sys as sysdba
비번>javaoracle 쓰고 아래를 써줌.
CREATE USER scott IDENTIFIED BY tiger <-- 반드시 그럴 필요는 없지만 그냥 scott 계정의 패스워드를 tiger 로 설정
DEFAULT tablespace USERS
TEMPORARY tablespace temp; <-- 대소문자 구분 없다. SQL 이니까...
slelct * from table;
@ /home/mino/Downloads/demobld.sql
show user 하면 scott 이라고 나오고
select * from tab;
select * from dept;
------- 이건 하는지 안하는지 모르겠네...
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
GRANT connect, resource TO scott;
conn scott/tiger
quit
선생님 블로그의 oracle- Oracle Database 10g Express Edition Installaton on Linux Fedora14 들어가서 demobld.sql 를 다운 받고
------- 리스타트후 안됨.
sqlplus scott/tiger