0

Is it possible to store first-/last-/fullnames and possibly additional information of/for oracle user accounts in oracle?

I look at the table dba_users but it does not contain such information.

I need to make sure that the oracle accounts are mapped to a unique person. So besides the names, ideally I need to have a core identity information or E-Mail address on top of the names.

How can this be ensured in oracle?

3 Answers 3

1

If you want to match up db account name with other information, you'd have to create your own table to track that. Oracle doesn't have a place to do it for you.

There are a couple of ways to enforce a single user account for each real person:

  1. Naming Convention: use a common naming convention for your database accounts that is built on some form of first and last name of the user: e.g. john_smith or smithj.

  2. Paperwork: make each user fill out an account request form and validate the information provided before creating the account. Keep hardcopies of the forms or store the info electronically and map it to the account name in a custom table. Sounds a bit like this is where you're headed already, and is definitely the least complicated method.

  3. If your database is running on Windows and you have centralized user accounts (as with Active Directory), you can use Windows authentication, as described here: https://docs.oracle.com/en/database/oracle/oracle-database/19/ntqrf/authenticating-database-users-with-windows.html#GUID-6406D5F4-32FD-4D16-929F-6E5893926C29

  4. If you're not afraid of adding a little complexity, you could use PKI authentication with self-signed certificates instead of password authentication. That way each user gets their own certificate, which can only be mapped to a single account. See here: https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-secure-sockets-layer-authentication.html#GUID-6AD89576-526F-4D6B-A539-ADF4B840819F

2
  • Thanks. Strange to see oracle is not capable of storing additional information for db Users.
    – Magier
    Commented Nov 11, 2022 at 23:45
  • Oracle's concept of a "user" is a little different than some other databases, which distinguish between a "login" and a "schema" with roles like "owner" or "read only". A "user" in Oracle does not need to be (and often is not) tied to an actual person. For those that are, most systems make usernames some combination of first and last names or initials and embed the kind of info you're talking about directly into the account name.
    – pmdba
    Commented Nov 12, 2022 at 3:47
0

user accounts are unique in the database. you cannot create two or more users with the same account name. So to keep the mapping one to one ( account in db to a person ), which is using this accoutn, is to ensure that the password is used only by his person ;) no need for more informations.

1
  • Hello Marcel. I was asking quite specific. All you give is advice that does not answer my question. I have a n:1 relation between ab users and individuals, for good reasons.
    – Magier
    Commented Nov 11, 2022 at 23:43
0

I need to make sure that the oracle accounts are mapped to a unique person.

Your company Security Policy should dictate that accounts are issued to individuals for use only by that individual and not to be shared between people. A naming convention should also be specified. That should be enough.

More importantly, who is creating these accounts?
There need to be proper Procedures in place to govern the creation (and destruction) of these accounts. (How many database accounts have you got for people that have left the company? Your answer should be none).

Also, what makes you think that everybody has "first-/last-/fullnames"?
Have a read of this partly entertaining, but ultimately true, article:
Falsehoods programmers believe about Names

1
  • Hi Phil. Thanks. I am not looking for a solution for „everybody“.
    – Magier
    Commented Nov 11, 2022 at 23:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.