[-문구-Compeople-문구-]

+::DataBase::/Oracle2023. 1. 11. 17:02

1. 기본절차 (서비스시작)
$ tnsping localhost       //  서비스 정상 작동확인, 오라클 Ping 확인 
$ su - oracle             // 오라클계정으로 로그인한다.
$ sqlplus / as sysdba     // sqlplus로 오라클 접속
SQL> startup  // 오라클 DB를 시작한다.
SQL> exit  // sqlplus 빠져나온다.
$ lsnrctl start           // 오라클 리스너 시작 (오라클 계정상태에서 확인)
$ tnsping localhost       //  오라클 Ping 확인

2. 기본절차 (서비스종료)
$ su - oracle             // 오라클계정으로 로그인한다.
$ lsnrctl stop            // 오라클 리스너 종료
$ sqlplus / as sysdba     // sqlplus로 오라클 접속
SQL> shutdown immediate
SQL> exit
$ tnsping localhost       //  오라클 Ping 확인 

3. 기본절차 (재시작)
$ su - oracle             // 오라클계정으로 로그인한다.
$ lsnrctl stop            // 오라클 리스너 종료
$ sqlplus / as sysdba     // sqlplus로 오라클 접속
SQL> shutdown immediate
SQL> startup
SQL> exit
$ lsnrctl start           // 오라클 리스너 시작
$ tnsping localhost       //  오라클 Ping 확인 

2-1. 이슈사항
Sqlplus 및 lsnrctl 명령어 확인 불가시
.bash_profile 재등록 필요(oracle 계정으로)
$ cd ~
$ source .bash_profile

Posted by Compeople
+::DataBase::/Oracle2018. 8. 17. 16:07

** 1.암호 만료로 인한 접속불가
  => 콘솔에서 기존 암호를 입력하며, 암호가 만료됐다고 나오고, 암호를 변경하라고 나온다
  => 암호를 변경해도 되고, 기존암호를 한번더 입력해도 상관없다.

[root@na***db /]# su - oracle
[oracle@na**db ~]$ sql

SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 17 15:16:00 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL> conn smarttourdb 
Enter password:
ERROR:
ORA-28001: the password has expired


Changing password for smarttourdb
New password:
Retype new password:
Password changed
Connected.


** 2.암호 변경주기 변경

[oracle@na***db ~]$ sql

SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 17 15:29:17 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL> ALTER PROFILE DEFAULT LIMIT
  2  FAILED_LOGIN_ATTEMPTS 10
  3  PASSWORD_GRACE_TIME UNLIMITED
  4  PASSWORD_LIFE_TIME UNLIMITED
  5  PASSWORD_LOCK_TIME 1/1440;

Profile altered.

SQL> set pages 200 lines 200
SQL> col PROFILE for a20
SQL> col RESOURCE_NAME for a30
SQL> col RESOURCE_NAME for a30
SQL> select * from dba_profiles;

PROFILE              RESOURCE_NAME                  RESOURCE_TYPE            LIMIT
-------------------- ------------------------------ ------------------------ ------------------------------------------------------------------------------------------------------------------------
MONITORING_PROFILE   COMPOSITE_LIMIT                KERNEL                   DEFAULT
DEFAULT              COMPOSITE_LIMIT                KERNEL                   UNLIMITED
MONITORING_PROFILE   SESSIONS_PER_USER              KERNEL                   DEFAULT
DEFAULT              SESSIONS_PER_USER              KERNEL                   UNLIMITED
MONITORING_PROFILE   CPU_PER_SESSION                KERNEL                   DEFAULT
DEFAULT              CPU_PER_SESSION                KERNEL                   UNLIMITED
MONITORING_PROFILE   CPU_PER_CALL                   KERNEL                   DEFAULT
DEFAULT              CPU_PER_CALL                   KERNEL                   UNLIMITED
MONITORING_PROFILE   LOGICAL_READS_PER_SESSION      KERNEL                   DEFAULT
DEFAULT              LOGICAL_READS_PER_SESSION      KERNEL                   UNLIMITED
MONITORING_PROFILE   LOGICAL_READS_PER_CALL         KERNEL                   DEFAULT
DEFAULT              LOGICAL_READS_PER_CALL         KERNEL                   UNLIMITED
MONITORING_PROFILE   IDLE_TIME                      KERNEL                   DEFAULT
DEFAULT              IDLE_TIME                      KERNEL                   UNLIMITED
MONITORING_PROFILE   CONNECT_TIME                   KERNEL                   DEFAULT
DEFAULT              CONNECT_TIME                   KERNEL                   UNLIMITED
MONITORING_PROFILE   PRIVATE_SGA                    KERNEL                   DEFAULT
DEFAULT              PRIVATE_SGA                    KERNEL                   UNLIMITED
MONITORING_PROFILE   FAILED_LOGIN_ATTEMPTS          PASSWORD                 UNLIMITED
DEFAULT              FAILED_LOGIN_ATTEMPTS          PASSWORD                 10
MONITORING_PROFILE   PASSWORD_LIFE_TIME             PASSWORD                 DEFAULT
DEFAULT              PASSWORD_LIFE_TIME             PASSWORD                 UNLIMITED
MONITORING_PROFILE   PASSWORD_REUSE_TIME            PASSWORD                 DEFAULT
DEFAULT              PASSWORD_REUSE_TIME            PASSWORD                 UNLIMITED
MONITORING_PROFILE   PASSWORD_REUSE_MAX             PASSWORD                 DEFAULT
DEFAULT              PASSWORD_REUSE_MAX             PASSWORD                 UNLIMITED
MONITORING_PROFILE   PASSWORD_VERIFY_FUNCTION       PASSWORD                 DEFAULT
DEFAULT              PASSWORD_VERIFY_FUNCTION       PASSWORD                 NULL
MONITORING_PROFILE   PASSWORD_LOCK_TIME             PASSWORD                 DEFAULT
DEFAULT              PASSWORD_LOCK_TIME             PASSWORD                 .0006
MONITORING_PROFILE   PASSWORD_GRACE_TIME            PASSWORD                 DEFAULT
DEFAULT              PASSWORD_GRACE_TIME            PASSWORD                 UNLIMITED

32 rows selected.

SQL>

 

Posted by Compeople
+::DataBase::/Oracle2014. 3. 27. 16:18

su - oracle

 

sqlplus "/as sysdba"


alter database datafile '/home/oradata/celadon/ltskorea.dbf' resize 500M;

 

 

Posted by Compeople
+::DataBase::/Oracle2014. 3. 27. 15:33

[oracle@gangjin bin]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
....
....
oracle:x:501:501::/oracle/product/11.2:/bin/bash
....
....

## Oracle Default .bash_profile
[oracle@gangjin /]$ cd /oracle/product/11.2/
[oracle@gangjin ~]$ cat .bash_profile
export PS1='[\u@\h \W]\$ '
export ORACLE_HOME=/oracle/product/11.2
export PATH=$PATH:$ORACLE_HOME/bin:.
export NLS_LANG=.AL32UTF8
export ORACLE_SID=celadon
alias sql='sqlplus "/as sysdba"'
export LANG=C
echo " =============================== "
echo " Oracle Database Start $ dbstart "
echo " Oracle Database Stop  $ dbstop  "
echo " Oracle Database SQL>  $ sql     "
echo " =============================== "

 

[oracle@gangjin ~]$ cd bin
[oracle@gangjin bin]$ pwd
/oracle/product/11.2/bin
[oracle@gangjin bin]$ ls -al dbst*
-rwxr-xr-x 1 oracle dba    68 Nov 17 02:19 dbstart
-rwxr-x--- 1 oracle dba 13855 Jan  1  2000 dbstart.old
-rwxr-xr-x 1 oracle dba   104 Nov 17 02:20 dbstop

 

## Oracle Start Script..
[oracle@gangjin bin]$ cat dbstart
#!/bin/sh
lsnrctl start
sqlplus "/as sysdba" <<EOF
startup
exit
EOF
[oracle@gangjin bin]$ pwd
/oracle/product/11.2/bin

 

## Oracle Stop Script..
[oracle@gangjin bin]$ cat dbstop
#!/bin/sh
lsnrctl stop
sqlplus "/as sysdba" <<EOF
alter system checkpoint;
shutdown immediate;
exit
EOF

 

 

Posted by Compeople
+::DataBase::/Oracle2012. 11. 6. 23:31
http://download.oracle.com/otn-pub/java/jdk/6u34-b04/jdk-6u34-linux-x64.bin
Posted by Compeople
+::DataBase::/Mysql2012. 10. 22. 21:06

1. 특정 데이터베이스의 특정 테이블 복구

root@localhost # myisamchk -r /MYSQL설치경로/데이터베이스명/테이블명.MYI

ex) test 데이터베이스의 test 테이블 복구시

myisamchk -r /usr/local/mysql/data/test/test.MYI

※ mysql 서버가 구동되지 않고 있어도 사용 가능.

 

2. 전체 데이터베이스 체크 및 복구

root@localhost # mysqlcheck -Aao --auto-repair -u root -p

※ mysql 서버가 구동되고 있어야 사용 가능

 

3. 쿼리를 이용한 테이블 복구

root@localhost # mysql -u root -p

> use 데이터베이스명;

> lock tables 테이블명 read;
> repair table 테이블명;
> unlock tables;
> check table 테이블명;

※ 깨진 테이블을 lock 걸고 복구 한다.

 

[출처] http://blog.naver.com/sihal7?Redirect=Log&logNo=110130817281

Posted by Compeople
+::DataBase::/Oracle2011. 10. 23. 22:35
-------------------------------------------------------------------------------------
※ 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 '부과대장키 ';
-------------------------------------------------------------------------------------

** http://www.modelingworld.co.kr/bbs/view.php?id=studyroom&no=6

Posted by Compeople
+::DataBase::/Oracle2011. 10. 23. 22:07

1. DB Startup
[oracle@edu-db db_1]$ su oracle
[oracle@edu-db db_1]$ sqlplus /nolog
SQL> conn sys/암호 as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1218968 bytes
Variable Size              96470632 bytes
Database Buffers          180355072 bytes
Redo Buffers                7168000 bytes
Database mounted.
Database opened.
SQL> exit

** or
[root@eduweb ~]# su - oracle
[eduweb:/home/oracle/product/10.2$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 월 8월 16 09:22:26 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

휴지 인스턴스에 접속되었습니다.

SQL> startup
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area 1073741824 bytes
Fixed Size                  1999864 bytes
Variable Size             322976776 bytes
Database Buffers          742391808 bytes
Redo Buffers                6373376 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.

2. DB listener start
[oracle@edu-db db_1]$ su oracle
[oracle@edu-db root]$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 04-AUG-2009 08:58:30

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /home/oracle/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /home/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /home/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=edu-db)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                04-AUG-2009 08:58:32
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File         /home/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=edu-db)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@edu-db root]$
 
3. 웹관리콘솔 시작
[oracle@edu-db db_1]$ su oracle
[oracle@edu-db db_1]$ emctl start dbconsole
TZ set to ROK
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://edu-db:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ....
........................ started.
------------------------------------------------------------------
Logs are generated in directory /home/oracle/oracle/product/10.2.0/db_1/edu-db_orcl/sysman/log


4. 테이블스페이스 이름 알아보는 쿼리
select tablespace_name,contents
from dba_tablespaces order by tablespace_name;


5. Shutdown (oracle 사용자모드에서..)
* 리스너종료

[eduweb:/home/oracle/product/10.2$ lsnrctl stop

LSNRCTL for Linux IA64: Version 10.2.0.1.0 - Production on 16-8¿ù -2010 09:50:05

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))에 연결되었습니다
명령이 성곡적으로 수행되었습니다

* 오라클종료
[eduweb:/home/oracle/product/10.2$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on ¿ù 8¿ù 16 09:50:16 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


다음에 접속됨:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> shutdown immediate

데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.

SQL> quit
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options에서 분리되었습니다.


Posted by Compeople
+::DataBase::/Mysql2011. 10. 18. 20:23

MYSQL 기본쿼리 / 추가, 수정, 삭제 / INSERT INTO, UPDATE, DELETE

1. 추가
- 구문
INSERT INTO [테이블명]([필드명1],[필드명2],[필드명n]) VALUES("[값1]", "[값2]","[값n]");
- 테스트 쿼리
mysql> insert into id(id,note) VALUES("elsys","elsys user");       
Query OK, 1 row affected (0.00 sec)

2. 수정
- 구문

- 테스트 쿼리
mysql> update id set note="LeeWoo" where id="compeople";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

3. 삭제
- 구문

- 테스트 쿼리
mysql> delete from id where id="compeople";
Query OK, 1 row affected (0.00 sec)


'+::DataBase:: > Mysql' 카테고리의 다른 글

MYSQL 테이블 복구 방법 3가지  (0) 2012.10.22
Posted by Compeople