Skip to content
ANBOB

ANBOB

提供综合数据库运维服务与优化方案(不限Oracle MySQL PG GaussDB GoldenDB OceanBase等), 微信/Tel:(+86)134-365-60330

  • 首页
  • 关于我
  • 联系我们

Oracle 12C wait ‘library cache lock’ after change password even set 28401 event 案例

2020-07-09 by weejar zhang

《library cache lock或row cache lock, Failed Logon Delay 因为错误的密码尝试》和《oracle 12c等待事件: Failed Logon Delay》记录过用户密码错误尝试导致数据库出现大量的library cache lock 和row cache lock。 主要是在11g引入的安全特性延迟密码认证在3-10秒,在延迟期间以X模式持有row cache lock防止同一用户的并发失败尝试。通常是配置28401 event禁用延迟认证特性,但这也不是“万能药”,像这次的案例。 除了密码延迟认证,PASSWORD_LIFE_TIME和FAILED_LOGIN_ATTEMPTS 也是用户的警惕的地方。

密码错误尝试的症状有:
1, 非常高的library cache lock(ACCOUNT)和row cache lock(dc_user)
2, v$session.username为空,因为认证还没通过
3,alter user命令会hang 等待’library cache lock’ or ‘row cache lock’,等待几分钟后最终会成功
4, 锁定用户后,等待时间消失

这是一个12C r2的数据库,通常配置28401 event消失,但这个案例并没有,下面记录一下。

修改了密码以后

SQL> alter user xx identified by xxx;

SQL>@ase.sql

USERNAME           SID EVENT                MACHINE    MODULE               STATUS   LAST_CALL_ET SQL_ID          WAI_SECINW ROW_WAIT_OBJ# SQLTEXT                        BS          CH# OSUSER     HEX
----------- ---------- -------------------- ---------- -------------------- -------- ------------ --------------- ---------- ------------- ------------------------------ ---------- ---- ---------- ---------
                  1212 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              2                 0:2                   -1                                :             0 redis
                  2874 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              2                 0:2                   -1                                :             0 redis
                   127 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              3                 0:3                   -1                                :             0 cbec
                  2615 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              4                 0:5                   -1                                :             0 cbec
                  1136 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:6                   -1                                :             0 weblogic
                  1099 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:6                   -1                                :             0 vsearch
                   944 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:7                   -1                                :             0 vsearch
                   974 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:7                   -1                                :             0 weblogic
                   845 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:7                   -1                                :             0 weblogic
                  1037 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:7                   -1                                :             0 vsearch
                   904 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:7                   -1                                :             0 weblogic
                  2636 row cache lock       xxxxxxxxxx python               ACTIVE              6                 0:7                   -1                                :             0 crmmon
                  1024 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              6                 0:7                   -1                                :             0 vsearch
                   836 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              7                 0:7                   -1                                :             0 vsearch
                  2294 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              7                 0:7                   -1                                :             0 cbec
                  1660 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              9                 0:9                   -1                                :             0 cbec
                   798 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              9                 0:9                   -1                                :             0 vsearch
                   760 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              9                 0:9                   -1                                :             0 vsearch
                   721 row cache lock       xxxxxxxxxx sqlplus              ACTIVE              9                 0:10                  -1                                :             0 vsearch
                  2809 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             10                 0:10                  -1                                2:1660        0 vsearch
                   603 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             10                 0:10                  -1                                2:1660        0 vsearch
                   641 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             10                 0:10                  -1                                2:1660        0 vsearch
                   683 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             10                 0:10                  -1                                2:1660        0 vsearch
                   555 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             10                 0:11                  -1                                2:1660        0 vsearch
                   858 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             11                 0:11                  -1                                2:1660        0 vsearch
                   520 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             11                 0:12                  -1                                2:1660        0 vsearch
                   494 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             12                 0:12                  -1                                2:1660        0 taskmon
SYS                 55 row cache lock       xxxxxxxxxx sqlplus              ACTIVE             12 5rzsj7vnvwwrq   0:12             1469878  alter user USER1 account lock 2:1660        0 oracle       2000002
                  2727 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             12                 0:13                  -1                                2:1660        0 cbea
                  2094 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             13                 0:13                  -1                                2:1660        0 cbea
                  2262 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             15                 0:15                  -1                                2:1660        0 oracle
                  1155 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                  1181 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   608 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   638 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   665 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 tpcint
                   707 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   747 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   784 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 weblogic
                   824 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   844 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   294 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   303 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   316 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
                   338 library cache lock   xxxxxxxxxx sqlplus              ACTIVE             16                 0:16                  -1                                2:1660        0 oracle
				   
...

SQL> alter user xxx account lock;

如果不处理很快连接数就会耗尽。先锁定了用户,但是有部分应用还里需要这个用户,有300多台主机没有修改,即使已修改正确的应用也无法使用,这部分主机的错误密码尝试导致整个库无法使用,那有没有办法解决呢?。

尝试配置12801 event

SQL> oradebug eventdump system
10949 trace name context forever, level 1

SQL> alter system set event='10949 trace name context forever, level 1:28401 trace name context forever, level 1' scope=spfile;

System altered.

SQL> alter system set events '28401 trace name context forever, level 1';

System altered.

SQL> oradebug eventdump system
28401 trace name context forever, level 1
10949 trace name context forever, level 1

再次尝试解锁用户。瞬间数据库会话数增加,又出现了library cache lock, row cache lock和之前的一样,此时在节点2锁用户等在那里,尝试从另一节点(节点1) 锁用户,节点1实例还意外crash,并重启了。 alert log

2020-07-09 09:21:06.197000 +08:00
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lmd1_81560.trc  (incident=737030):
ORA-00600: internal error code, arguments: [kjxscvr:lstat], [[0x534b481e][0x4b773e70],[LB][ext 0x0,0x0][domid 0x0]], [2], [3590001], [35a0000], [], [], [], [], [], [], []
Incident details in: /oracle/app/oracle/diag/rdbms/anbob/anbob1/incident/incdir_737030/anbob1_lmd1_81560_i737030.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lmd1_81560.trc:
ORA-00600: internal error code, arguments: [kjxscvr:lstat], [[0x534b481e][0x4b773e70],[LB][ext 0x0,0x0][domid 0x0]], [2], [3590001], [35a0000], [], [], [], [], [], [], []
Dumping diagnostic data in directory=[cdmp_20200709092107], requested by (instance=1, osid=81560 (LMD1)), summary=[incident=737030].
2020-07-09 09:21:07.950000 +08:00
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lmd1_81560.trc:
ORA-00600: internal error code, arguments: [kjxscvr:lstat], [[0x534b481e][0x4b773e70],[LB][ext 0x0,0x0][domid 0x0]], [2], [3590001], [35a0000], [], [], [], [], [], [], []
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lmd1_81560.trc  (incident=737031):
ORA-482 [] [] [] [] [] [] [] [] [] [] [] []
Incident details in: /oracle/app/oracle/diag/rdbms/anbob/anbob1/incident/incdir_737031/anbob1_lmd1_81560_i737031.trc
USER (ospid: 81560): terminating the instance due to error 482
opiodr aborting process unknown ospid (4511) as a result of ORA-1092
System state dump requested by (instance=1, osid=81560 (LMD1)), summary=[abnormal instance termination].
System State dumped to trace file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_diag_81525_20200709092108.trc
2020-07-09 09:21:10.388000 +08:00
License high water mark = 743
2020-07-09 09:21:14.935000 +08:00
Instance terminated by USER, pid = 81560
Warning: 2 processes are still attach to shmid 6782991:
 (size: 40960 bytes, creator pid: 79260, last attach/detach pid: 81521)

----- Call Stack Trace -----
calling              call     entry                
location             type     point                
-------------------- -------- -------------------- 
              
dbgeEndDDEInvocatio  call     dbgexExplicitEndInc  
nImpl()+658                   ()                   
                                                   
kjxscvr()+28666      call     dbgeEndDDEInvocatio  
                              nImpl()                       
kjmxmpm()+16387      call     kjxscvr()            
kjmpbmsg()+6420      call     kjmxmpm()            
kjmdmain_helper()+8  call     kjmpbmsg()           
kjmdm()+79           call     kjmdmain_helper()    
 ksbrdp()+1079        call     kjmdm()              
opirip()+609         call     ksbrdp()             
opidrv()+602         call     opirip()             
                                              

这个ora-600 [kjxscvr:lstat] 是Bug 29392554,影响范围还挺多,直到20C BASE才修复。 在节点2继续lock 用户等了几分钟user lock 成功,library cache lock 消失。除了延迟密码认证还有另一个触发和我们手动lock用户一样的user profile FAILED_LOGIN_ATTEMPTS 自动lock用户,因为用户ACCOUNT_STATUs的改变也是要持有X模式的LIBRARY CACHE LOCK. 下面检查用户的profile.

SQL> @us user1
Show database usernames from dba_users matching %USER1%

USERNAME                  DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE              USER_ID CREATED           PROFILE
------------------------- ------------------------- ------------------------------ ---------- ----------------- --------------------
USER1                     NETM_DAT                  TEMP                                  352 20181205 14:31:09 PRO_APP

 
SQL> select * from dba_profiles where profile='PRO_APP';

PROFILE              RESOURCE_NAME                    RESOURCE LIMIT                                                                                                                            COM INH IMP
-------------------- -------------------------------- -------- -------------------------------------------------------------------------------------------------------------------------------- --- --- ---
PRO_APP             COMPOSITE_LIMIT                  KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             SESSIONS_PER_USER                KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             CPU_PER_SESSION                  KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             CPU_PER_CALL                     KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             LOGICAL_READS_PER_SESSION        KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             LOGICAL_READS_PER_CALL           KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             IDLE_TIME                        KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             CONNECT_TIME                     KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             PRIVATE_SGA                      KERNEL   DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             FAILED_LOGIN_ATTEMPTS            PASSWORD DEFAULT                                                                                                                          NO  NO  NO
PRO_APP             PASSWORD_LIFE_TIME               PASSWORD UNLIMITED                                                                                                                        NO  NO  NO
PRO_APP             PASSWORD_REUSE_TIME              PASSWORD UNLIMITED                                                                                                                        NO  NO  NO
PRO_APP             PASSWORD_REUSE_MAX               PASSWORD 5                                                                                                                                NO  NO  NO
PRO_APP             PASSWORD_VERIFY_FUNCTION         PASSWORD VERIFY_FUNCTION                                                                                                                  NO  NO  NO
PRO_APP             PASSWORD_LOCK_TIME               PASSWORD .0004                                                                                                                            NO  NO  NO
PRO_APP             PASSWORD_GRACE_TIME              PASSWORD UNLIMITED                                                                                                                        NO  NO  NO
PRO_APP             INACTIVE_ACCOUNT_TIME            PASSWORD DEFAULT                                                                                                                          NO  NO  NO

17 rows selected.

SQL> select * from dba_profiles where profile='DEFAULT';

PROFILE              RESOURCE_NAME                    RESOURCE LIMIT                                                                                                                            COM INH IMP
-------------------- -------------------------------- -------- -------------------------------------------------------------------------------------------------------------------------------- --- --- ---
DEFAULT              COMPOSITE_LIMIT                  KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              SESSIONS_PER_USER                KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              CPU_PER_SESSION                  KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              CPU_PER_CALL                     KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              LOGICAL_READS_PER_SESSION        KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              LOGICAL_READS_PER_CALL           KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              IDLE_TIME                        KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              CONNECT_TIME                     KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              PRIVATE_SGA                      KERNEL   UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              FAILED_LOGIN_ATTEMPTS            PASSWORD 10                                                                                                                               NO  NO  NO
DEFAULT              PASSWORD_LIFE_TIME               PASSWORD UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              PASSWORD_REUSE_TIME              PASSWORD UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              PASSWORD_REUSE_MAX               PASSWORD UNLIMITED                                                                                                                        NO  NO  NO
DEFAULT              PASSWORD_VERIFY_FUNCTION         PASSWORD VERIFY_FUNCTION_11G                                                                                                              NO  NO  NO
DEFAULT              PASSWORD_LOCK_TIME               PASSWORD 1                                                                                                                                NO  NO  NO
DEFAULT              PASSWORD_GRACE_TIME              PASSWORD 7                                                                                                                                NO  NO  NO
DEFAULT              INACTIVE_ACCOUNT_TIME            PASSWORD UNLIMITED                                                                                                                        NO  NO  NO

17 rows selected.

Note:
从Profile 看出这个用户是密码连续尝试错误10次后锁住用户0.0004天,然后自动解锁。问题就在这自动lock. 既然这个用户短时间内改不完所有的错误密码配置,干脆禁用密码错误尝试记数。

SQL> create profile pfile_for_USER1 limit FAILED_LOGIN_ATTEMPTS unlimited;
Profile created.

SQL> alter user USER1 profile pfile_for_USER1;
User altered.

SQL> alter user USER1 account unlock;
User altered.

Note:
之前大量的library cache lock消失, 库内的负载恢复了正常,只是因为还有大量的错误尝试还是有少量的Failed Logon Delay event等待。

Categories Cloud, ORACLE 9i-23ai Tags FAILED_LOGIN_ATTEMPTS, library cache lock, ora-600 kjxscvr, row cache lock
Oracle 19c新特性: EXPDP 参数TTS_CLOSURE_CHECK估算Transportable Tablespace时间
Troubleshooting ORA-00600 [qosdExpStatRead: expcnt mismatch]
  • AI
  • Cloud
  • Exadata
  • Mongo/Redis
  • MySQL/TiDB/GoldenDB
  • OceanBase
  • OGG
  • ORACLE 9i-23ai
  • PostgreSQL/GaussDB
  • Redis
  • SQL Server
  • 其它国产库
  • 岁月
  • 开发语言
  • 系统相关
  • 达梦

Archives

  • August 2025 (5)
  • July 2025 (7)
  • June 2025 (5)
  • May 2025 (8)
  • April 2025 (11)
  • March 2025 (5)
  • February 2025 (3)
  • January 2025 (8)
  • December 2024 (13)
  • November 2024 (17)
  • October 2024 (17)
  • September 2024 (13)
  • August 2024 (12)
  • July 2024 (13)
  • June 2024 (14)
  • May 2024 (11)
  • April 2024 (10)
  • March 2024 (10)
  • February 2024 (8)
  • January 2024 (12)
  • December 2023 (15)
  • November 2023 (8)
  • October 2023 (13)
  • September 2023 (10)
  • August 2023 (7)
  • July 2023 (14)
  • June 2023 (15)
  • May 2023 (12)
  • April 2023 (8)
  • March 2023 (10)
  • February 2023 (7)
  • January 2023 (8)
  • December 2022 (12)
  • November 2022 (6)
  • October 2022 (6)
  • September 2022 (9)
  • August 2022 (9)
  • July 2022 (11)
  • June 2022 (5)
  • May 2022 (7)
  • April 2022 (11)
  • March 2022 (6)
  • February 2022 (4)
  • January 2022 (8)
  • December 2021 (9)
  • November 2021 (9)
  • October 2021 (3)
  • September 2021 (4)
  • August 2021 (11)
  • July 2021 (7)
  • June 2021 (8)
  • May 2021 (3)
  • April 2021 (4)
  • March 2021 (8)
  • January 2021 (4)
  • December 2020 (7)
  • November 2020 (5)
  • October 2020 (2)
  • September 2020 (11)
  • August 2020 (7)
  • July 2020 (13)
  • June 2020 (16)
  • May 2020 (24)
  • April 2020 (7)
  • March 2020 (11)
  • February 2020 (6)
  • January 2020 (10)
  • December 2019 (3)
  • November 2019 (6)
  • October 2019 (8)
  • September 2019 (5)
  • August 2019 (10)
  • July 2019 (3)
  • June 2019 (8)
  • May 2019 (2)
  • April 2019 (3)
  • March 2019 (6)
  • February 2019 (9)
  • January 2019 (1)
  • December 2018 (6)
  • November 2018 (5)
  • October 2018 (2)
  • September 2018 (6)
  • August 2018 (5)
  • July 2018 (4)
  • June 2018 (1)
  • May 2018 (6)
  • April 2018 (1)
  • March 2018 (3)
  • January 2018 (4)
  • December 2017 (5)
  • November 2017 (2)
  • October 2017 (1)
  • September 2017 (2)
  • August 2017 (6)
  • July 2017 (2)
  • June 2017 (3)
  • May 2017 (3)
  • April 2017 (6)
  • March 2017 (13)
  • February 2017 (6)
  • January 2017 (5)
  • December 2016 (8)
  • November 2016 (9)
  • October 2016 (2)
  • September 2016 (7)
  • August 2016 (10)
  • July 2016 (3)
  • June 2016 (4)
  • May 2016 (3)
  • April 2016 (4)
  • March 2016 (4)
  • February 2016 (2)
  • January 2016 (1)
  • December 2015 (2)
  • November 2015 (2)
  • October 2015 (6)
  • September 2015 (4)
  • August 2015 (6)
  • July 2015 (5)
  • June 2015 (9)
  • May 2015 (8)
  • April 2015 (3)
  • March 2015 (2)
  • February 2015 (4)
  • January 2015 (7)
  • December 2014 (11)
  • November 2014 (5)
  • October 2014 (5)
  • September 2014 (6)
  • August 2014 (5)
  • July 2014 (7)
  • June 2014 (1)
  • May 2014 (5)
  • April 2014 (6)
  • March 2014 (8)
  • February 2014 (11)
  • January 2014 (6)
  • December 2013 (6)
  • November 2013 (5)
  • October 2013 (6)
  • September 2013 (7)
  • August 2013 (8)
  • July 2013 (5)
  • June 2013 (7)
  • May 2013 (5)
  • April 2013 (8)
  • March 2013 (9)
  • February 2013 (1)
  • January 2013 (12)
  • December 2012 (20)
  • November 2012 (10)
  • October 2012 (9)
  • September 2012 (9)
  • August 2012 (8)
  • July 2012 (22)
  • June 2012 (11)
  • May 2012 (17)
  • April 2012 (8)
  • March 2012 (13)
  • February 2012 (7)
  • January 2012 (9)
  • December 2011 (19)
  • November 2011 (16)
  • October 2011 (15)
  • September 2011 (21)
  • August 2011 (23)
  • July 2011 (22)
  • June 2011 (37)
  • May 2011 (39)
  • April 2011 (31)
  • March 2011 (26)
  • February 2011 (14)
  • January 2011 (23)
  • December 2010 (30)
  • November 2010 (17)
  • December 2009 (1)
  • November 2009 (1)
  • September 2009 (1)

标签

19C BACKUP/RECOVERY DataGuard dblink exadata Goldengate HAIP lob mysql oceanbase OGG ora-600 ORA-1017 ORA-4031 ora-7445 ORACLE11g oracle 12.2 ORACLE 12C ORACLE ADMIN ORACLE ADMIN oracle asm oracle dataguard oracle goldengate oracle internal oracle oem oracle plsql/sql oracle rac ORACLE安全 oracle安装 oracle 异常 oracle教材 oracle 权限管理 oracle管理 OS Command OS Command partition Performance tuning postgresql Redis row cache lock shell Troubleshooting Troubleshooting 备份与恢复 年终总结
版权所有© 2008-2027 weizhao.zhang (ANBOB.COM)

禁止未经授权的数据爬取行为,并保留追究法律责任的权利。