ORACLE database PROFILE - sql

How to turn off passwords verification in profile?

For the password verification function, you need to run (assuming myprofile is the profile name used):
alter profile myprofile limit password_verify_function null;
For any other password limit, you need to run for the specific property (here password_life_time):
alter profile myprofile limit password_life_time unlimited;

Related

Oracle set schema password never expire

I have created the following query to check the status on the PASSWORD_LIFE_TIME field from dba_profiles table.
How I ensured that the password never expires was to do this. Is the alter profile query correct?
ALTER PROFILE my_profile LIMIT PASSWORD_LIFE_TIME UNLIMITED;
select du.USERNAME,du.profile, dp.LIMIT
from dba_users du
left outer join dba_profiles dp on dp.PROFILE = du.PROFILE
where du.USERNAME = 'SYSTEM' and resource_name LIKE 'PASSWORD_LIFE_TIME';
The alter profile query is correct. The password for the profile my_profile never expires due to password life time. You need to assign the profile my_profile to the user system with alter user system profile my_profile;

Prevent ORA-28000

I am using Oracle SQL Developer and I run into the ORA-28000 error and my account got blocked, but I resolved it from SQL plus by using the following commands:
SQL> alter user user1 account unlock;
SQL> grant connect, resource to user1;
The thing is that I want to prevent this from happening again. Where can I see the threshold of the failed login attempts that exists so that I would either raise it or delete it completely?
In the sql developer, menu in the Users option, you can edit the user and edit the amount of attempts, if the password expires, etc. However I can only log in with the system user, sys could not connect.
FAILED_LOGIN_ATTEMPTS and similar are properties of the profile associated with your user. You can check the settings with this query:
select u.profile
, p.resource_name
, p.limit
from dba_users u
join dba_profiles p
on u.profile = p.profile
where p.resource_type = 'PASSWORD';
These limits are set for the profile: you can change them but the new limits will cascade to all users with this profile:
alter profile whatever limit FAILED_LOGIN_ATTEMPTS 12;
Alternatively you can modify the user so it has a more forgiving profile:
alter user joesoap profile default;

In Oracle database, how do I remove the expiration date for my HR user?

I'm following the dir. here on this link :
How do I turn off Oracle password expiration?
But it's not letting my remove the expiry date for my HR user :
Here is what I tried (and a screenshot of ouput):
SELECT profile from DBA_USERS where username = 'HR';
And then I run :
ALTER profile 'HR' limit password_life_time UNLIMITED;
It gives me back :
ERROR at line 1: ORA-00931: missing identifier
This code worked for me:
ALTER PROFILE DEFAULT LIMIT password_life_time UNLIMITED;

how to disable simultaneous connections by one user on oracle

i am using oracle 12, and hoping to find how can i enable or disable simultaneous connections for my database for each user.
i found codes regarding dispatchers and other ones including the following codes:
SHARED_SERVER_SESSIONS
MAX_DISPATCHERS
CONNECTIONS
SESSIONS
POOL
in addition to other codes that didn't find suitable for my case .Can anyone help ?
Create a new profile as
CREATE PROFILE <profile_name> LIMIT
SESSIONS_PER_USER 1
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL <some_value>
CONNECT_TIME <some_value>
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL <some_value>
PRIVATE_SGA <some_value>
COMPOSITE_LIMIT <some_value>;
note: choose other parameters as per requirement, you can get current profile parameter values from dba_profile view and use them in the above query. Before that get the profile name of the user using below query
SELECT profile FROM dba_users WHERE username = <user_name>;
Then ALTER USER
ALTER USER <user_name> PROFILE <profile_name>;

Oracle: how to set user password unexpire? [duplicate]

This question already has answers here:
How do I turn off Oracle password expiration?
(6 answers)
Closed 9 years ago.
There is some construction
ALTER USER scott PASSWORD EXPIRE
But how can I similair set password to unexpired state?
The following statement causes a user's password to expire:
ALTER USER user PASSWORD EXPIRE;
If you cause a database user's password to expire with PASSWORD EXPIRE, then the user (or the DBA) must change the password before attempting to log in to the database following the expiration. Tools such as SQL*Plus allow the user to change the password on the first attempted login following the expiration.
ALTER USER scott IDENTIFIED BY password;
Will set/reset the users password.
See the alter user doc for more info
If you create a user using a profile like this:
CREATE PROFILE my_profile LIMIT
PASSWORD_LIFE_TIME 30;
ALTER USER scott PROFILE my_profile;
then you can change the password lifetime like this:
ALTER PROFILE my_profile LIMIT
PASSWORD_LIFE_TIME UNLIMITED;
I hope that helps.
While applying the new profile to the user,you should also check for resource limits are "turned on" for the database as a whole i.e.RESOURCE_LIMIT = TRUE
Let check the parameter value.
If in Case it is :
SQL> show parameter resource_limit
NAME TYPE VALUE
------------------------------------ ----------- ---------
resource_limit boolean FALSE
Its mean resource limit is off,we ist have to enable it.
Use the ALTER SYSTEM statement to turn on resource limits.
SQL> ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;
System altered.