Archive for 六月, 2008

sqlnet参数

星期四, 六月 26th, 2008

1.设置日志参数
#设置客户端和服务器端的log文件的目录
LOG_DIRECTORY_CLIENT
LOG_DIRECTORY_SERVER
#设置客户端和服务器端的log文件的名称
LOG_FILE_CLIENT
LOG_FILE_SERVER

2.设置默认的domain,会在连接中自动追加domain
NAMES.DEFAULT_DOMAIN
如设置NAMES.DEFAULT_DOMAIN=us.acme.com,使用conn scott/tiger@test连接数据库时会自动追加domain,变成conn scott/tiger@test.us.acme.com,而直接使用conn scott/tiger@test.us.acme.com连接数据库则不会追加

3.设置客户端的命名方法和优先级(最常用的参数),可选值有tnsnames,onames,hostname,ldap等
NAMES.DIRECTORY_PATH

4.设置允许连入数据库的客户端版本,可选值10,9,8,7
SQLNET_ALLOWED_LOGON_VERSIONS

5.设置使用何种验证方式,可选值
none(使用用户名/密码的方式连接数据库)
all(使用所有方式的验证,包括OS验证)
nts(OS验证方式,连入OS后可以不用密码连接数据库)
SQLNET.AUTHENTICATION_SERVICES

6.设置客户端和服务器是否使用加密,可选值
accepted(如果对方设置为requested或required,则使用加密服务)
rejected(不使用加密服务,即使对方设置为requested也不使用)
requested(如果对方使用加密服务,则使用加密服务)
required(使用加密服务,如果对方没有使用则无法连接)
SQLNET.ENCRYPTION_CLIENT
SQLNET.ENCRYPTION_SERVER
#设置使用的加密算法
SQLNET.ENCRYPTION_TYPES_CLIENT
SQLNET.ENCRYPTION_TYPES_SERVER

7.设置连入数据库后必须在多长时间内完成认证(如:输入用户名/密码),超过此时间没有完成的话,数据库会断开此连接,并将客户端的IP地址和ORA-12170: TNS:Connect timeout occurred错误信息记录到sqlnet.log,而且客户端会收到ORA-12547: TNS:lost contact或ORA-12637: Packet receive failed错误信息。这个设置主要是为了防止denial-of-service攻击
SQLNET.INBOUND_CONNECT_TIMEOUT
可以防止3136 错误
8.设置在指定的时间间隔内必须有数据接收/发送,为了防止长时间的等待
SQLNET.RECV_TIMEOUT
SQLNET.SEND_TIMEOUT
可以防止 12170错误
9.限制访问数据库的客户端IP:
#允许访问的IP
TCP.INVITED_NODES=(192.168.1.103)
#不允许访问的IP
TCP.EXCLUDED_NODES=(192.168.1.102)
#检测上述参数的设置
TCP.VALIDNODE_CHECKING=yes

当不允许访问的客户端连入时,会出现下列错误
sys/oracle@approd.test as sysdba
ERROR:
ORA-12537: TNS:connection closed

Warning: You are no longer connected to ORACLE.

10.对tnsping命令进行跟踪,文件名是tnsping.trc
#trace文件的目录,默认在$ORACLE_HOME/network/trace下
TNSPING.TRACE_DIRECTORY
#trace的等级:有off,user,admin,support4个可选值,默认是off的(不进行跟踪)
TNSPING.TRACE_LEVEL

11.设置trace参数
#设置客户端和服务器端的trace文件的目录
TRACE_DIRECTORY_CLIENT
TRACE_DIRECTORY_SERVER
#设置客户端和服务器端的trace文件的名称
TRACE_FILE_CLIENT
TRACE_FILE_SERVER
#设置客户端和服务器端的trace文件的最大大小,超过后trace信息会写入新的文件
TRACE_FILELEN_CLIENT
TRACE_FILELEN_SERVER
#设置客户端和服务器端的trace文件的最多个数,trace文件是循环写的
TRACE_FILENO_CLIENT
TRACE_FILENO_SERVER
#trace的等级:有off,user,admin,support4个可选值,默认是off的(不进行跟踪)
TRACE_LEVEL_CLIENT
TRACE_LEVEL_SERVER
#是否在trace中写入每条trace信息的dd-mon-yyyy hh:mi:ss:mi时间戳
TRACE_TIMESTAMP_CLIENT
TRACE_TIMESTAMP_SERVER
#trace是否只写入独立的文件:设为off后,每个新的客户端会话的trace信息都会覆盖已有信息;设为on后,每个新的客户端会话的trace信息都会写入单独的文件
TRACE_UNIQUE_CLIENT

12.强制使用dedicated方式连接数据库
#当设置为on时,会在连接描述中自动添加(SERVER=dedicated),如果已经设置了(SERVER=shared)也会被覆盖,默认为off
USE_DEDICATED_SERVER

idle>conn sys/oracle@test1 as sysdba
Connected.

sys@TEST>select server from v$session where username=’SYS’;

SERVER
———
SHARED

在sqlnet.ora中设置了USE_DEDICATED_SERVER=on

sys@TEST>select server from v$session where username=’SYS’;

SERVER
———
DEDICATED

DG切换

星期一, 六月 23rd, 2008

一、检查系统上是否有定义脚本运行

crontab -l 查看是否有
crontab -e 编辑,用#注释掉
二、关闭监听和应用

关闭监听: lsnrctl stop
停止应用:ps -ef|grep 待填 |awk ‘{print $2}’|xargs kill -9
三、检查日志同步
检查备库:
alter database recover managed standby database disconnect;
select thread#,low_sequence#,high_sequence# from V$archive_gap
四、switchover切换
Primay —standby

登陆主库检查主库状态:
select switchover_status from v$database;
如果返回值是TO STANDBY就表示可以转换为standby,如果值是session active或SWITCHOVER PENDING也表示可以切换

执行的切换:
alter database commit to switchover to physical standby with session shutdown;

然后:shutdown immediate

startup nomount
alter database mount standby database
alter system set log_archive_dest_state_2=defer;
lsnrctl start

standby—primary

select switchover_status from v$database;
如果返回值是TO PRIMARY就表示可以转换为PRIMARY,如果值是session active或SWITCHOVER PENDING也表示可以切换

alter database commit to switchover to primary;
shutdown immeidate
startup

alter system set log_archive_dest_state_2=enable;
添加TEMP表空间

alter tablespace tablespace_name add tempfile ” size

lsnrctl start
五、切换后的工作
打开定时脚本
注意修改备份脚本
打开应用

oracle下载地址

星期五, 六月 13th, 2008

看到EYGLE老大那有,就给综合了下加上了10.2.0.3的

Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP

http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk1.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk2.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk3.zip

Oracle9i Database Release 2 Enterprise/Standard/Personal/Client Edition for Windows XP 2003/Windows Server 2003 (64-bit)

http://download.oracle.com/otn/nt/oracle9i/9202/92021Win64_Disk1.zip
http://download.oracle.com/otn/nt/oracle9i/9202/92021Win64_Disk2.zip

Oracle9i Database Release 2 Enterprise/Standard Edition for Intel Linux

http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk2.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk3.cpio.gz

Oracle9i Database Release 2 (9.2.0.4) Enterprise/Standard Edition for Linux x86-64

http://download.oracle.com/otn/linux/oracle9i/9204/amd64_db_9204_Disk1.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/amd64_db_9204_Disk2.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/amd64_db_9204_Disk3.cpio.gz

Oracle9i Database Release 2 Enterprise/Standard Edition for AIX - Based 4.3.3 Systems (64-bit)

http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk1.cpio.gz
http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk2.cpio.gz
http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk3.cpio.gz
http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk4.cpio.gz

Oracle9i Database Release 2 Enterprise/Standard Edition for AIX- Based 5L Systems

http://download.oracle.com/otn/aix/oracle9i/9201/A99331-01.zip
http://download.oracle.com/otn/aix/oracle9i/9201/A99331-02.zip
http://download.oracle.com/otn/aix/oracle9i/9201/A99331-03.zip
http://download.oracle.com/otn/aix/oracle9i/9201/A99331-04.zip

Oracle9i Database Release 2 Enterprise/Standard Edition for Sun SPARC Solaris (32-bit)

http://download.oracle.com/otn/solaris/oracle9i/9201/92010Sol_Disk1.cpio.gz
http://download.oracle.com/otn/solaris/oracle9i/9201/92010Sol_Disk2.cpio.gz
http://download.oracle.com/otn/solaris/oracle9i/9201/92010Sol_Disk3.cpio.gz

Oracle9i Database Release 2 Enterprise/Standard Edition for Sun SPARC Solaris (64-bit)

http://download.oracle.com/otn/solaris/oracle9i64/9201/solaris64_9.2.0.1.0.Disk1.cpio.gz
http://download.oracle.com/otn/solaris/oracle9i64/9201/solaris64_9.2.0.1.0.Disk2.cpio.gz
http://download.oracle.com/otn/solaris/oracle9i64/9201/solaris64_9.2.0.1.0.Disk3.cpio.gz

Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit)

http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip
http://download.oracle.com/otn/nt/oracle10g/10201/10201_clusterware_win32.zip
http://download.oracle.com/otn/nt/oracle10g/10201/10201_gateways_win32.zip

Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (x64)

http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_database.zip
http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_client.zip
http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_clusterware.zip

Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Linux x86

http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux32.zip
http://download.oracle.com/otn/linux/oracle10g/10201/10201_client_linux32.zip
http://download.oracle.com/otn/linux/oracle10g/10201/10201_gateways_linux32.zip

Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Linux x86-64

http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux_x86_64.cpio.gz
http://download.oracle.com/otn/linux/oracle10g/10201/10201_client_linux_x86_64.cpio.gz
http://download.oracle.com/otn/linux/oracle10g/10201/10201_clusterware_linux_x86_64.cpio.gz
http://download.oracle.com/otn/linux/oracle10g/10201/10201_gateways_linux_x86_64.cpio.gz

Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for AIX5L

http://download.oracle.com/otn/aix/oracle10g/10201/10gr2_aix5l64_database.cpio.gz
http://download.oracle.com/otn/aix/oracle10g/10201/10gr2_aix5l64_client.cpio.gz
http://download.oracle.com/otn/aix/oracle10g/10201/10gr2_aix5l64_cluster.cpio.gz
http://download.oracle.com/otn/aix/oracle10g/10201/10gr2_aix5l64_gateways.cpio.gz

Oracle Database 10g Release 2 (10.2.0.2) Enterprise/Standard Edition for Solaris Operating System (x86)

http://download.oracle.com/otn/solaris/oracle10g/10202/10202_database_solx86.zip
http://download.oracle.com/otn/solaris/oracle10g/10202/10202_client_solx86.zip
http://download.oracle.com/otn/solaris/oracle10g/10202/10202_clusterware_solx86.zip

Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Solaris Operating System (x86-64)

http://download.oracle.com/otn/solaris/oracle10g/10201/x8664/10201_database_solx86_64.zip
http://download.oracle.com/otn/solaris/oracle10g/10201/x8664/10201_client_solx86_64.zip
http://download.oracle.com/otn/solaris/oracle10g/10201/x8664/10201_clusterware_solx86_64.zip
(全文…)

alter index rebuild or create index

星期天, 六月 1st, 2008

看了HANSON老大文章简单回顾如下:

alter index rebuild 和create index都可以用来重建索引
alter index rebulid 相对create index 有以下优点:
1 重建索引时的IO相对CREATE INDEX少,主要来源以下部分的减少,原索引的叶子取代表做为数据来源,索引块一般为表块少,其次是愿叶子接点索引条目已经是有序,减少了排序工作
2 alter index rebulid online ,在重建过程中DML操作可以正常进行

相同点是:
1 都可以开启并行
2都可以使用NOLOGGING 来减少重建过程中产生的REDO
3 都可以使用computer statitics ,避免重建后在收集统计信息

重建后一般来说会带来以下好处
1 索引大小变小,也就是因为叶子节点的减少
2 索引扫描时查询的物理索引块减少

如果来决定是否应该重建可以使用 alter index valiate structure 命令查看indes_stats.pct_used是否超过50%

还有要注意的就是重建索引一般不能降低索引高度。还有降低clustering_factor的关键在于重建表里的数据。只有将表里的数据按照索引列排序以后,才能切实有效的降低clustering_factor。但是如果某个表存在多个索引的时候,需要仔细决定应该选择哪一个索引列来重建表。