2013年4月28日星期日

Oracle 11g密码过期

Oracle 11g 之前默认的用户时是没有密码过期的限制的,在Oracle 11g 中默认的profile启用了密码过期时间是180天。如下:
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
过期的密码可用alter user userXXX identified by xxx;解决,可以修改为和以前一样。


如果想设置密码不过期,可用管理员登陆,然后执行:
 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
即可。
其他相关参数:
select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%';
FAILED_LOGIN_ATTEMPTS 整数
设定登录到Oracle 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由DBA能解锁。
PASSWORD_LIFE_TIME
设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为180天(11g,10gUNLIMITED).
PASSWORD_REUSE_TIME
许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令。缺省为UNLIMITED.
PASSWORD_REUSE_MAX
重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数)。
PASSWORD_LOCK_TIME
设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时)。
PASSWORD_GRACE_TIME
设定在口令失效前,给予的重新设该口令的宽限天。当口令失效之后回,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。
PASSWORD_VERITY_FUNCTION
该资源项允许调用一个PL/SQL 来验证口令。Oracle公司已提供该应用 的脚本,但是只要愿意的话,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称。缺省为NULL.

2013年4月2日星期二

DB Mirrorning配置

设置步骤:



  1. 确定主机恢复模式

主机

alter database Epicor905_yuanyong set partner off;


USE master;

ALTER DATABASE Epicor905_yuanyong SET RECOVERY FULL;



  1. 创建证书, 实现互通

主机

USE master;

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456@genscript.com';

CREATE CERTIFICATE epicor_master WITH SUBJECT = 'Epicor Master certificate',

START_DATE = '04/02/2013';

备机

USE master;

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456@genscript.com';

CREATE CERTIFICATE epicor_slave WITH SUBJECT = 'Epicor Slave certificate',

START_DATE = '04/02/2013';



  1. 创建连接端点

主机

CREATE ENDPOINT Endpoint_Epicor_Master

STATE = STARTED

AS

TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )

FOR

DATABASE_MIRRORING

( AUTHENTICATION = CERTIFICATE epicor_master , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

备机

CREATE ENDPOINT Endpoint_Epicor_Slave

STATE = STARTED

AS

TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )

FOR

DATABASE_MIRRORING

( AUTHENTICATION = CERTIFICATE epicor_slave , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );



  1. 备份证书并互换

主机

BACKUP CERTIFICATE epicor_master TO FILE = 'D:\backup\epicor_master_cert.cer';

备机

BACKUP CERTIFICATE epicor_slave TO FILE = 'C:\backup\epicor_slave_cert.cer';

互换拷贝到本地路径(主机的备份文件拷到备机, 备机的备份文件拷到主机)



  1. 增加主备登录用户

主机

CREATE LOGIN epicor_slave_login WITH PASSWORD = '123456@genscript.com';

CREATE USER epicor_slave_login FOR LOGIN epicor_slave_login;

CREATE CERTIFICATE epicor_slave AUTHORIZATION epicor_slave_login FROM FILE = 'D:\backup\epicor_slave_cert.cer';

GRANT CONNECT ON ENDPOINT::Endpoint_Epicor_Master TO epicor_slave_login;

备机

CREATE LOGIN epicor_master_login WITH PASSWORD = '123456@genscript.com';

CREATE USER epicor_master_login FOR LOGIN epicor_master_login;

CREATE CERTIFICATE epicor_master AUTHORIZATION epicor_master_login FROM FILE = 'C:\backup\epicor_master_cert.cer';

GRANT CONNECT ON ENDPOINT::Endpoint_Epicor_Slave TO epicor_master_login;



  1. 主机备份并在备机恢复

主机

backup database Epicor905_yuanyong to disk= 'd:\backup\epicor905_yuanyong.bak'

with init

go

然后将备份文件拷到备机

备机

create database Epicor905_yuanyong;   

restore database Epicor905_yuanyong from disk = 'c:\backup\epicor905_yuanyong.bak' with norecovery;

这一步可以使用图形界面操作:


注意初次备份可能需要勾选”with replace”,

一定要选”RESTORE WITH NORECOVERY”模式



  1. 增加镜像伙伴(注意先备机后主机)

备机

ALTER DATABASE Epicor905_yuanyong SET PARTNER = 'TCP://10.168.2.132:5022';

这一步不成功很有可能是第六步RESOTORE的时候没有选择”NORECOVERY”模式

主机

ALTER DATABASE Epicor905_yuanyong SET PARTNER = 'TCP://10.168.2.140:5022';

这一步如果不成功, 可能需要在主库在备份一次TRANSACTION LOG, 然后在备库恢复, 但注意也一定要用”NORECOVERY”模式



  1. 主备切换

主机

use master;

alter database Epicor905_yuanyong set partner failover;