2011-10-12 8 views
11

나는 oracle을 처음 사용합니다. 데이터베이스에서 예약 된 작업을 가져와야합니다. 데이터베이스에서 실행중인 예약 된 작업을 어떻게 나열 할 수 있습니까?

나는
DBA_SCHEDULER_JOBS, 
DBA_SCHEDULER_SCHEDULES, DBA_SCHEDULER_PROGRAMS, 
DBA_SCHEDULER_JOB_CLASSES, DBA_JOBS. 

를 조회하지만 ALL_JOBS을 조회하고 어떤 행이 검색되지 USER_JOBS 때 오라클은 오류

"ORA-00942: table or view does not exist". 

를 발행합니다. 어떤 테이블을보아야하는지 제안 해주세요.

답변

11

DBA보기가 제한됩니다. 따라서 DBA 또는 이와 유사한 권한을 가진 사용자로 연결되어 있지 않으면 쿼리 할 수 ​​없습니다.

ALL 뷰는 사용자가 볼 수있는 정보를 표시합니다. 일반적으로 추가 권한이없는 한 제출 한 작업입니다.

필요한 권한은 관리 가이드에 정의되어 있습니다. Find out more.

그래서 DBA 계정이 필요하거나 필요한 정보에 액세스하는 것에 대해 DBA 팀과 채팅해야합니다.

+10

기술 :'ALL_SCHEDULER_JOBS * FROM를 선택합니다'. –

1

때문에 강력한 역할이 피부를 허용 을 사용하여 코드를 임의의 사용자으로 실행하려면 개별 Scheduler 시스템 권한을 대신 부여하는 것이 좋습니다. 오브젝트 및 시스템 권한은 일반 SQL 권한 부여 구문을 사용하여 부여됩니다. 데이터베이스 관리자가 다음 문을 실행하는 경우의 예가 있습니다.

GRANT CREATE JOB TO scott;

이 문이 실행 된 후 scott은 그의 스키마에서 작업, 일정 또는 프로그램을 만들 수 있습니다. 오히려 설명서를 읽을 줄 경우

http://docs.oracle.com/cd/B19306_01/server.102/b14231/schedadmin.htm#i1006239

관련 문제