728x90

1. 상태확인 

> show slave status\G

Last_Errno 확인 - 1062

 

2. binary log 확인

Master_Log_File, Exec_Master_Log_Pos :  상대 서버 binary log 

 

3. 상대 서버의 binary 파일 확인

$ ps -ef | grep mysql

--log-error=$DATA영역/LOG/binary 확인

해당 binary log file 확인

 

4. binary log 변경

mysqlbinlog binary_log_file_name > output_file_name.sql
mysqlbinlog binary_log_file_name  --start-position=binary_log_pos > output_file_name.sql

ex) mysqlbinlog mysql-bin.000001 -v > 0001.sql

 

5. 해당 쿼리 확인 후 조치 

vi output_file_name.sql

 

6. replication skip 조치

> stop slave;
> set global sql_slave_skip_counter=1;
> start slave;

 

7. 상태확인 

> show slave status\G

728x90

728x90

-- 버전 확인
rpm -qa | grep -i mysql

-- 디비 프로세스 이력 확인
ps -ef | grep mysqld

-- start한 history 명령어 확인
history | egrep 'service|start'
 
-- MYSQL 중지 명령어

1. 패스워드 확인 가능 경우
mysqladmin -uroot -p shutdown


2. 패스워드 확인되지 않은 경우
mysqld_safe, mysqld 프로세스 kill
kill [mysqld_safe PID] [mysqld PID]

-- MYSQL 기동 명령어

1. 기동 파일 및 이력 확인되지 않는 경우, OS Service 등록이 안 되어 있는 경우 - 기존 safe 프로세스 이력으로 기동
nohup $basedir/bin/mysqld_safe —datadir=$datadir —pid=[PID] &

2. 기동 파일 확인 또는 생성한 경우, OS Service 등록되어 있는 경우
service mysql status
service mysql start

 

3. 패스워드 분실 시 skip-grant-tables 옵션 추가
nohup $basedir/bin/mysqld_safe —datadir=[DATA_DIR] —pid=[PID] —skip-grant-tables &
nohup $basedir/bin/mysqld —basedir=[BASE_DIR] —datadir=[DATA_DIR] ... —skip-grant-tables &


-- OS Service 등록 (systemctl)
1. 기동 파일 생성  
cp $basedir/support-files/mysql.server /etc/init.d/mysql

 

2. 기동 파일 내용 변경
vi /etc/init.d/mysql
basedir=$basedir
datadir=$datadir

 

3. MYSQL  서비스 기동 
service mysql status
service mysql stop

4. 기동 프로세스 확인
ps -ef | grep mysqld

5. 디비 기동 간 에러로그 특이사항 여부 확인
ps -ef | grep mysqld의 에러로그 경로에서 확인

-- ROOT 패스워드 변경
1. DB 접속 확인
mysql -uroot 
select user,host,password from mysql.user;

2. 계정 이력 확인
show grants for ‘root’@localhost;

3.  패스워드 변경
update mysql.user set password=password(‘[NEW_PASS]’) where user=‘root’ and host=‘localhost’;
flush privileges;

4. DB 재기동

728x90

'MYSQL' 카테고리의 다른 글

REPLICATION ERROR 1062  (0) 2024.02.21
TABLE, INDEX, 권한 조회  (0) 2024.02.21
[MYSQL] 비밀번호 복잡도 정책 설정 미흡 - 보안 조치  (0) 2024.01.02
TABLE COLUMN 조회  (0) 2023.01.30
TABLE SCHEMA 조회  (0) 2023.01.12
728x90
oracle@rac02:/home/> impdp sys tables=test.test directory=DATAPUMP \
> dumpfile=expdp_test240124.dmp \
> cluster=n \
> content=DATA_ONLY \
> job_name=impdp_test240124 \
> logfile=impdp_test240124.log 

Import: Release 11.2.0.4.0 - Production on Wed Jan 24 16:13:43 2024

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Password: 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Master table "SYS"." impdp_test240124" successfully loaded/unloaded
Starting "SYS"." impdp_test240124":  sys/******** AS SYSDBA tables= test.test
directory=DATAPUMP dumpfile= expdp_test240124.dmp cluster=n content=DATA_ONLY job_name= impdp_test240124
logfile= impdp_test240124 .log 
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
ORA-31693: Table data object "test"."test" failed to load/unload and is being skipped due to error:
ORA-06502: PL/SQL: numeric or value error
Job "SYS"." impdp_test240124" completed with 1 error(s) at Wed Jan 24 16:14:08 2024 elapsed 0 00:00:12

 

Bug 18665004 - ORA-31693/ORA-6502 from Datapump import (impdp) into an existing table having a LONG or LONG RAW column (Doc ID 18665004.8)

12.2 하위버전 버그!!!

 

-- 해결방안 

INDEX 싹 다 지우고 TABLE만 생성한 상태에서 IMPDP시 데이터 정상 인입됨.

후에 INDEX 생성!

728x90

'ORACLE' 카테고리의 다른 글

ORA-14260 incorrect physical attribute specified for this partition  (0) 2024.03.04
AQ table MOVE TABLESPACE  (1) 2024.02.21
전화번호 문자 제거  (0) 2023.11.17
HCC COMPRESS  (0) 2023.10.27
ORA-01722 데이터 타입 상이할 경우  (0) 2023.05.30
728x90

-- 설정 파일 적용 파라미터 추가 시 재기동이 필요함 
     vi /etc/my.cnf

1. 플러그인 설치
mysql> install plugin validate_password soname ‘validate_password.so’;

2. 파라미터 변경
mysql> show global variables like '%validate_password%%';

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    | 0      |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | STRONG |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.20 sec)

 

-- 파라미터 변경
mysql> set global validate_password_policy='STRONG';

728x90

'MYSQL' 카테고리의 다른 글

TABLE, INDEX, 권한 조회  (0) 2024.02.21
MYSQL 기동&정지, 서비스 등록, 패스워드 변경  (0) 2024.01.25
TABLE COLUMN 조회  (0) 2023.01.30
TABLE SCHEMA 조회  (0) 2023.01.12
USER 생성  (0) 2022.10.19
728x90

-- -(하이픈), 공백, \. 제거 
SELECT REGEXP_REPLACE(COULMN_NAME, '(-| |\.)','') FROM 테이블;

728x90

'ORACLE' 카테고리의 다른 글

AQ table MOVE TABLESPACE  (1) 2024.02.21
ORA-31693 ORA-06502  (0) 2024.01.25
HCC COMPRESS  (0) 2023.10.27
ORA-01722 데이터 타입 상이할 경우  (0) 2023.05.30
DEPENDENCY CHECK  (1) 2023.05.26
728x90

-- MSSQL 현재 CONNECT되있는 세션
-- SPID < 50 (내부 프로세스)
SELECT *
FROM SYSPROCESSES 
WHERE SPID > 50;

--현재 LOCK 정보 보기
EXEC SP_LOCK;

-- 현재 수행중인 SQL 구문
SELECT T.* , SESSION_ID 
FROM SYS.DM_EXEC_REQUESTS R
CROSS APPLY SYS.DM_EXEC_SQL_TEXT(R.SQL_HANDLE) T
WHERE SESSION_ID = 52

--LOCK 종류중 OBJECT_ID 구분
SELECT *
FROM SYS.OBJECTS 
WHERE ID = 'DB_ID' OR 'OBJECT_ID OR TABLE_ID';

 

-- 현 LOCK 세션 확인 
EXEC SP_LOCK;

 

-- OBJECT 정보 확인
SELECT * FROM SYS.OBJECTS
WHERE OBJECT_ID ='1467152272';

SELECT * FROM SPT_VALUES;


SELECT * FROM SYS.DATABASES;

SELECT 
REQUEST_SESSION_ID AS SESSION_ID,
RESOURCE_LOCK_PARTITION,
REQUEST_STATUS,
DB_NAME(RESOURCE_DATABASE_ID) DB_NAME
 FROM SYS.DM_TRAN_LOCKS;
 

-- BLOCKING 세션 확인
SELECT * FROM SYS.SYSPROCESSES
WHERE BLOCKED > 0;

728x90

'MSSQL' 카테고리의 다른 글

[MSSQL] 인덱스 파편화, REBUILD 명령어 추출 쿼리  (0) 2024.12.27
[MSSQL] 인덱스 조회 및 누락된 인덱스 확인  (0) 2024.12.27
SQL 실행 이력 조회  (0) 2023.05.16
VERSION  (0) 2023.05.12
CTAS  (0) 2023.05.12
728x90

-- 파티션 테이블 조회

SELECT TABLE_OWNER, TABLE_NAME, PARTITION_NAME, COMPRESSION, COMPRESS_FOR
FROM DBA_TAB_PARTITIONS;

 

-- 일반 테이블 조회 
SELECT OWNER, TABLE_NAME, COMPRESSION, COMPRESS_FOR
FROM DBA_TABLES;

 

-- 파티션 테이블 압축
ALTER TABLE TABLE_NAME MOVE PARTITION PARTITON_NAME COMPRESS FOR QUERY LOW;
ALTER TABLE TABLE_NAME MOVE PARTITION PARTITON_NAME COMPRESS FOR QUERY HIGH;
ALTER TABLE TABLE_NAME MOVE PARTITION PARTITON_NAME COMPRESS FOR ARCHIVE LOW;
ALTER TABLE TABLE_NAME MOVE PARTITION PARTITON_NAME COMPRESS FOR ARCHIVE HIGH;

728x90

'ORACLE' 카테고리의 다른 글

ORA-31693 ORA-06502  (0) 2024.01.25
전화번호 문자 제거  (0) 2023.11.17
ORA-01722 데이터 타입 상이할 경우  (0) 2023.05.30
DEPENDENCY CHECK  (1) 2023.05.26
DB LINK 생성/조회  (0) 2023.03.31
728x90

ORA-01722 수치가 부적합합니다.

 

VARCHAR2에 숫자가 기입되면 자동으로 NUMBER으로 변환

VARCHAR2에 날짜가 기입되면 자동으로 DATE 타입으로 변환


VARCHAR2 <-> NUMBER 때매 나는 에러인줄 알고 시도 한 것들....

1. TO_NUMBER 바꿔도 남
SELECT TO_NUMBER(ID) ID FROM TEST.TEST1; -> ID 컬럼은 VARCHAR2

2. 에러 발생 시 DEFAULT 값으로 변환 출력
SELECT TO_NUMBER(ID DEFAULT -1 ON CONVERSION ERROR)
FROM TEST.TEST2;

3. NUMBER 아닌 값은? 나옴... 젠장...
SELECT ID
FROM TEST.TEST2
WHERE VALIDATE_CONVERSION(ID AS NUMBER) = 0;

 

0이면 NUMBER가 아닌 값 출력
1이면 NUMBER 값 출력

728x90

'ORACLE' 카테고리의 다른 글

전화번호 문자 제거  (0) 2023.11.17
HCC COMPRESS  (0) 2023.10.27
DEPENDENCY CHECK  (1) 2023.05.26
DB LINK 생성/조회  (0) 2023.03.31
계정 권한 관리/조회  (0) 2023.03.31
728x90

-- DEPENDENCY CHECK

-- BIND 변수 

OWNER - 변경할 OBJECT OWNER 

NAME - 변경할 OBJECT NA

 

SELECT '1 Level' LV, D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND D.REFERENCED_OWNER = :OWNER   
   AND D.REFERENCED_NAME = :NAME
UNION ALL   
SELECT '2 Level' LV,D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
    SELECT D.OWNER ,D.NAME 
FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND D.REFERENCED_OWNER = :OWNER    
   AND D.REFERENCED_NAME = :NAME
)
UNION ALL
SELECT '3 Level' LV,D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
    SELECT D.OWNER ,D.NAME 
FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
WHERE A.OWNER = D.OWNER
AND A.OBJECT_NAME = D.NAME
AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
SELECT D.OWNER ,D.NAME 
FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
WHERE A.OWNER = D.OWNER
AND A.OBJECT_NAME = D.NAME
AND D.REFERENCED_OWNER = :OWNER      
AND D.REFERENCED_NAME = :NAME
)
)
UNION ALL
SELECT '4 Level' LV,D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
(
    SELECT D.OWNER ,D.NAME 
    FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
     WHERE A.OWNER = D.OWNER
       AND A.OBJECT_NAME = D.NAME
       AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
        SELECT D.OWNER ,D.NAME 
        FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
         WHERE A.OWNER = D.OWNER
           AND A.OBJECT_NAME = D.NAME
           AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
                SELECT D.OWNER ,D.NAME 
                FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
                 WHERE A.OWNER = D.OWNER
                   AND A.OBJECT_NAME = D.NAME
                   AND D.REFERENCED_OWNER = :OWNER    
                   AND D.REFERENCED_NAME = :NAME 
)
)
);

 



728x90

'ORACLE' 카테고리의 다른 글

HCC COMPRESS  (0) 2023.10.27
ORA-01722 데이터 타입 상이할 경우  (0) 2023.05.30
DB LINK 생성/조회  (0) 2023.03.31
계정 권한 관리/조회  (0) 2023.03.31
SEQUENCE  (0) 2023.01.20

+ Recent posts