블로그 이미지
숏퐁숑

카테고리

분류 전체보기 (70)
게임기획자 준비 (18)
게임기획 참고자료 (7)
프로그램 (33)
숨쉬기 활동 (10)
Total
Today
Yesterday

달력

« » 2025.6
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

공지사항

태그목록

최근에 올라온 글

지금까지 개발 중에 마스터성 테이블의 데이터를 건들기전에 엑셀파일로 export 해서 백업해놓고 변경해서 사용하곤 했다. 근데 더 간단하게 테이블을 생성해서 백업해놓고 데이터 변경한 후 필요없으면 테이블 삭제하면 좀더 간단한 것 같아 정리해 본다.

 

1. 백업하고 싶은 테이블을 다른 명으로 해서 만든다

==> create table ppp_role_management_bak as select * from ppp_role_management

    요렇게 하면 ppp_role_management_bak으로 원본 테이블이 복사되어 백업되어진다.

    이렇게 만들어 놓고 ppp_role_management를 수정 하다 혹시 문제가 생기면 ppp_role_management_bak의

    테이블 명을 바꾸어서 사용하면 된다.

 

2. 백업해 놓은 테이블이 필요 없어지면 삭제한다.

==> drop table ppp_role_management_bak

 

요기서 DB 테이블 명 및 테이블 컬럼 이름 바꾸는 명령어를 정리해 보고자 한다.

 

1. DB 테이블 변경하기

ALTER TABLE 현재 테이블 이름 RENAME TO 바꾸고자 하는 테이블 이름

예를 들면

ALTER TABLE ppp_role_management(현재 사용 테이블) RENAME TO ppp_role_management_bak(바꾸고자 하는 테이블 명)

 

2. DB 테이블 컬럼 수정하기

ALTER TABLE 바꾸고자 하는 테이블 명 RENAME COLUNM 현재 테이블의 컬럼(필드명) TO 바꾸고자 하는 컬럼(필드명)

예를 들면

ALTER TABLE ppp_role_management(컬럼명을 바꾸고자 하는 테이블) RENAME COLUNM ppp_role_id(현재 사용되고 있는 테이블 컬럼명) TO  role_id(현재 사용되고 있는 테이블에 바꾸고자 하는 커럼명)

 

근데 오렌지나 ,TOAD 혹은 SQL DEVELOPER를 사용한다면 명령어 알 필요 없을 듯 하다 !

'프로그램 > ORACLE' 카테고리의 다른 글

WORKSHOP - TABLESPACE에 관하여...  (0) 2016.11.30
Administering User Security  (0) 2016.11.30
Linux 기반의 Oracle10g 설치  (0) 2016.11.30
Backup & Recovery  (0) 2016.11.30
with grant option & with admin option 차이  (0) 2016.11.30
Posted by 숏퐁숑
, |

Oracle 10g를 리눅스에서 설치하던 기억이 난다. 오라클 양성반 과정에서 오라클 설치를 위한 커널 설정부터

필요한 패키지 설정까지 다 외우고 시험보던 기억들이 새록새록 하다. 오랫만에 리눅스 기반에서 Oracle 10g 설치 방법을 정리해 보았다. 

 

1. Hosts File

 

# vi /etc/hosts

 

127.0.0.1 expert.oracle.com~

192.168.100.100 expert.oracle.com~

 

2. Kernel Parameters 설정

 

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

 

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 2147483648

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

 

3. Kernel Parameters를 변경 적용

[root@ocm52 ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 2147483648
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
 

4. /etc/security/limits.conf 파일에 아래의 내용을 추가.

[root@ocm52 ~]# vi /etc/security/limits.conf

 

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


5. /etc/pam.d/login 파일에 아래의 내용이 없다면 추가

[root@ocm52 ~]# vi /etc/pam.d/login 

session required pam_selinux.so open
session optional pam_keyinit.so force revoke
session required /lib/security/pam_limits.so


6. /etc/selinux/config 파일에 아래의 내용을 변경.

[root@ocm52 ~]# vi /etc/selinux/config

SELINUX=disabled (enforce를 disable로 변경)

 

7. RedHat Enterprise linux AS에 오라클 설치시 필요한 package

(oracle 설치 전 반드시 조회한 후 각 CD를 이용하여 설치되지 않은 패키지를 설치해야 함.)

=> 대부분의 패키지가 전부 설치 되어있으니 확인만 하면 됨.

=> RPM 조회 : rpm -qa | grep 패키지명

 

#From RedHat AS4 Disk 2

cd /media/media/Enterprise linux cd | 20071115/server

 

[root@ocm52 Server]# rpm -Uvh compat-db-4.2.52-5.1.i386.rpm
warning: compat-db-4.2.52-5.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:compat-db ########################################### [100%]
[root@ocm52 Server]# cd
[root@ocm52 ~]# cd /mnt/hgfs/shared
[root@ocm52 shared]# ls
10201_database_linux32.zip libaio-devel-0.3.107-2.i386.rpm
[root@ocm52 shared]# rpm -Uvh libaio-devel-0.3.107-2.i386.rpm
Preparing... ########################################### [100%]
1:libaio-devel ########################################### [100%]

8. Create the new groups and user(새로운 사용자 및 그룹 추가)

 

[root@ocm52 shared]# groupadd dba
[root@ocm52 shared]# groupadd oinstall
[root@ocm52 shared]# groupadd oper
[root@ocm52 shared]# groupadd asmadmin
[root@ocm52 shared]# useradd -g oinstall -G dba,oper,asmadmin oracle
[root@ocm52 shared]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@ocm52 shared]# mkdir -p /u01/app/oracle/product/10.2.0/db_1
[root@ocm52 shared]# chown -R oracle.oinstall /u01
[root@ocm52 shared]# more /etc/passwd | grep oracle
oracle:x:502:503::/home/oracle:/bin/bash

 

9. 오라클 설치할 폴더 생성

 

[root@ocm52 shared]# su - oracle
[oracle@ocm52 ~]$ mkdir -p /u01/app/oracle/product/10.2.0
[oracle@ocm52 ~]$ mkdir -p /u01/app/oracle/tmp
[oracle@ocm52 ~]$ mkdir -p /u01/app/oracle/java

 

10. DISPLAY 설정 (*root 계정으로 설정)

#xhost+<machine-name | ip>

ex) #xhost +192.168.100.100 or xhost+expert.oracle.com

[root@ocm52 ~]# xhost +192.168.100.100
192.168.100.100 being added to access control list

 

11. .bash_profile에다가 아래의 내용을 추가 해준다.

[root@ocm52 ~]# su - oracle
[oracle@ocm52 ~]$ vi .bash_profile (or$vi.bashrc)

 

#User specific envirnment and startup programs

 

PATH=$PATH:$HOME/bin:.:/u01/app/oracle/product/10.2.0/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_OWNER=oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0
export ORACLE_TERM=vt100
export TMPDIR=$ORACLE_BASE/tmp
export TEMP=$ORACLE_BASE/tmp
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export ORACLE_SID=DB01
export JAVA_HOME=$ORACLE_HOME/jdk
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022

:wq

[oracle@ocm52 ~]$ . .bash_profile ==>적용 ($source.bash_profile)

 

12. profile 변경

[oracle@ocm52 ~]$ su - (root로 접속 변경)

Password:

[root@ocm52 ~]# vi /etc/profile 

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

13. X-win 변경

[root@ocm52 ~]# vi /etc/inittab (runlever)

id:5 =============================>id:3으로 변경

 

[root@ocm52 ~]# reboot

Posted by 숏퐁숑
, |

현업으로 시스템 관련 변경 요청사항들이 계속 들어온다.  패스워드 변경 관련 처리를 해주다가 다음에 또 쓰게 될 것같아 정리 해보려 한다.

 

요청 1 :  패스워드 표시할 때 앞의 두자리는 보이고 나머지는 보안을 위해 *로 표시해달라고 한다. 어떻게 처리하면 될까? 단 12자리 이상 넘어가지 않도록 하고 싶다.

 

mask를 사용해서 간단하게  처리할 수 있다.

입력된 문자 일부를 Password로 처리하여 '*'의 형태로 출력하고자 할때에는 Password로 출력하고자 하는 영역을 { } 로

지정하면 된다.

mask="@@{@@@@@@@@@} 요렇게 처리해주면 {} 안에 들어가는  password는 '*'로 표시되게 된다.

 

소스 코드

  <Form id="test" classname="test" inheritanceid="" position="absolute 0 0 667 364" titletext="New Form">
    <Layouts>
      <Layout>
        <MaskEdit id="MaskEdit01" taborder="0" position2="absolute l:60 w:230 t:50 h:24" positiontype="position2"

                 mask="@@{@@@@@@@@@}" type="string" maskchar=" "/>
      </Layout>
    </Layouts>
  </Form>

 

요청 2 :  보안을 위해 패스워드 저장시 특수문자를 꼭 넣도록 하고 싶을때 어떻게 처리해주면 될까?


 var strVal = Edit00.text; // abc12345입력시
 //특수문자 정의_간단히 10가지만 정의해 봄.  
 var rtn1 = strVal.indexOf("!");//rtn  값은 !가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn2 = strVal.indexOf("@");//rtn 값은 @가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn3 = strVal.indexOf("#");//rtn 값은 #가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn4 = strVal.indexOf("$");//rtn 값은$가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn5 = strVal.indexOf("%");//rtn 값은 %가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn6 = strVal.indexOf("^");//rtn 값은 ^가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn7 = strVal.indexOf("&");//rtn 값은 &가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn8 = strVal.indexOf("*");//rtn 값은 *가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn9= strVal.indexOf("(");//rtn 값은 (가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 var rtn10 = strVal.indexOf(")");//rtn 값은 )가 존재하지 않으면 -1 존재하면 4 값을 리턴한다.
 

var check =  rtn1 + rtn2 + rtn3 + rtn4 + rtn5 + rtn6 + rtn7 + rtn8 + rtn9 + rtn10;
  if(check  == -10)
 {
    alert("패스워드에 특수 문자를 넣어주세요.");

    return;
 }

Posted by 숏퐁숑
, |

최근에 달린 댓글

글 보관함