日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

RAC和Dataguard環(huán)境下修改sys用戶密碼

 浸心閣 2015-05-11

Oracle9i/10g的(11g還沒(méi)有測(cè)試過(guò)) Data guard環(huán)境下,通過(guò)alter user sys identified by xxx 修改sys用戶密碼時(shí),不會(huì)自動(dòng)更新備庫(kù)的密碼文件。Oracle Dataguard環(huán)境的日志傳輸安全機(jī)制依靠Oracle生產(chǎn)庫(kù)的密碼文件,因此在具有Dataguard環(huán)境的災(zāi)備系統(tǒng)中,修改sys用戶密碼需要兩種方式:

一、主庫(kù)用alter user命令,備庫(kù)用主庫(kù)傳過(guò)來(lái)的密碼文件;

1、在主庫(kù)通過(guò)alter user sys identified by sys_new_password后將主庫(kù)的密碼文件拷貝到備庫(kù)相應(yīng)目錄,關(guān)閉備庫(kù)并覆蓋備庫(kù)密碼文件后啟動(dòng)備庫(kù)。操作步驟如下:

  • 在主庫(kù)執(zhí)行:

SQL> alter system archive log current ;

System altered.

  • 關(guān)閉備庫(kù):

SQL> shutdown immediate;

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

SQL> exit

[@more@]

  • 在主庫(kù)的兩個(gè)節(jié)點(diǎn)分別執(zhí)行:

SQL> alter user sys identified by newpasswd;

User altered.

  • 將主庫(kù)密碼文件修改后復(fù)制到備庫(kù)相應(yīng)目錄

$scp orapwrac1 oracle@192.168.1.6:/oracle/product/10.2.0/dbs

The authenticity of host '192.168.1.6 (192.168.1.6)' can't be established.

RSA key fingerprint is 6a:ef:bb:e0:4a:97:cb:5d:79:d0:a9:f3:95:73:9e:e2.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.1.6' (RSA) to the list of known hosts.

Password:

orapwrac1 100% |**********************************| 1536 00:00

2、將主庫(kù)的密碼文件拷貝并覆蓋到備庫(kù)相應(yīng)的目錄

也就是說(shuō),在Oracle 備庫(kù)需要將主庫(kù)的密碼文件拷貝到備庫(kù)的$ORACLE_HOME/dbs目錄下,關(guān)閉備庫(kù)后覆蓋原有的密碼文件(以上已經(jīng)進(jìn)行關(guān)閉了)再啟動(dòng)備庫(kù)。

具體操作步命令:

$mv orapwrac orapwrac_bak --將原來(lái)的密碼文件做好備份

$ mv orapwrac1 orapwrac --替換生產(chǎn)庫(kù)復(fù)制過(guò)來(lái)的password文件

SQL>startup mount

SQL>alter database recover managed standby database disconnect from session;

二、主庫(kù)備庫(kù)都用orapwd生成新密碼文件

1、通過(guò)orapwd 來(lái)重建

重建密碼文件可能導(dǎo)致其他擁有sysdbasysoper權(quán)限的用戶丟失權(quán)限。

在創(chuàng)建密碼文件之前,應(yīng)該先查詢視圖V$PWFILE_USERS,需要確定原本擁有sysdbasysoper的用戶是否還需要權(quán)限,如果需要,還要重新授權(quán)。

創(chuàng)建口令文件需要注意的是=前后沒(méi)有空格!另外值得一提的是10g增加了一個(gè)新的參數(shù)force default值n,當(dāng)同名文件存在時(shí)是否覆蓋。創(chuàng)建完密碼文件后需要復(fù)制到災(zāi)備庫(kù)相應(yīng)目錄或采用force參數(shù)直接覆蓋。具體操作命令:

orapwd file=/oracle/product/10.2.0/dbs/orapwtest password=system entries=5 force=y

2、將主庫(kù)的密碼文件拷貝到備庫(kù)相應(yīng)的目錄,需要備庫(kù)的重啟

也就是說(shuō),在Oracle 備庫(kù)需要將主庫(kù)的密碼文件拷貝到$ORACLE_HOME/dbs目錄下,關(guān)閉備庫(kù)后覆蓋原有的密碼文件(將備庫(kù)關(guān)閉后,再進(jìn)行拷貝覆蓋)再啟動(dòng)備庫(kù)。

具體操作步命令:

$scp oraprac1 oracle@192.168.1.6:/oracle/product/10.2.0/dbs

$mv orapwrac orapwrac_bak --將原來(lái)的密碼文件做好備份

SQL>shutdown immediate --關(guān)閉備庫(kù)

$ mv orapwrac1 orapwrac --替換生產(chǎn)庫(kù)復(fù)制過(guò)來(lái)的password文件

SQL>startup mount

SQL>alter database recover managed standby database disconnect from session;

對(duì)備庫(kù)密碼文件要不要關(guān)閉后覆蓋問(wèn)題,有不同的說(shuō)法,網(wǎng)上部分資料上說(shuō)不必關(guān)閉,本人對(duì)此沒(méi)有進(jìn)行測(cè)試。但是對(duì)于在線生產(chǎn)系統(tǒng),為了安全起見還是建議關(guān)閉后再覆蓋(擔(dān)心某個(gè)文件傳到一半就(密碼文件被修改)然后出現(xiàn)錯(cuò)誤之類的)。

驗(yàn)證密碼更新結(jié)果:

在主庫(kù)或其他終端遠(yuǎn)程sysdba身份登錄備庫(kù)

SQL> conn sys/passwd@standby as sysdba;

Connected.

SQL> select open_mode from v$database;

OPEN_MODE

----------

MOUNTED

還要在備庫(kù)的alertlog中觀察主庫(kù)歸檔日志(或日志)的傳輸和應(yīng)用情況。

如下是關(guān)于Oracle 密碼文件驗(yàn)證模式和OS驗(yàn)證模式概念及在windows上的測(cè)試:

1、os認(rèn)證

oracle安裝之后默認(rèn)情況下是啟用了os認(rèn)證的,這里提到的os認(rèn)證是指服務(wù)器端os認(rèn)證。os認(rèn)證的意思把登錄數(shù)據(jù)庫(kù)的用戶和口令校驗(yàn)放在了操作系統(tǒng)一級(jí)。如果以安裝oracle時(shí)的用戶登錄os,那么此時(shí)在登錄oracle數(shù)據(jù)庫(kù)時(shí)不需要任何驗(yàn)證,如:

SQL> connect /as sysdba

已連接。

SQL> connect sys/aaa as sysdba

已連接。

2、口令文件

oracle的口令文件的作用是存放所有以sysdba或者sysoper權(quán)限連接數(shù)據(jù)庫(kù)的用戶的口令,如果想以sysdba權(quán)限遠(yuǎn)程連接數(shù)據(jù)庫(kù),必須使用口令文件,否則不能連上,由于sys用戶在連接數(shù)據(jù)庫(kù)時(shí)必須以sysdba or sysoper方式,也就是說(shuō)sys用戶要想連接數(shù)據(jù)庫(kù)必須使用口令文件。

在unix/linux下也可以在文件sqlnet.ora中增加SQLNET.AUTHENTICATION_SERVICES=(none)以及刪除dba(groupdel dba)組或者把oracle用戶從dba組中刪除都可以屏蔽os認(rèn)證

如下是在windows環(huán)境的測(cè)試:

1、只要把oracle_home/NETWORK/admin/sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (nts)nts改成none或者注釋掉這句話(在前面加上#),就可以屏蔽OS驗(yàn)證功能,要想以sys用戶連上數(shù)據(jù)庫(kù)必須輸入正確的sys口令,如:

SQLNET.AUTHENTICATION_SERVICES= (NTS)注釋之前:

@>conn sys/aaa as sysdba --- aaa是并不是sys用戶的密碼,而隨意輸入的字母

已連接。

SYS@kuqlan10>conn sys/bbb as sysdba

已連接。

SQLNET.AUTHENTICATION_SERVICES= (NTS)注釋之后:

@>conn sys/aaa as sysdba

ERROR:

ORA-01017: 用戶名/口令無(wú)效; 登錄被拒絕

改回SQLNET.AUTHENTICATION_SERVICES= (NTS)原來(lái)設(shè)置后,修改sys用戶的密碼:

SYS@kuqlan10>alter user sys identified by kuqlan;

用戶已更改。

SYS@kuqlan10>conn sys/ aaa as sysdba

已連接。

重新注釋掉SQLNET.AUTHENTICATION_SERVICES= (NTS),通過(guò)密碼文件來(lái)驗(yàn)證

@>conn sys/kuqlan as sysdba

已連接。

SYS@kuqlan10>conn sys/aaa as sysdba

ERROR:

ORA-01017: 用戶名/口令無(wú)效; 登錄被拒絕

警告: 您不再連接到 ORACLE。

@>

Data Guardsys用戶密碼的修改通過(guò)覆蓋或orapwd方式來(lái)解決的原因

數(shù)據(jù)庫(kù)在沒(méi)有OPEN時(shí)(對(duì)于DG來(lái)說(shuō)mount狀態(tài)下),通過(guò)alter user sys identified by sys_new_password命令無(wú)法修改密碼的(無(wú)論在OS驗(yàn)證模式還是密碼文件驗(yàn)證模式),因此備庫(kù)只能通過(guò)密碼文件覆蓋方式來(lái)實(shí)現(xiàn)sys用戶的密碼更新,如下是Oracle在密碼文件驗(yàn)證模式下的測(cè)試:

SYS@kuqlan10>shutdown immediate

數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。

已經(jīng)卸載數(shù)據(jù)庫(kù)。

ORACLE 例程已經(jīng)關(guān)閉。

SYS@kuqlan10>startup mount

ORACLE 例程已經(jīng)啟動(dòng)。

Total System Global Area 612368384 bytes

Fixed Size 1250476 bytes

Variable Size 587205460 bytes

Database Buffers 16777216 bytes

Redo Buffers 7135232 bytes

數(shù)據(jù)庫(kù)裝載完畢。

SYS@kuqlan10>alter user sys identified by kuqlan1;

alter user sys identified by kuqlan1

*

第 1 行出現(xiàn)錯(cuò)誤:

ORA-01109: 數(shù)據(jù)庫(kù)未打開

SYS@kuqlan10>alter database open;

數(shù)據(jù)庫(kù)已更改。

SYS@kuqlan10>alter user sys identified by kuqlan1;

用戶已更改。

其他補(bǔ)充:

凡是修改具有sysdba or sysoper權(quán)限的用戶,如果通過(guò)alter user來(lái)修改口令,那么同時(shí)修改了口令文件和數(shù)據(jù)庫(kù)中的口令。

sys密碼存放于文件,system存放于數(shù)據(jù)字典改動(dòng)sys密碼,一定要在副機(jī)未啟動(dòng)時(shí),及時(shí)拷貝覆蓋副機(jī)的文件。

在更改sys密碼之前,首先應(yīng)該檢查$ORACLE_HOME/dbs目錄下的密碼文件是本地文件還是一個(gè)連接指向共享存儲(chǔ)上的密碼文件。對(duì)于密碼文件是本地存儲(chǔ)還是共享存儲(chǔ),對(duì)于RAC環(huán)境而言還是有點(diǎn)區(qū)別的。

如果是兩個(gè)節(jié)點(diǎn)分別本地存儲(chǔ),那么最簡(jiǎn)單的方式莫過(guò)于在兩個(gè)節(jié)點(diǎn)上分別執(zhí)行:

alter user sys identified by sys_new_password;

如果是共享存儲(chǔ),那么執(zhí)行一次就可以了,當(dāng)然如果不確定,或者為了方便,也可以在兩個(gè)節(jié)點(diǎn)上分別執(zhí)行這個(gè)語(yǔ)句。所以對(duì)于RAC環(huán)境而言,修改SYS密碼可以在每個(gè)節(jié)點(diǎn)上都運(yùn)行一次alter user語(yǔ)句

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多