Oracle Faq(Oracle TAF的配置)_PHP教程
如需转载,请注明出处!(刁馋在此先谢过了……)
Oracle TAF的配置
TAF为Transparent Application FailOver的缩写,一般应用TAF都是在OPS/RAC环境中。从8i开始有的这一功能,目的和想法都是很好的,但目前应用还很有限,本文将针对TAF相关问题作个详细探讨。
本文的测试环境是Tru64 V5.1+ Oracle9.2.0.1 RAC。
一、相关参数的说明
说实话oracle关于网络的几个配置参数真的是太乱了,很多人都弄不清到底是怎么回事,常见的错误为:
"ORA-12514 :TNS:listener could not resolve SERVICE_NAME given in connect descriptor" 和
"ORA-12154 :TNS: Could not resolve service name"
实质都是一样的,要解决这样的问题需要我们弄情几个参数:
initsid.ora中的几个参数:
DB_NAME --- database name,即建数据库时所提供的名称。
GLOBAL_NAMES --- True/false,设定是否使用数据库域名。
DB_DOMAIN --- 数据库域名,如果GLOBAL_NAMES=True则要求提供这个参数。
SERVICE_NAMES --- service names list,服务名称,可以有多个。
INSTANCE_NAME --- instance name,和SERVICE_NAMES一样从817开始支持,即从817开始可以将数据库、实例和服务名称分开。默认instance_name的值为instance的SID,即环境变量ORACLE_SID所对应的值。在817以前没有instance_name参数时,不同的instance是以SID来区分的。按照oracle817以后的文档解释:SID是为了区别同一主机上各instance的共享内存,并不是instance的唯一区别标示,而instance_name则是区别各个instance的。
环境变量:
ORACLE_SID --- 在817以前没有instance_name参数时,不同的instance是以SID来区分的(详细说明见上面的initsid.ora参数解释)。
listener.ora中的几个参数:
GLOBAL_DBNAME --- 全局数据库名称,在分布式环境中唯一确定不同的数据库。它的值为initsid.ora中DB_NAME和DB_DOMAIN的组合,即GLOBAL_DBNAME=DB_NAME.DB_DOMAIN,其中DB_DOMAIN如果没有设此处也就不需要了。这个参数在分布式环境中建议明确指定。
SERVICE_NAME --- 服务名称,取initsid.ora中service_names list至一即可。
SID_NAME --- 对应环境变量ORACLE_SID的值。
INSTANCE_NAME ---对应初始化参数instance_name。
tnsnames.ora中的几个参数:
service_name --- 服务名称,取initsid.ora中service_names list至一即可。
sid_name --- 可以简写成:sid,对应ORACLE_SID,也可以是初始化参数instance_name,当等于instance_name且instance_name不等于ORACLE_SID时,oracle会自动注册一个监听进程,此用以区分不同的instance。
instance_name --- 从817开始有了这个新的参数可以使用,对应初始化参数instance_name。
这样一来,参数就很复杂了,不过我们实际使用并不会用当然十月简单越好了。
二、相关参数设置
下面我将举例说明相关参数的设置:
1、环境变量:ORACLE_SID=rac1/2
2、initsid.ora:
db_name=ora92
service_names = ora92
instance_name=rac1/2
global_names=false
db_domain=""
3、listener.ora:
SID_LIST_RAC1 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora92)
(ORACLE_HOME = /oracle/oracle9/app/oracle/product/9.2.0)
(SERVICE_NAME=ora92)(SID_NAME = rac1)
)
)
SID_LIST_RAC2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora92)
(ORACLE_HOME = /oracle/oracle9/app/oracle/product/9.2.0)
(SERVICE_NAME=ora92)(SID_NAME = rac2)
)
)
RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.1)(PORT = 1522))
)
)
)
RAC2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.2)(PORT = 1522))
)
)
)
三、TAF的设置
其实TAF设置很简单,在tnsnames.ora中添加failover=on即可,有两种不同的设置方法:
1、公用一个tns name方式:==================================================
myrac =
(description=
(load_balance=on)
(failover=on)
(address= (protocol=tcp)(host=10.1.3.1)(port=1522))
(address= (protocol=tcp)(host=10.1.3.2)(port=1522))
(connect_data= (service_name=ora92)
(failover_mode=(type=select)(method=basic)(retries=20)(delay=20))
)
)
==========================================================================
2、指明instance backup方式:===============================================
rac1 =
(description=
(load_balance=on)
(failover=on)
(address= (protocol=tcp)(host=10.1.3.1)(port=1522))
(connect_data= (service_name=ora92)
(failover_mode=(type=select)(method=basic)
(backup=rac2)(retries=20)(delay=20))
)
)
rac2 =
(description=
(load_balance=on)
(failover=on)
(address= (protocol=tcp)(host=10.1.3.2)(port=1522))
(connect_data= (service_name=ora92)
(failover_mode=(type=select)(method=basic)
(backup=rac1)(retries=20)(delay=20))
)
)
==========================================================================
四、TAF测试方法
一般可以将当前连接的instance down下来,client端将不会断开,并自动切换到backup节点上。相反也会自动切换回来。
当然也有人提出用post_transaction的方式来测试TAF,其实这样有时是得不到预期结果的,原因在于Oracle连接到一个instance上后,此后它会优先尝试对该instance的连接,当你disconnect后,client端一有新的请求就会自动尝试对最近连接的instance进行连接,如果不成功才会尝试对backup instance进行连接。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Terdapat kaedah berikut untuk mendapatkan masa di Oracle: Current_TimeStamp: Mengembalikan masa sistem semasa, tepat untuk beberapa saat. SystimeStamp: Lebih tepat daripada Current_TimeStamp, kepada nanodekonda. SYSDATE: Mengembalikan tarikh sistem semasa, tidak termasuk bahagian masa. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): Menukar tarikh dan masa sistem semasa ke format tertentu. Ekstrak: Ekstrak bahagian tertentu dari nilai masa, seperti tahun, bulan, atau jam.

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

Nyahpasang Kaedah untuk kegagalan pemasangan Oracle: Tutup Perkhidmatan Oracle, Padam Fail Program Oracle dan Kekunci Pendaftaran, Nyahpasang pembolehubah persekitaran Oracle, dan mulakan semula komputer. Jika penyahpasang gagal, anda boleh menyahpasang secara manual menggunakan alat penyahpasang Oracle Universal.

Kesalahan angka Oracle tidak sah mungkin disebabkan oleh jenis data yang tidak sepadan, limpahan angka, kesilapan penukaran data, atau rasuah data. Langkah -langkah penyelesaian masalah termasuk memeriksa jenis data, mengesan limpahan digital, memeriksa penukaran data, memeriksa rasuah data, dan meneroka penyelesaian lain yang mungkin seperti mengkonfigurasi parameter NLS_NUMERIC_CHARACTERS dan membolehkan pembalakan pengesahan data.

Untuk membuat pengguna di Oracle, ikuti langkah -langkah berikut: Buat pengguna baru menggunakan pernyataan pengguna Create. Berikan kebenaran yang diperlukan menggunakan penyata geran. Pilihan: Gunakan pernyataan sumber untuk menetapkan kuota. Konfigurasikan pilihan lain seperti peranan lalai dan ruang meja sementara.

Kaedah untuk menyelesaikan masalah penutupan kursor Oracle termasuk: secara eksplisit menutup kursor menggunakan pernyataan Tutup. Mengisytiharkan kursor dalam klausa kemas kini supaya ia ditutup secara automatik selepas skop berakhir. Mengisytiharkan kursor dalam klausa menggunakan supaya ia secara automatik ditutup apabila pembolehubah PL/SQL yang berkaitan ditutup. Gunakan pengendalian pengecualian untuk memastikan kursor ditutup dalam keadaan pengecualian. Gunakan kolam sambungan untuk menutup kursor secara automatik. Lumpuhkan penyerahan automatik dan penangguhan kursor kelewatan.
