srvctl add service -d db_unique_name -s service_name {-r "preferred_list" [-a "available_list"] [-P {BASIC | NONE | PRECONNECT}] | -g server_pool [-c {UNIFORM | SINGLETON]} [-k network_number] [-l [PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY] [-y {AUTOMATIC | MANUAL}] [-q {TRUE | FALSE}] [-x {TRUE | FALSE}] [-j {SHORT | LONG}][-B {NONE | SERVICE_TIME | THROUGHPUT}] [-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}] [-z failover_retries] [-w failover_delay]
Table A-17 srvctl add service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database. |
-s service_name
|
The |
-r preferred_list
|
A list of preferred instances on which the service runs when the database is administrator managed. The list of preferred instances must be mutually exclusive with the list of available instances. Note: This option is available only with Oracle RAC and only for administrator-managed databases. |
-a available_list
|
A list of available instances to which the service fails over when the database is administrator managed. The list of available instances must be mutually exclusive with the list of preferred instances. Note: This option is available only with Oracle RAC and only for administrator-managed databases. |
-P {BASIC | NONE | PRECONNECT} |
TAF policy specification (for administrator-managed databases only). Notes:
|
-g server_pool
|
The name of a server pool used when the database is policy managed. Note: This option is available only with Oracle RAC and only for policy-managed databases. |
-c {UNIFORM | SINGLETON} |
The cardinality of the service, either Notes:
|
-k network_number
|
Use this option to determine on which network this service is offered. The service is configured to depend on VIPs from the specified network. Note: This option is available only with Oracle RAC and Oracle RAC One Node database configurations. |
-l {[PRIMARY] | [PHYSICAL_STANDBY] | [LOGICAL_STANDBY] | [SNAPSHOT_STANDBY]} |
The service role. You use this option to indicate that the service should only be automatically started when the Oracle Data Guard database role matches one of the specified service roles. See Also: Oracle Data Guard Concepts and Administration for more information about database roles |
-y {AUTOMATIC | MANUAL} |
Service management policy. If If Note: Using CRSCTL to stop and start the Oracle Clusterware restarts the service in the same way that a failure does. |
-x {TRUE | FALSE} |
Indicates whether or not Distributed Transaction Processing should be enabled for this service. This service will either be a singleton service in a policy-managed database or a preferred service on a single node in an administrator-managed database. Note: This option is available only with Oracle RAC. |
-j {SHORT | LONG} |
Assign a connection load balancing goal to the service: |
-B {NONE | SERVICE_TIME | THROUGHPUT} |
Goal for the Load Balancing Advisory. |
-e {NONE | SESSION | SELECT} |
Failover type. |
-m {NONE | BASIC} |
Failover method. If the failover type ( Note: This option is available only with Oracle RAC. |
-z failover_retries
|
The number of failover retry attempts. |
-w failover_delay
|
The time delay between failover attempts. |
-u |
Add a new preferred or available instance to an existing service configuration. |
-f |
Force the add operation even though a listener is not configured for the network. |
示例:
[oracle@rac1 ~]$ srvctl add service -d rac -s ractest1 -r rac1 -a rac2 -P BASIC -y automatic -e SELECT -z 5 -w 180[oracle@rac1 ~]$ srvctl add service -d rac -s ractest2 -r rac2 -a rac1 -P BASIC -y automatic -e SELECT -z 5 -w 180
[oracle@rac1 ~]$ crs_stat -t -vName Type R/RA F/FT Target State Host ----------------------------------------------------------------------ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1 ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1 ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2 ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2 ora....VOTE.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1 ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac2 ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1 ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac2 ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1 ora.rac.db ora....se.type 0/2 0/1 ONLINE ONLINE rac1 ora....st1.svc ora....ce.type 0/0 0/0 OFFLINE OFFLINE ora....st2.svc ora....ce.type 0/0 0/0 OFFLINE OFFLINE ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2 ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE rac1 ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1 ora.scan2.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2 ora.scan3.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2
2、使用 srvctl 工具启动和停止 service 资源
语法:
srvctl start service -d db_unique_name
[-s "service_name_list" [-n node_name | -i instance_name]]
[-o start_options]
Table A-121 srvctl start service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s "service_name_list"
|
Comma-delimited list of service names. If you do not include this option, then SRVCTL starts all of the services for the specified database. |
-n node_name
|
The name of the node where the service should be started. Use this option for policy-managed databases. Note: This option is available only with Oracle Clusterware. |
-i instance_name
|
The name of the instance for which the service should be started. Use this option for administrator-managed databases. Note: This option is available only with Oracle Clusterware. |
-o start_options
|
Options to startup command, such as Note: For multi-word startup options, such as See Also: SQL*Plus User's Guide and Reference for more information about startup options |
示例:
[oracle@rac1 ~]$ srvctl start service -d rac -s ractest1,ractest2 -o open[oracle@rac1 ~]$ crs_stat -t -vName Type R/RA F/FT Target State Host ----------------------------------------------------------------------ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1 ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1 ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2 ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2 ora....VOTE.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1 ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac2 ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1 ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac2 ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1 ora.rac.db ora....se.type 0/2 0/1 ONLINE ONLINE rac1 ora....st1.svc ora....ce.type 0/0 0/0 ONLINE ONLINE rac2 ora....st2.svc ora....ce.type 0/0 0/0 ONLINE ONLINE rac2 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2 ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE rac1 ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1 ora.scan2.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2 ora.scan3.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2
srvctl stop service -d db_unique_name [-s "service_name_list" [-n node_name | -i instance_name] [-f]
Table A-153 srvctl stop service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s service_name_list
|
Comma-delimited list of service names enclosed in double quotation marks ( If you do not provide a service name list, then SRVCTL stops all services on the database. |
-n node_name
|
The name of the node on which the services should be stopped. Use this option for policy-managed databases. Note: This option is available only with Oracle Clusterware. |
-i instance_name
|
The name of the instance for which the services should be stopped. Use this option for administrator-managed databases. Note: This option is available only with Oracle Clusterware. |
-f |
Force SRVCTL to stop the service; this causes SRVCTL to disconnect all of the sessions transactionally, requiring the sessions using the service to reconnect and then connect to another instance. Note: If you do not specify the |
[oracle@rac1 ~]$ srvctl stop service -d rac -s ractest1
[oracle@rac1 ~]$ crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora.FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1
ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2
ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2
ora....VOTE.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1
ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac2
ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE
ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac2
ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1
ora.rac.db ora....se.type 0/2 0/1 ONLINE ONLINE rac1
ora....st1.svc ora....ce.type 0/0 0/0 OFFLINE OFFLINE
ora....st2.svc ora....ce.type 0/0 0/0 ONLINE ONLINE rac2
ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1
ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1
ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE
ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1
ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2
ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2
ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE
ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2
ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE rac1
ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1
ora.scan2.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2
ora.scan3.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2
[oracle@rac1 trace]$ srvctl stop service -d rac -s ractest1,ractest2 [oracle@rac1 trace]$ srvctl status service -d rac Service ractest1 is not running. Service ractest2 is not running.
[oracle@rac1 trace]$ srvctl start service -d rac -s ractest2 -i rac1 [oracle@rac1 trace]$ srvctl status service -d rac Service ractest1 is not running. Service ractest2 is running on instance(s) rac1
3、使用 srvctl 工具启用和禁用 service 资源
If you disable a service, then Oracle Clusterware does not consider the service for automatic startup, failover, or restart. You might disable a service when performing application maintenance, to ensure the service is not accidentally restarted by Oracle Clusterware until your maintenance operations are complete. To make the service available for normal operation again, you enable the service.
srvctl enable service -d db_unique_name -s "service_name_list" [-i instance_name | -n node_name]
Table A-55 srvctl enable service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s service_name_list
|
Comma-delimited list of service names |
-i instance_name
|
Name of the database instance where you want the service to run Use this option for administrator-managed databases Note: This option is available only with Oracle Clusterware and Oracle RAC. |
-n node_name
|
Name of the node where you want the service to run Use this option for policy-managed databases Note: This option is available only with Oracle Clusterware and Oracle RAC. |
srvctl disable service -d db_unique_name -s "service_name_list" [-i instance_name | -n node_name]
Table A-41 srvctl disable service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s "service_name_list"
|
Comma-delimited list of service names, or a single service name |
-i instance_name
|
The name of the instance that you want to disable the service for. Note: Use this option with administrator-managed databases Note: This option is available only with Oracle Clusterware and Oracle RAC. |
-n node_name
|
The name of the node on which to disable the service Note: Use this option with policy-managed databases Note: This option is available only with Oracle Clusterware and Oracle RAC. |
4、使用 srvctl 工具查看 service 资源的状态
srvctl status service -d db_unique_name [-s "service_name_list"] [-f] [-v]
Table A-137 srvctl status service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s "service_name_list"
|
Comma-delimited list of service names. If you do not specify this option, then the utility lists the status of all the services for the specified database. |
-f |
Include disabled applications |
-v |
Displays |
[oracle@rac1 ~]$ srvctl status service -d rac -s ractest1 Service ractest1 is running on instance(s) rac2 [oracle@rac1 ~]$ srvctl status service -d rac -s ractest1 -v Service ractest1 is running on instance(s) rac2 [oracle@rac1 ~]$ srvctl status service -d rac -v Service ractest1 is running on instance(s) rac2 Service ractest2 is running on instance(s) rac2
5、使用 srvctl 工具 relocate service 资源
语法:
srvctl relocate service -d db_unique_name -s service_name {-c source_node -n target_node | -i old_instance_name -t new_instance_name} [-f]
Table A-89 srvctl relocate service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s service_name
|
Service name |
-c source_node
|
Name of the node where the service is currently running |
-n target_node
|
Name of node where the service should be relocated |
-i old_instance_name
|
Old instance name |
-t new_instance_name
|
New instance name |
-f |
Disconnect all sessions during stop or relocate service operations |
[oracle@rac1 ~]$ srvctl status service -d rac -v Service ractest1 is running on instance(s) rac2 Service ractest2 is running on instance(s) rac2
[oracle@rac1 trace]$ srvctl relocate service -d rac -s ractest1 -i rac2 -t rac1
[oracle@rac1 trace]$ srvctl status service -d rac Service ractest1 is running on instance(s) rac1 Service ractest2 is running on instance(s) rac2
6、使用 srvctl 工具删除 service 资源
语法:
srvctl remove service -d db_unique_name -s service_name [-i instance_name] [-f]
Table A-100 srvctl remove service Options
Options | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s service_name
|
Service name |
-i instance_name
|
Instance name Note: This option is available only for Oracle Clusterware. |
-f |
Removes the service resource even though the service is running |
示例:
[oracle@rac1 trace]$ srvctl status service -d rac Service ractest1 is not running. Service ractest2 is running on instance(s) rac1
[oracle@rac1 trace]$ srvctl remove service -d rac -s ractest1
[oracle@rac1 trace]$ srvctl status service -d rac Service ractest2 is running on instance(s) rac1
在 service 正在 running 时强制删除 service
[oracle@rac1 trace]$ crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora.FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1
ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2
ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2
ora....VOTE.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1
ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac2
ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE
ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac2
ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1
ora.rac.db ora....se.type 0/2 0/1 ONLINE ONLINE rac1
ora....st2.svc ora....ce.type 0/0 0/0 ONLINE ONLINE rac1
ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1
ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1
ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE
ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1
ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2
ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2
ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE
ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2
ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE rac1
ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1
ora.scan2.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2
ora.scan3.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2
[oracle@rac1 trace]$ srvctl status service -d rac
Service ractest2 is running on instance(s) rac1
[oracle@rac1 trace]$ srvctl remove service -d rac -s ractest2 -f
[oracle@rac1 trace]$ srvctl remove service -d rac -s ractest2 -f [oracle@rac1 trace]$ crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1 ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1 ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2 ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac2 ora....VOTE.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1 ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac2 ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1 ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac2 ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1 ora.rac.db ora....se.type 0/2 0/1 ONLINE ONLINE rac1 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2 ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE rac1 ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1 ora.scan2.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2 ora.scan3.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac2
7、使用 srvctl 工具查看 service 资源的配置信息
语法:
srvctl config service -d db_unique_name [-s service_name]
Table A-27 srvctl config service Options
Option | Description |
---|---|
-d db_unique_name
|
Unique name for the database |
-s service_name
|
Service name. If this option is not specified, then the configuration information for all services configured for the database are displayed. |
[oracle@rac1 trace]$ srvctl config service -d rac -s ractest1 Service name: ractest1 Service is enabled Server pool: rac_ractest1 Cardinality: 1 Disconnect: false Service role: PRIMARY Management policy: AUTOMATIC DTP transaction: false AQ HA notifications: false Failover type: SELECT Failover method: NONE TAF failover retries: 5 TAF failover delay: 180 Connection Load Balancing Goal: LONG Runtime Load Balancing Goal: NONE TAF policy specification: BASIC Edition: Preferred instances: rac1 Available instances: rac2
转载请注明作者出处及原文链接,否则将追究法律责任:
作者:xiangsir
原文链接:http://blog.csdn.net/xiangsir/article/details/9972975
QQ:444367417
MSN:xiangsir@hotmail.com