Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
Tags
- PostgreSQL 스키마 관리
- PostgreSQL 테이블스페이스 생성 삭제
- PostgreSQL Backup and Recovery
- pg_basebackup
- multitenant
- PostgreSQL Parameter
- pg_dumpall
- ogg-01028
- 아카이브로그 삭제
- db upgrade
- ogg 설치 방법
- 19c tde
- pgcrypto
- 다른계정에서 dblink 삭제방법
- PostgreSQL Parameter 설정 방법
- PostgreSQL 아키텍처
- Linux
- table lock 조치 방법
- sql문 짤릴 때
- ogg 구성
- psql 복구
- oracle
- Goldengate
- PostgreSQL 테이블스페이스 관리
- PostgreSQL Install
- sql문 전체 출력 방법
- oracle error
- PostgreSQL Admin
- dblink 삭제
- OGG
Archives
- Today
- Total
인성장
[Oracle] SYS 계정에서 일반 계정 DB LINK 삭제 방법 본문
SYS계정에서 일반 계정에 생성된 Private DB LINK 삭제 방법
일반 계정에서 생성된 Private Database Link에 대해서는 일반 Drop database link 명령문으로는 다른 계정에서 삭제할 수 없습니다.
SYS계정에서 SML 계정의 PRIVATE DB LINK - SML_LINK 삭제 시도
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Apr 29 16:11:44 2025
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> set line 200
set pages 300
col db_link for a20
col host for a20
select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
------------------------------ -------------------- ------------------------------ -------------------- ------------------
SYS ORCL11_LINK REMOTE_USER ORCL11 24-FEB-25
SYS ORA11EE_LINK REMOTE_USER ORA11EE 24-FEB-25
PUBLIC ORCL_SYS SYSTEM ORCL19_KEJ 14-SEP-23
SML SML_LINK TRUIN DBLINKTEST 24-FEB-25
4 rows selected.
SQL> drop database link SML_LINK;
drop database link SML_LINK
*
ERROR at line 1:
ORA-02024: database link not found
SQL> drop database link SML.SML_LINK;
drop database link SML.SML_LINK
*
ERROR at line 1:
ORA-02024: database link not found
SQL>
부득이하게 해당 계정으로 접속하여 DB LINK 삭제가 어려울 시, 아래와 같은 방법으로 SYS 계정에서 일반계정들의 DB LINK를 삭제할 수 있습니다.
SYS 계정에서 프로시저 생성 후 일반 계정 DBLINK 삭제
-- DB LINK 삭제 프로시저 생성
SQL> Create or replace procedure drop_dbLink(schemaName varchar2, dbLink varchar2 ) is
plsql varchar2(1000);
cur number;
uid number;
rc number;
begin
select
u.user_id into uid
from dba_users u
where u.username = schemaName;
plsql := 'drop database link "'||dbLink||'"';
cur := SYS.DBMS_SYS_SQL.open_cursor;
SYS.DBMS_SYS_SQL.parse_as_user(
c => cur,
statement => plsql,
language_flag => DBMS_SQL.native,
userID => uid
);
rc := SYS.DBMS_SYS_SQL.execute(cur);
SYS.DBMS_SYS_SQL.close_cursor(cur);
end;
/
Procedure created.
-- drop_dblink('SCHEMA NAME','DBLINK NAME') 형식으로 삭제할 DBLINK 입력
SQL> exec drop_dbLink( 'SML', 'SML_LINK' );
PL/SQL procedure successfully completed.
-- 삭제 완료
SQL> select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
------------------------------ -------------------- ------------------------------ -------------------- ------------------
SYS ORCL11_LINK REMOTE_USER ORCL11 24-FEB-25
SYS ORA11EE_LINK REMOTE_USER ORA11EE 24-FEB-25
PUBLIC ORCL_SYS SYSTEM ORCL19_KEJ 14-SEP-23
3 rows selected.
SQL>
작업 완료 후, 해당 프로시저는 삭제해주셔도 됩니다.
SQL> drop procedure drop_dblink;
Procedure dropped.
'Oracle > Admin' 카테고리의 다른 글
[Oracle] 멀티테넌트(Multitenant) 관리 및 사용법 (2) | 2024.09.13 |
---|---|
[Oracle] Timezone Upgrade 방법 (1) | 2024.07.23 |
[Oracle] 19c TDE 구성 방법 (0) | 2024.06.19 |
[Oracle] Lock Table & Session 조치 방법 (2) | 2024.05.02 |
[Oracle] sqlplus에서 SQL문 전체 조회 방법 (FULLTEXT) (2) | 2024.05.02 |