oracle user security

I have a reporting database which is refreshed every day from Production. Users like to keep their existing passwords and roles and privileges assigned to them. How this task can be achieved in Oracle 11g rel 2.

Elaborate: Production database :- CRDPRD  
                   Reporting database:-     CRDRPT  
Reporting database is refreshed every night from Production using RMAN backup and we have a cron script (shell script runs on the database) which runs everyday on the reporting database (CRDRPT)  after the refresh. The password and usernames are hard-coded with username and a common password to every users. All users have same role (read only) except a few which has update privileges also. Most users are created on the reporting database  (from the same shell script) as only some users are present in the Production environment.
The issue is if some users change  their passwords then the next day they will again be overwritten by the script with the default passwords. They want their passwords be retained unless they change it.
Please let me know the best way to achieve this task?
OranewAsked:
Who is Participating?
 
MikeOM_DBAConnect With a Mentor Commented:
Do you have standby db?
Then you can avoid the daily re-fresh by creating a Zero Data Reporting Database
;)
0
 
sdstuberConnect With a Mentor Commented:
you can simply copy the password columns from sys.user$  (password and spare4)

I don't mean select and update the sys table directly.  But select them from prod db, then construct alter user statements using those values.


for more information on how oracle stores passwords, see this article

http://www.experts-exchange.com/Database/Oracle/A_855-How-Oracle-Stores-Passwords.html
0
 
sdstuberConnect With a Mentor Commented:
or, use dbms_metadata to extract the user information including the password hashes and then use those to construct alter user statements on the reporting db
0
 
OranewAuthor Commented:
I was looking something to construct a sql with the user role and the password and run it in the refresh instance.We have standby for the DR purposes but this reporting instance have different users than production and existing users also have different roles in production and reporting with different passwords. Great answers though !! Really appreaciate your help. But very good idea for the standby as well. I liked it.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.