[Linux][Ubuntu] Oracle XE 설치하기
테스트 환경
Ubuntu 16.04.2 LTS
Oracle DB를 이용할 일이 생겨서 Ubuntu에 Oracle XE를 설치해 보았습니다.
설치하는데 아래 링크를 참조했습니다.
http://www.gokhanatil.com/2016/04/how-to-install-oracle-11gr2-xe-on-ubuntu.html
먼저 설치 패키지를 아래 링크에서 다운로드 합니다.
(2017년 3월 30일 현재 2014년에 배포한 11gR2 가 최신버전 입니다.)
http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
Oracle 홈페이지에서는 리눅스 용으로는 rpm을 zip으로 압축해서 배포하고 있습니다.
다운로드 완료 후에는 다음 명령으로 압축을 풀어 줍니다.
$ unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip |
압축이 풀리면 Disk1 폴더가 생성되고 그 안에 rpm 파일이 있습니다.
rpm 파일을 Ubuntu 에서 쓰는 deb 파일로 변환을 해 주어야 합니다.
rpm을 deb로 변경할 때는 alien 을 사용하게 됩니다.
만약 alien 이 설치되어 있지 않다면 다음 명령으로 설치합니다.
$ sudo apt install alien |
그리고 오라클 사용에 필요한 라이브러리를 설치합니다. (사용자의 환경에 따라 이미 설치되어 있을 수도 있습니다.)
$ sudo apt install libaio1 |
Disk1 폴더에서 아래 명령으로 rpm을 deb로 변경합니다. (시간이 상당히 걸리는 작업입니다.)
$ sudo alien --scripts oracle-xe_11.2.0-1.0.x86_64.rpm |
deb 파일을 다음 명령으로 설치를 합니다.
$ sudo dpkg -i oracle-xe_11.2.0-2_amd64.deb |
설치 도중에 /sbin/chkconfig 가 없다는 메시지가 나오게 되는데, redhat 계열에서 사용하는 설정인데 무시하셔도 상관 없습니다. 그래도 설정을 하고 싶다면, 아래 링크를 참조하세요.
http://meandmyubuntulinux.blogspot.com/2012/05/installing-oracle-11g-r2-express.html
그리고 설치 후에는 설정을 위해서 스크립트를 실행해야 합니다. 실행시에 발생할 에러를 막기 위해서 아래와 같이 링크를 설정하고 폴더를 생성합니다. (폴더가 이미 존재하는 경우도 있습니다.)
$ sudo ln -s /usr/bin/awk /bin/awk $ sudo mkdir /var/lock/subsys |
그리고 스크립트를 돌려서 초기 설정을 합니다.
$ sudo /etc/init.d/oracle-xe configure |
초기 설정을 위해 몇가지 질문을 하는데, 성실히 대답해 주면 됩니다.
아래 명령으로 시작합니다.
$ sudo /etc/init.d/oracle-xe start |
아래 명령으로 서버를 종료합니다.
$ sudo /etc/init.d/oracle-xe stop |
[Linux][Ubuntu] 부팅시 나오는 crash 관련 메시지 보이지 않게 하기
테스트 환경
Ubuntu (16.04.2 LTS)
Ubuntu 사용 도중 crash 가 발생하면 부팅시에 계속 메시지가 나타나게 됩니다.
문제가 해결되고 나서도 메시지가 계속 나타나는 경우 다음의 방법으로 해결 합니다.
1. 터미널을 연다. (Ctrl + Alt + t)
2. 다음 경로로 이동
$ cd /var/crash |
[Linux] Screen 명령어
Linux 콘솔에서는 기본적으로 하나의 foreground job 을 수행할 수 있는데, 여러 개의 작업을 동시에 실행할 때에는 screen 명령을 이용해서 가상의 콘솔을 이용할 수 있다.
1. 기본 사용법
> screen |
2. 스크린 추가하기
^A^C
3. 스크린 닫기
exit : 현재 스크린 닫기
^D : 현재 스크린 닫기
^A\ : 전체 스크린 종료 및 screen 명령 종료
4. 스크린 전환하기
^A^P : 이전 번호의 스크린으로
^A^N : 다음 번호의 스크린으로
^A0, ^A1, ... ^A9 : 해당 번호의 스크린으로 이동
^A' : 이동할 스크린 번호 입력해서 이동
^A^A : 바로 전에 사용한 스크린으로 이동
5. 현재 스크린 확인
^AN : 현재 스크린 번호 확인
^A^W : 전체 스크린 리스트 확인
[Linux][Ubuntu] 고정 IP 설정하기
실행환경 Ubuntu 14.04 LTS
root 권한으로 실행한다고 가정
eth0 를 고정 IP로 설정한다고 가정
설정은 다음과 같다고 가정
IP 10.0.0.10 gateway 10.0.0.1 netmask 255.255.255.0 dns-nameservers 8.8.8.8 8.8.4.4 |
/etc/network/interfaces 파일을 편집한다.
파일에서 아래와 같은 부분을 찾는다.
# The primary network interface auto eth0 iface eth0 inet dhcp |
다음과 같이 수정한다.
# The primary network interface auto eth0 iface eth0 inet static address 10.0.0.10 gateway 10.0.0.1 netmask 255.255.255.0 dns-nameservers 8.8.8.8 8.8.4.4 |
수정 후 다음의 두 명령어를 차례로 실행하여 eth0 리로드 한다.
ifdown eth0 ifup eth0 |
혹은 다음의 명령어를 이용해서 전체 네트워크를 리로드 해도 된다.
(네트워크 카드가 여러 개 설정 된 경우 전체가 리로드 되어 서비스가 잠시 중단될 수 있으니 주의!)
service networking restart |
[Linux] mysql 데이터 경로 변경하기
mysql 데이터 저장 경로 변경하기
/data/mysql 로 변경한다고 가정
- mysql 설정 파일을 변경한다.
vi /etc/mysql/my.cfg
datadir 부분을 찾아셔 다음과 같이 변경한다.
datadir = /data/mysql
- Apparmor access 변경
설정 파일을 변경한 후에 mysql 서비스를 실행하는 경우 로그에 다음과 같은 에러가 나올 경우
/etc/apparmor.d/usr.sbin.mysql 파일을 편집하여 해당 datadir 경로의 권한 추가해 준다.
110727 12:48:32 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
110727 12:48:32 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110727 12:48:32 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
/data/mysql/ r,
/data/mysql/** rwk,
- ldata 경로 변경
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
> mysql_install_db –-user=mysql –ldata=/data/mysql
[Linux] Ubuntu 14.4 server install
Install Ubuntu Server
Select a language
English - English
Select your location
United States
Configure the keyboard
No
Configure the keyboard
English (US)
Configure the keyboard
English (US)
Configure the network
[hostname]
Set up users and passwords
Full name for the new user:
[display name]
Set up users and passwords
Username for your account:
[account name]
Set up users and passwords
Choose a password for the new user:
****
Set up users and passwords
Re-enter password to verify:
****
Set up users and passwords
Encrypt your home directory?
No
Configure the clock
Yes
Partition disks
Partitioning method:
Guided - use entire disk and set up LVM
Partition disks
Select disk to partition:
[select partition]
Partition disks
Write the changes
Yes
Partition disks
Amount of volume group to use for guided partitioning:
max
Partition disks
Write the changes to disks
Yes
Configure the package manager
Continue
Configuring tasksel
No automatic updates
Software selection
Continue
Install the GRUB boot loader on a hard disk
Yes
Finish the installation
Continue
[Linux] Ubuntu에서 php-oracle 작업 환경 셋업하기
1. install apache, mysql, php
sudo apt-get install tasksel
sudo tasksel install lamp-server
2. install oracle
apt-get install alien
alien -i oracle-xe-11.2.0-1.0.x86_64.rpm
3. edit TNS
vi /u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora
4. install php-pear
apt-get install php-pear php5-dev build-essential unzip libaio1
5. install oci
alien -i oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm
alien -i oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm
pecl install oci8
6. edit environment variable
echo ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe/ >> /etc/environment
7. edit php configuration
echo extension=oci8.so >> /etc/php5/apache2/php.ini
echo extension=oci8.so >> /etc/php5/cli/php.ini
8. edit apache2 envvars
vi /etc/apache2/envvars
# add this line
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
9. restart apache
sudo /etc/init.d/apache2 restart
or
sudo service apache2 restart
참고자료
https://help.ubuntu.com/community/ApacheMySQLPHP
https://help.ubuntu.com/community/PHPOracle
http://kogentadono.com/2011/11/02/installing-oci8-on-ubuntu/