테이블스페이스의 공간부족현상 해결법  Oracle  2006/12/18 11:50
* "ORA-01658: xxxx 테이블스페이스에 세그먼트에 대한 INITIAL 확장 영역을 작성할 수 없습니다." 라는 오류는 왜 발생하며, 어떤 조치를 취해야 합니까?

원인) 해당 테이블 스페이스에 할당된 공간이 부족하지만 AUTOEXTEND 설정이 OFF 되어 있어서 더 이상의 ENTENT를 할당 할 수 없을 때 발생합니다.
해결) 해당 데이터파일의 크기를 재조정 하거나, 해당 테이블 스페이스에 새로운 데이터 파일의 추가 또는 데이터 파일의 AUTOEXTEND ON 설정을 하면 해결됩니다.

조치)

--1. 해당 데이터파일의 크기를 재조정 
	ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\KIRIO1\A1_CLON\A1.DBF' RESIZE 1100M; 
--2. 해당 테이블 스페이스에 새로운 데이터파일 추가 
	ALTER TABLESPACE DATA ADD DATAFILE 'd:\oracle\oradata\kirio1\data01.dbf' SIZE 100M; 
--3. 해당 데이터파일에 AUTOEXTEND ON 설정 
	ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\KIRIO1\A1_CLON\A1.DBF' AUTOEXTEND ON; 

어디서 퍼왔는지 모르겠어요~ ㅠㅠ

-- 테이블스페이스 삭제
-- 테이블스페이스가 오프라인으로 상태에서 명령을 내리길 권장
DROP TABLESPACE unicorn_temp
INCLUDING CONTENTS CASCADE CONSTRAINTS;

-- DATA TABLESPACE 생성
CREATE TABLESPACE unicorn_data
DATAFILE 'D:\oracle\oradata\unicorn_data.TBL' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
DEFAULT STORAGE
(INITIAL 4K
NEXT 128K
MINEXTENTS 1
PCTINCREASE 0);

-- INDEX TABLESPACE 생성
CREATE TABLESPACE unicorn_index
DATAFILE 'D:\oracle\oradata\unicorn_index.TBL' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
DEFAULT STORAGE
(INITIAL 4K
NEXT 128K
MINEXTENTS 1
PCTINCREASE 0);

-- TEMP TALBESPACE 생성
CREATE TEMPORARY TABLESPACE unicorn_temp
TEMPFILE 'D:\oracle\oradata\unicorn_temp.TBL' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;


-- 사용자 생성 
CREATE USER unicorn IDENTIFIED BY unicorn
DEFAULT TABLESPACE unicorn_data
TEMPORARY TABLESPACE unicorn_temp;

-- 사용자 비밀번호 변경
ALTER USER unicorn IDENTIFIED BY unicorn;

-- 권한 설정
-- 생성한 사용자에게 자신의 schema에서 테이블등을 만들 권한과 자원을 사용할 권한을 준다.
-- GRANT RESOURCE, CONNECT TO MIDAN; 
-- DBA 권한을 준다.
GRANT DBA TO unicorn;

-- datafile 추가
ALTER TABLESPACE unicorn_data
ADD DATAFILE 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' SIZE 2048M;
/*
alter tablespace unicorn_data
add datafile 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' size 50M
autoextend on next 20M maxsize 100M 

추후에 datafile에 자동증가만 추가하려면
alter database datafile 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' 
       autoextend on next 20M maxsize 100M 
계속 증가하도록 하려면 100M 대신 unlimited 사용 (32G이상 확장되지 않음) 
*/

-- datafile 확인
select * from DBA_DATA_FILES;

-- 등록되어 있는 사용자보기
SELECT * FROM ALL_USERS;


-- 사용자 삭제
-- ※ CASCADE를 사용하게 되면 사용자 이름과 관련된 모든 데이터베이스 스키마가 데이터 사전으로부터 
-- 삭제되며 모든 스키마 객체들 또한 물리적으로 삭제 됩니다. 
DROP USER scott CASCADE;


--IMPORT, EXPORT 권한을 준다.
GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO unicorn;

/*
--시스템 권한 부여
GRANT CREATE USER, ALTER USER, DROP USER TO scott WITH ADMIN OPTION.
--*설명 : scott 사용자에게 사용자를 생성, 수정, 삭제 할 수 있는 권한을 부여하고,
-- scott 사용자도 다른 사용자에게 그 권한을 부여 할 수 있습니다.

--시스템 권한 박탈
REVOKE CREATE USER, ALTER USER, DROP USER FROM scott
--*설명 : scott 사용자에게 부여한 생성, 수정, 삭제 권한을 회수합니다,
*/

--사용자조회
SELECT username, default_tablespace, temporary_tablespace FROM DBA_USERS;
SELECT * FROM ALL_USERS;

-- 테이블스페이스조회
SELECT * FROM DBA_TABLESPACES; 


% 그외 TIP



-------------------------------------------------------------------------------------
※ ORACLE SID 확인

SELECT INSTANCE
FROM V$THREAD;
-------------------------------------------------------------------------------------
※ ORACLE DB_NAME 확인

SELECT NAME 
FROM V$DATABASE;
-------------------------------------------------------------------------------------
※ ORACLE VERSION 확인

SELECT *
FROM V$VERSION;
-------------------------------------------------------------------------------------
※ ORACLE USER 확인

SELECT * 
FROM ALL_USERS;
-------------------------------------------------------------------------------------
※ 등록된 USER 목록 보기

SELECT USERNAME, USER_ID 
FROM DBA_USERS 
ORDER BY 
USERNAME;
-------------------------------------------------------------------------------------
※ USER가 소유한 모든 테이블 보기

SELECT TABLE_NAME 
FROM USER_TABLES;
-------------------------------------------------------------------------------------
※ 사용자 정보 

SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE 
FROM DBA_USERS;
-------------------------------------------------------------------------------------
※ 오브젝트 조회

SELECT * 
FROM ALL_OBJECTS 
WHERE OBJECT_NAME LIKE '명';
-------------------------------------------------------------------------------------
※ 테이블 조회

SELECT * 
FROM ALL_TABLES 
WHERE TABLE_NAME LIKE '명';
-------------------------------------------------------------------------------------
※ 시퀀스 정보 

SELECT * 
FROM USER_SEQUENCES;
-------------------------------------------------------------------------------------
※ 시노님 조회

SELECT * 
FROM ALL_SYNONYMS 
WHERE SYNONYM_NAME='명';
-------------------------------------------------------------------------------------
※ 테이블 인덱스 정보 조회

SELECT * 
FROM ALL_IND_COLUMNS 
WHERE TABLE_NAME='테이블명';
-------------------------------------------------------------------------------------
※ 테이블의 컬럼 정보 조회

SELECT * 
FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME='테이블명';
-------------------------------------------------------------------------------------
※ TABLE COMMENT 쿼리

SELECT * 
FROM ALL_TAB_COMMENTS 
WHERE TABLE_NAME='테이블명';
-------------------------------------------------------------------------------------
※ COLUMN COMMENT 쿼리

SELECT * 
FROM ALL_COL_COMMENTS 
WHERE TABLE_NAME='테이블명';
-------------------------------------------------------------------------------------
※ 콘트롤파일의 데이타파일 정보와 테이블스페이스 정보 

SELECT status,enabled, t.name,d.name 
FROM v$datafile d, v$tablespace t 
WHERE t.ts#=d.ts#;
-------------------------------------------------------------------------------------
※ 테이블스페이스의 데이터파일과 테이블스페이스의 크기 확인
※ DBA_DATA_FILES 데이터 사전을 이용 하면 됩니다. 

SELECT file_name, tablespace_name, bytes, blocks, status, user_bytes, user_blocks
FROM DBA_DATA_FILES;
-------------------------------------------------------------------------------------
※ 테이블 스페이스별 사용 가능한 공간의 확인
※ DBA_FREE_SPACE 데이터 사전
※ SUM을 사용한 이유는하나의 테이블 스페이스에 분산되어 있는 여유공간을 합한 것이며
※ MAX를 사용한 이유는 여유 공간중 가장 큰 공간의 SIZE를 의미 합니다.

SELECT tablespace_name, SUM(bytes), MAX(bytes) 
FROM DBA_FREE_SPACE 
GROUP BY tablespace_name;
-------------------------------------------------------------------------------------
※데이타 화일에 대한 총 크기와 남아있는 공간, 사용한 용량, 남은 %율
※DBA_FREE_SPACE, DBA_DATA_FILES 데이터 사전 

SELECT b.file_name "FILE_NAME", -- DataFile Name 
b.tablespace_name "TABLESPACE_NAME", -- TableSpace Name 
b.bytes / 1024 "TOTAL SIZE(KB)", -- 총 Bytes 
((b.bytes - sum(nvl(a.bytes,0)))) / 1024 "USED(KB)", -- 사용한 용량 
(sum(nvl(a.bytes,0))) / 1024 "FREE SIZE(KB)", -- 남은 용량 
ROUND((sum(nvl(a.bytes,0)) / (b.bytes)) * 100, 2) "FREE %" -- 남은 % 
FROM DBA_FREE_SPACE a, DBA_DATA_FILES b 
WHERE a.file_id(+) = b.file_id 
GROUP BY b.tablespace_name, b.file_name, b.bytes ORDER BY b.tablespace_name
-------------------------------------------------------------------------------------
※오라클 권한 준거 확인 (테이블 권한)
SELECT *
FROM USER_TAB_PRIVS;
-------------------------------------------------------------------------------------
※오라클 VIEW Table 조회
SELECT OBJECT_NAME, OBJECT_TYPE
FROM ALL_OBJECTS
WHERE OWNER = 'NIS'
AND OBJECT_TYPE = 'VIEW';

SELECT *
FROM TAB;
-------------------------------------------------------------------------------------
※오라클 비밀번호 강제 변경

sqlplus "/as sysdba"

ALTER USER 아이디 IDENTIFIED BY 암호;

-------------------------------------------------------------------------------------
※락 잡힌거 죽이기

--락확인 법
SELECT A.SESSION_ID SID,
B.SERIAL# SERIAL_NO,
A.OS_USER_NAME OS_USER_NAME,
A.ORACLE_USERNAME ORACLE_USERNAME,
B.STATUS STATUS
FROM V$LOCKED_OBJECT A, V$SESSION B
WHERE A.SESSION_ID = B.SID;

SELECT *
FROM V$LOCKED_OBJECT;

ALTER SYSTEM KILL SESSION 'SID, SERIAL_ID';

-------------------------------------------------------------------------------------
권한주기
GRANT SELECT,DELETE,UPDATE ON SMSVNJNVIEW TO SMSVIEW WITH GRANT OPTION;

-------------------------------------------------------------------------------------
아이디생성
CREATE USER SMSVIEW PROFILE DEFAULT IDENTIFIED BY SMSVIEW;

GRANT CONNECT, RESOURCE TO SMSVIEW;
-------------------------------------------------------------------------------------
시노님 생성

CREATE PUBLIC SYNONYM SMSVNJNVIEW FOR NIS.SMSVNJNVIEW;
-------------------------------------------------------------------------------------
디비링크 거는법

1. tnsnames.ora 파일 정보추가

tns =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1 )(PORT = 1521))
)
(CONNECT_DATA =
(SID = ora92)
)
)

2. 연결

CREATE DATABASE LINK 링크명
CONNECT TO 아이디
IDENTIFIED BY 비번
USING 'tns'
-------------------------------------------------------------------------------------
pk 생성

ALTER TABLE 테이블 ADD (
CONSTRAINT pk명 PRIMARY KEY (컬럼, 컬럼));
-------------------------------------------------------------------------------------
인덱스 생성
CREATE INDEX 인덱스명 ON 테이블 (컬럼, 컬럼);

CREATE UNIQUE INDEX 인덱스명 ON 테이블 (컬럼, 컬럼);
------------------------------------------------------

-------------------------------
테이블 설명
COMMENT ON TABLE 테이블명 IS '부과대장';
COMMENT ON COLUMN 테이블명.컬럼명 IS '부과대장키 ';
-------------------------------------------------------------------------------------




CREATE OR REPLACE TRIGGER 트리거명
	AFTER INSERT OR UPDATE OR DELETE OF 선택컬럼명 ON 테이블명
FOR EACH ROW
	BEGIN
		IF (INSERTING) THEN
			INSERT INTO 테이블(선택컬럼) VALUES(:NEW.선택컬럼);
		ELSIF (UPDATING) THEN
			UPDATE 테이블	SET 선택컬럼=:NEW.선택컬럼 WHERE 선택컬럼=:OLD.선택컬럼;
		ELSIF (DELETING) THEN
			DELETE FROM 테이블 WHERE 선택컬럼 = :OLD.선택컬럼;
		END IF;
	END;
SELECT	SUBSTR(
				WDATA, 
				INSTR(WDATA, '|', 1, LEVEL) + 1, 
				INSTR(WDATA, '|', 1, LEVEL + 1) - INSTR(WDATA, '|', 1, LEVEL) - 1
			) NAME 
FROM 	( 
		 	SELECT	'|aaa|bbb|ccc|ddd|eee|'  AS WDATA
			FROM	dual
		) 
CONNECT BY LEVEL <= LENGTH(WDATA) - LENGTH(REPLACE(WDATA, '|')) - 1 



결과


exec sp_configure 'show advanced options', 1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure


-- 예제 1)
select * from 
OPENROWSET('Microsoft.Jet.OLEDB.4.0','text;Database=절대경로;HDR=NO','select * from 파일명')

-- 예제 2)
select * from
OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=절대경로;','select * from 파일명')
 
 
 
 

쿼리창에서 입력할때마다 한글로 바뀌는경우
기본 언어를 변경해주면 된다.


예) 설치된 인스턴스 - 속성 - 고급 - 기본언어(한글로 설치되었으면 Korean) => English

아파치 사이트에서 톰캣을 다운로드 받는다(알아서!!)
1. 압축을 푼다
   ex) tar xvzf 파일명

2. 프로파일을 수정 한후 적용한다.
[root /] vi /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

export JAVA_HOME=/usr/local/etc/jdk1.6.23
export CATALINA_HOME=/usr/local/etc/tomcat

export JAVA_HOME CATALINA_HOME

3. 톰캣을 실행한다.
2010/12/03 14:27
리눅스 유분투에 오라클10g 설치

 

 1. 설치 파일 준비

?리눅스용 오라클 버전을 오라클 홈페이지에서 다운을 받는다.


다운을 받기 위해서는 오라클에 가입이 되었어야 하므로 다운받기전에 회원가입을 먼저 하도록 하자.
다운로드한 파일은 리눅스의 특정 디렉토리로 옴겨놓자.


2. 설치를 위한 환경구성

?1) 먼저 터미널을 열고 설치에 필요한 기본 시탭틱을 설치한다.

$sudo apt-get install gcc binutils libaio1 lesstif2 lesstif2-dev make rpm libc6 libstdc++5 build-essential


2) 설치에 필요한 그룹과 유저를 생성한다.

$sudo groupadd oinstall
$sudo groupadd dba
$sudo groupadd nobody
$sudo useradd -m oracle -g oinstall -G dba -s /bin/bash
$sudo passwd oracle


3) 오라클에 필요한 memory와 CPU resources를 위해 커널 파라미터를 수정한다.
    (메모리와 CPU자원이 충분하지 않으면 오라클 인스턴스가 올라가질 않는다. 물론 설치도 안됨.)
    우선 파일 수정을 위해 sysctl.conf파일을 연다. (vi편집기, vim, gedit 등 사용해 파일을 연다.)

$sudo vim /etc/sysctl.conf


 오픈된 파일의 맨 하단에 아래의 내용을 추가하고 저장한다.

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000


저장하고 파일을 닫는다. 위에서 수정한 sysctl.conf파일은 Ubuntu시스템이 처음 부팅시 한번 읽어들이는 정보이므로 재부팅을 한다. 귀찮으면 모듈을 강제로 내렸다가 올리면 된다.

$sudo /sbin/sysctl -p



4) 시스템에 security의 limits파일을 열고 다음 정보를 추가한다.

$sudo vim /etc/security/limits.conf


   추가할 정보를 아래와 같다. 맨 하단에 추가하자 ^^

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536


5) 몇가지 링크와 폴더 생성 및 권한설정을 해주자

$sudo ln -s /usr/bin/awk /bin/awk
$sudo ln -s /usr/bin/rpm /bin/rpm
$sudo ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
$sudo ln -s /usr/bin/basename /bin/basename
$sudo mkdir /oracle
$sudo mkdir /oracle/10g
$sudo chown -R oracle:oinstall /oracle
$sudo chmod -R 775 /oracle


6) 환경변수 설정 (etc 및에 profile을 수정한다.)

$sudo vim /etc/profile


   마찬가지로 젤 하단에 아래의 정보를 복사해서 붙여넣는다.

export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/10g
export ORACLE_SID=orcl10
export PATH=$PATH:$ORACLE_HOME/bin


  환경변수가 적용되었는 여부를 확인해 보자.

$ su - oracle
Password:
$ echo $ORACLE_BASE
/oracle
$ echo $ORACLE_HOME
/oracle/10g
$ exit
logout


  위와 같이 설정한대로 출력된다면 정상이다. 


7) 레드헷 엔터프라이즈 릴리즈 파일을 만들어준다.  (음.. 왜 하는지는 정확히 모르겠다.  ^^;;;)

$sudo vim /etc/redhat-release


  파일에 아래의 정보를 복사해서 붙여넣는다.

Red Hat Enterprise Linux AS release 3 (Taroon)



3. 설치

?1) 다운받아 놓은 오라클 파일(10201_database_linux32.zip)의 압축을 풀어주자.
    만약 압축 파일이 /home/user/ 디렉토리 아래 있다면 다음과 같이 실행한다. 
   

$sudo chown oracle:oinstall /home/user/10201_database_linux32.zip
$sudo chmod 775 /home/user/10201_database_linux32.zip
$sudo mv /home/user/10201_database_linux32.zip /home/oracle
$su - oracle
$unzip 10201_database_linux32.zip


2. 재부팅을 해주자. (reboot)
   
   여기서 재부팅을 안해줄 경우 아래와 같은 에러를 만날수도 있다.



3)  재부팅후, oracle 유저로 접속한 후 터미널에서 설치 실행파일(runlnstaller)를 실행한다.
     이때, 설치실행창의 문자가 깨져서 출력되는 것을 막기 위해 간단한 언어 설정을 꼭 해주자.

$expert LANG=C
$/home/oracle/database/runInstaller



4) 설치를 진행한다.  (난 Basic installation을 선택하였다. ) 
   
   설치 화면에서 부터는 Windows에서 설치하는방법과 동일하지만 한가지 주의 해야 될 부분은 SID입력
   부분이다. 위 6) 환경변수 설정 에서 환경변수 설정에서 입력한 SID인 orcl10을 입력하지 않으면 
   안된다. 
   


 "Inventory directory" 를 "/oracle/oraInventory"로 하고
시스템그룹은 "oinstall"로 지정하고 다음  default 값을 사용하면 될 것 같다.


 설치된 것에 대한 개요를 보여준다. "INSTALL" 클릭


설치가 진행된다.




중간에 설치된 정보를 보여주는 창이 뜸 "OK" 


설치 .. ing (iSQL 등이 설치되고 있다. ㅎ)


거의 막바지다. 중간에 아래와 같은 창이 뜬다면 터미널을 하나 열어서 "root" 계정으로 명시된 스크립트를 실행해 준다.
  

#/oracle/oraInventory/orainstRoot.sh
#/oracle/10g/root.sh


스크립트 실행이 끝나면 설치화면 창으로 돌아와 "OK"를 눌러준다.
스크립트 실행이 곤란하면 설치 완료후 실행해 주어도 무방 한 것 같다. ^^;;


설치가 완료되었다.
아래에 표시되는 URL 정보는 적어두었다가 활용하도록 하자. ^^



4. 설치완료 후 사용을 위한 환경구성

?1) 재부팅 후 oracle이 유저가 아닌 본인의 원래유저로 로그인해 아래 파일을 수정해 준다.

$sudo vim /etc/oratab


etc밑에 oratab파일에서 orcl10:/oracle/10g:N부분을 orcl10:/oracle/10g:Y로 수정한다. 덧붙여 설명하면 orcl10은 인스턴스이고 가운데 부분은 ORACLE_HOME 마지막 부분은 오라클 인스턴스의 자동 실행 여부(Y/N)이다.

orcl10:/oracle/10g:Y


2) 오라클 유저(oracle)로 로그인한 후 오라클 리스너의 절대 패스를 수정해 준다.

$su - oracle
$vim $ORACLE_HOME/bin/dbstart


다음라인을 찾아.

# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
if [ ! $ORACLE_HOME_LISTNER ] ; then
echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
else
LOG=$ORACLE_HOME_LISTNER/listener.log


아래와 같이 패스를 수정해 준다.

ORACLE_HOME_LISTNER=/oracle/10g


이제 모든 설치가 끝났다.
(0 ^o^)0

다음은 실행화면 ^^*  열공합시다.



출처 : 모르겠어요ㅠㅠ 메일주세요 (-->공지확인)

# 필요한 rpm (이건 꼭 필요한것이므로 Linux CD에서 찾아 전부 설치해야한다.)

root 계정에서 rpm -Uvh 설치할거.rpm 이렇게 주면서 쭉~ 설치 하면 된다.



rpm -Uvh compat-libstdc++-33-3.2.3-61.i386.rpm
rpm -Uvh elfutils-libelf-0.137-3.el5.i386.rpm
rpm -Uvh elfutils-libelf-devel-0.137-3.el5.i386.rpm
rpm -Uvh glibc-2.5-58.i386.rpm
rpm -Uvh glibc-devel-2.5-58.i386.rpm
rpm -Uvh glibc-common-2.5-58.i386.rpm
rpm -Uvh gcc-4.1.2-50.el5.i386.rpm
rpm -Uvh gcc-c++-4.1.2-50.el5.i386.rpm
rpm -Uvh kernel-headers-2.6.18-238.el5.i386.rpm
rpm -Uvh libgcc-4.1.2-50.el5.i386.rpm
rpm -Uvh libaio-0.3.106-5.i386.rpm
rpm -Uvh libaio-devel-0.3.106-5.i386.rpm
rpm -Uvh libstdc++-4.1.2-50.el5.i386.rpm
rpm -Uvh libstdc++-devel-4.1.2-50.el5.i386.rpm
rpm -Uvh sysstat-7.0.2-3.el5_5.1.i386.rpm
rpm -Uvh binutils-2.17.50.0.6-14.el5.i386.rpm
rpm -Uvh unixODBC-2.2.11-7.1.i386.rpm
rpm -Uvh unixODBC-devel-2.2.11-7.1.i386.rpm
rpm -Uvh make-3.81-3.el5.i386.rpm
rpm -Uvh pdksh-5.2.14-36.el5.i386.rpm

 


 

 

 

 

# sysctl.conf에 추가

 cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF

 /sbin/sysctl -p

 

 

 

# oracle 사용자 계정의 Shell Limit 설정


cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

 

cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF

 

 


# oracle 그룹 및 사용자 계정 생성

 /usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba

/usr/sbin/useradd -g oinstall -G dba oracle

mkdir -p /u01/app/oracle

chmod 775 -R /u01/app/oracle

chown -R oracle:oinstall /u01/app

passwd oracle

 

 

 

# bash_profile 추가


export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=TESTDB
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export DISPLAY=:0.




 

# 압축을 푼다

unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip



# 설치를 시작한다.

 

./runInstaller 






설치 할때 물어보는데 일단 테스트용으로 쓰는것이므로 띵까고 넘어간다.






Install database software only를 선택한다.
오라클 엔진만 설치하고 DB는 이후에 설치하는걸 권장한다.






Single로 설치한다.






언어를 선택한다. 한국어 선택하고 입맛에 따라 언어 더 선택하면 된다.






오라클 기능을 대부분 테스트 해보고 싶다면 Enterprise Edition을 선택한다.






Oracle이 install되는 타켓을 잘 확인하고 한다.






Inventory Directory를 /u01/app/oraInventory로 설정을 한다.






Group이 잘되었는지 확인한다.






설치 내역을 서머리 한것이다. 내가 원하는데로 되었는지 잘 확인한다.






이제 설치를 슬~ 슬~ 설치를 시작한다.






root에서 2개의 스크립트를 실행한다.






오라클 엔진 설치가 끝났다.









# 리스너를 구성한다.
 

netca






Listener configuration을 선택한다.






Add를 선택한다.






기본으로 설정된느 LISTENER로 한다.






TCP를 선택한다.






기본 설정인 1521로 설정한다.






더 설치 할꺼 없으니 No






구성을 끝낸다.










# DB를 구성한다. 

dbca



다음을 선택한다.






create database를 선택한다.






General로 선택을 한다. 






TESTDB로 선택해서 한다.






EM을 선택한다.






암호를 설정한다.






FileSystem을 선택한다.





아카이브 로그 모드로 선택을 한다.






Sample Schemas를 선택한다. 






메모리 사이즈를 선택한다.






Character set은 KO16MSWIN949로 선택한다.






콘트롤파일, 데이터파일, 리두로그의 위치와 사이즈를 조정해서 한다.





Finish를 선택한다.






DB 구성에 대한 서머리다. 꼭 한번 쭉 보고서 내역을 한번봐야 한다. 그냥 ok 버튼을 누르지 마라.







설치를 쭉~ 쭉 한다.






sqlplus와 EM에 접속을 해서 정상적으로 돌아가는지 한번 확인해본다.

 

 

$ORACLE_HOME/admin/testdb/pfile 디렉리

  에 가면 init.ora.1222010183035 이런식으로 숨겨진 pfile 이 존재 한다.

  이파일을 $ORACLE_HOME/product/11.2.0/db_1/dbs/ 디렉토리의 inittestdb.ora라는 파일로 복사한다.

sqlplus 를 실행해서 startup 을 실행
빠져나온뒤 lsnrctl start


#####한글설정
본인의 테스트 기준...


#####SQLPLUS 한글 깨짐 현상(.bash_profile 에 추가)


현재 폴더 기준 각 디렉토리 용량 조회
[root@test/]# du -sh /*

전체용량
[root@test/]# df -h

+ Recent posts