الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

منع المستخدمين الدخول عن طريق Sqlplus

Featured Replies

بتاريخ:

الأخوة الزملاء نرجوا التكرم من من المساعدة في كيفية جعل المستخدمين لا يمكن يدخل قاعدة البيانات الا عبر Application

بتاريخ:

السلام عليكم
بامكانك عمل Trigger على مستوى الداتابيز بعد اضافة يوزر جديد وباسوورد يتم تشفير اليوزر و الباسوورد او اضافة مقطع معين لها...
وعند العمل على النظام يتم التشييك على الباسوورد او اليوزر الخاص بالنظام وليس اليوزر المشفر..
موفق

تم تعديل بواسطة PALI.ORACLE

بتاريخ:

السلام عليكم

ياريت حد ياجماعة يوضح لنا الموضوع ده شوية

لانه موضوع فعلا مهم

وجزاكم الله كل خير

  • بعد 2 أسابيع...
بتاريخ:
  • كاتب الموضوع

يمكن اخي العزيز توضح بشكل متسلسل

بتاريخ:

You can try this code , i tested long time before on oracle9i , please try to test and modified on test environments before to apply to production 
CREATE OR REPLACE TRIGGER on_logon
AFTER LOGON ON DATABASE
DECLARE

--Declare a cursor to find out the username and the program
--the user is connecting with.
CURSOR user_cur IS SELECT username, program FROM v$session;
--Assign the cursor to a PL/SQL record.
user_rec user_cur%ROWTYPE;

v_host VARCHAR2(64);
v_CLIENT_INFO  VARCHAR2(64);
v_sessionsid  NUMBER(10);
V_SESSIONMYSTAT NUMBER(10);
BEGIN select sys_context('userenv','host')
into v_host FROM DUAL;

select sys_context('USERENV', 'CLIENT_INFO')
into v_CLIENT_INFO FROM DUAL;

select sys_context('USERENV', 'SESSIONID')
into v_sessionsid FROM DUAL;

SELECT DISTINCT SID 
INTO V_SESSIONMYSTAT FROM V$MYSTAT;

INSERT INTO scott.AUDIT_LOGON VALUES (v_sessionsid,v_host,v_CLIENT_INFO,V_SESSIONMYSTAT);

  OPEN user_cur;

--Take each record retrieved by the cursor and place it into --the PL/SQL record.  Exit the loop if there are no more
--records found.  Test to make sure that the user is
--actually able to connect with the program and if not, 
--terminate the login.
  LOOP
FETCH user_cur INTO user_rec; EXIT WHEN user_cur%NOTFOUND;
IF user_rec.username = 'SCOTT' AND upper(user_rec.program) NOT IN ('SQLPLUSW.EXE')
THEN
   RAISE_APPLICATION_ERROR(-20001, 'You are not allowed to login');
END IF;
  END LOOP;

CLOSE user_cur;
--commit;
END;

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.