Linux更改oracle用戶組實驗

---通常我們安裝oracle數據庫是建立oracle用戶。並且用戶加入dba組
--但是我們要改了oracle的dba組爲dba1 ,數據庫使用操作系統認證還能
--正常登錄嗎?
--回答是不行的。需要重新編譯下我們的oracle可執行文件
--下面是我的操作步驟。

1:查看oracle 用戶的具體情況,主組爲dba

[root@repositorydb gc-1024]# id oracle
uid=500(oracle) gid=501(oinstall) groups=501(oinstall),500(dba)


2:可以看到現在使用操作系統驗證登錄。是沒問題的2:可以看到現在使用操作系統驗證登錄。是沒問題的

[oracle@repositorydb ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 9月 27 15:28:39 2012

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> exit
Disconnected


3:修改 oracle 配置文件爲dba1.這裏目地是讓大家知道我講改變成了dba1組3:修改 oracle 配置文件爲dba1.這裏目地是讓大家知道我改變成了dba1組,這裏根本不起作用。只是標識一下。我們看到了是註釋

[oracle@repositorydb lib]$ vi $ORACLE_HOME/rdbms/lib/config.c


/*  SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access.  */
/*  Refer to the Installation and User's Guide for further information.  */

#define SS_DBA_GRP "dba1"
#define SS_OPER_GRP "dba"

4:編譯oracle 可執行文件

oracle@repositorydb lib]$ make -f ins_rdbms.mk config.o

/usr/bin/gcc  -O2   -I/u01/oracle/db_1/rdbms/demo -I/u01/oracle/db_1/rdbms/public -I/u01/oracle/db_1/plsql/public -I/u01/oracle/db_1/network/public -DLINUX -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS      -c -o config.o config.c

[oracle@repositorydb lib]$ make -f ins_rdbms.mk ioracle
chmod 755 /u01/oracle/db_1/bin

 - Linking Oracle 
rm -f /u01/oracle/db_1/rdbms/lib/oracle
gcc  -o /u01/oracle/db_1/rdbms/lib/oracle -L/u01/oracle/db_1/rdbms/lib/ -L/u01/oracle/db_1/lib/ -L/u01/oracle/db_1/lib/stubs/ -L/usr/lib -lirc   -Wl,-E `test -f /u01/oracle/db_1/rdbms/lib/sskgpsmti.o && echo /u01/oracle/db_1/rdbms/lib/sskgpsmti.o` /u01/oracle/db_1/rdbms/lib/opimai.o /u01/oracle/db_1/rdbms/lib/ssoraed.o /u01/oracle/db_1/rdbms/lib/ttcsoi.o /u01/oracle/db_1/rdbms/lib/defopt.o  -Wl,--whole-archive -lperfsrv10 -Wl,--no-whole-archive /u01/oracle/db_1/lib/nautab.o /u01/oracle/db_1/lib/naeet.o /u01/oracle/db_1/lib/naect.o /u01/oracle/db_1/lib/naedhs.o /u01/oracle/db_1/rdbms/lib/config.o  -lserver10 -lodm10 -lnnet10 -lskgxp10 -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lhasgen10 -lcore10 -lskgxn2 -locr10 -locrb10 -locrutl10 -lhasgen10 -lcore10 -lskgxn2   -lclient10  -lvsn10 -lcommon10 -lgeneric10 -lknlopt `if /usr/bin/ar tv /u01/oracle/db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap10" ; fi` -lslax10 -lpls10  -lplp10 -lserver10 -lclient10  -lvsn10 -lcommon10 -lgeneric10 `if [ -f /u01/oracle/db_1/lib/libavserver10.a ] ; then echo "-lavserver10" ; else echo "-lavstub10"; fi` `if [ -f /u01/oracle/db_1/lib/libavclient10.a ] ; then echo "-lavclient10" ; fi` -lknlopt -lslax10 -lpls10  -lplp10 -ljox10 -lserver10 -lclsra10 -ldbcfg10 -locijdbcst10 -lwwg  `cat /u01/oracle/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/oracle/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lmm -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /u01/oracle/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/oracle/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10   -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `if /usr/bin/ar tv /u01/oracle/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo10"; fi` -lctxc10 -lctx10 -lzx10 -lgx10 -lctx10 -lzx10 -lgx10 -lordimt10 -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lsnls10 -lunls10  -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -laio    `cat /u01/oracle/db_1/lib/sysliblist` -Wl,-rpath,/u01/oracle/db_1/lib -lm    `cat /u01/oracle/db_1/lib/sysliblist` -ldl -lm   -L/u01/oracle/db_1/lib
/u01/oracle/db_1/lib//libcore10.a(lcd.o): In function `lcdprm':
lcd.c:(.text+0x8e8): warning: the `gets' function is dangerous and should not be used.
mv -f /u01/oracle/db_1/bin/oracle /u01/oracle/db_1/bin/oracleO
mv /u01/oracle/db_1/rdbms/lib/oracle /u01/oracle/db_1/bin/oracle
chmod 6751 /u01/oracle/db_1/bin/oracle


5:在登錄,發現已經登錄不5:在登錄,發現已經登錄不了了。

[oracle@repositorydb lib]$ sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 9月 27 15:30:50 2012

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

ERROR:
ORA-01031: insufficient privileges


Enter user-name: 
ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name: 
ERROR:
ORA-01017: invalid username/password; logon denie


6:修改oracle 用戶主組爲dba1,正常登錄

[root@repositorydb gc-1024]# usermod -G dba1 oracle
[root@repositorydb gc-1024]# id oracle
uid=500(oracle) gid=501(oinstall) groups=501(oinstall),502(dba1)
[root@repositorydb gc-1024]# su - oracle
[oracle@repositorydb ~]$ 
[oracle@repositorydb ~]$ 
[oracle@repositorydb ~]$ 
[oracle@repositorydb ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 9月 27 15:35:52 2012

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

SQL> conn /as sysdba
Connected to an idle instance.


 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章