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
- 23ai
- Archive delete
- ogg-01028
- ogg 구성
- PostgreSQL 아키텍처
- psql 복구
- Linux
- pgcrypto
- ogg 23ai
- oracle
- ogg 설치 방법
- multitenant
- sql문 짤릴 때
- dblink 삭제
- PostgreSQL Parameter
- PostgreSQL Backup and Recovery
- PostgreSQL Install
- 19c tde
- pg_dumpall
- PostgreSQL Admin
- OGG
- Goldengate
- db upgrade
- pg_basebackup
- table lock 조치 방법
- replicat
- oracle error
- sql문 전체 출력 방법
- 다른계정에서 dblink 삭제방법
- PostgreSQL Parameter 설정 방법
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] Active Data Guard 구성 후, Standby DB Archive log file 관리 방법 (1) | 2025.09.18 |
|---|---|
| [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 |