همزمان با ارائه نسخه ۲۳ai ، ابزار sqlplus ارتقا پیدا کرده و به قابلیت های آن اضافه شده است. در این مقاله چند قابلیت جدید مورد بررسی قرار می گیرد.
SQLPLUS در نسخه ۲۳ai یک URL راهنما برای بسیاری از پیام های خطا نمایش می دهد. این URL ها شرح کاملی از پیام خطا و همچنین اقدامات احتمالی را ارائه می دهند. مقدار اطلاعات موجود برای هر پیام خطا متفاوت است.
SQL> select * from banana;
select * from banana
*
ERROR at line 1:
ORA-00942: table or view does not exist
Help: https://docs.oracle.com/error-help/db/ora-00942/
SQL>
نمایش URL توسط تنظیمات ERRORDETAILS کنترل می شود. مقادیر مجاز OFF، ON و VERBOSE هستند که ON پیش فرض است.
SQL> show errordetails
errordetails ON
SQL>
ما URL را با استفاده از تنظیمات OFF حذف می کنیم.
SQL> set errordetails off
SQL> select * from banana;
select * from banana
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL>
تنظیمات VERBOSE جزئیات زیادی را در مورد خطا نمایش می دهد.
SQL> set errordetails verbose
SQL> select * from banana;
select * from banana
*
ERROR at line 1:
ORA-00942: table or view does not exist
Help: https://docs.oracle.com/error-help/db/ora-00942/
Cause: The specified table or view did not exist, or a synonym
pointed to a table or view that did not exist.
To find existing user tables and views, query the
ALL_TABLES and ALL_VIEWS data dictionary views. Certain
privileges may be required to access the table. If an
application returned this message, then the table that the
application tried to access did not exist in the database, or
the application did not have access to it.
Action: Check each of the following:
– The spelling of the table or view name is correct.
– The referenced table or view name does exist.
– The synonym points to an existing table or view.
If the table or view does exist, ensure that the correct access
privileges are granted to the database user requiring access
to the table. Otherwise, create the table.
Also, if you are attempting to access a table or view in another
schema, make sure that the correct schema is referenced and that
access to the object is granted.
Params: 1) object_name: The table or view name specified as
SCHEMA.OBJECT_NAME, if one is provided.
Otherwise, it is blank.
SQL>
جهت دریافت خدمات مشاوره، آموزش و نگهداری پایگاه داده اوراکل با ما در ارتباط باشد
از متغیر محیطی ORA_SUPPRESS_ERROR_URL می توان برای تنظیم مقدار ERRORDETAILS روی ON یا OFF استفاده کرد.
export ORA_SUPPRESS_ERROR_URL=TRUE
SQL> show errordetails
errordetails OFF
SQL>
export ORA_SUPPRESS_ERROR_URL=FALSE
SQL> show errordetails
errordetails ON
SQL>
توانایی خاموش کردن URL یک راه حل برای مشکلات backwards compatibilityاست.
فرمان PING اتصال شبکه را به روشی مشابه ابزار tnsping آزمایش می کند.
بدون هیچ آرگومان اضافی، اتصال فعلی را آزمایش می کند.
SQL> ping
Ok (0.204 msec)
SQL>
ارسال شناسه اتصال به آن اجازه می دهد تا آن اتصال را با استفاده از همان شنونده مورد استفاده توسط اتصال فعلی آزمایش کند.
SQL> ping free
Network service name mapping file: /opt/oracle/product/23ai/dbhomeFree/network/admin/tnsnames.ora
Attempting to contact: (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = FREE)))
Ok (38.743 msec)
SQL>
ارسال نام LISTENERو شناسه اتصال به آن اجازه می دهد تا با استفاده از یک LISTENER جایگزین آزمایش کند، با این فرض که بیش از یک LISTENER در سرور اجرا می شود.
SQL> ping listener free
Network service name mapping file: /opt/oracle/product/23ai/dbhomeFree/network/admin/tnsnames.ora
Attempting to contact: (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = FREE)))
Ok (5.992 msec)
SQL>
دستور OERR علت و اقدام پیغام خطای مشخص شده را نمایش می دهد. با یا بدون جداکننده “-” کار می کند. OERR در SQLcl نیز وجود دارد.
SQL> oerr ORA 48003
Message: “out of process memory”
Help: https://docs.oracle.com/error-help/db/ora-48003/
Document: YES
Cause: Operating system memory was exhausted or a per-process limit
on private memory usage was reached. The database has an internal
limit of 32 GB per Oracle process.
Action: Check the use of memory by other Oracle instances and other
applications. Exceeding 32 GB in a single process may indicate a
memory leak. Consider reducing the size of shared memory to allow
more room for private memory.
Comment: The ORA facility mapping for this error is ORA-04030.
SQL>
SQL> oerr ORA-48003
Message: “out of process memory”
Help: https://docs.oracle.com/error-help/db/ora-48003/
Document: YES
Cause: Operating system memory was exhausted or a per-process limit
on private memory usage was reached. The database has an internal
limit of 32 GB per Oracle process.
Action: Check the use of memory by other Oracle instances and other
applications. Exceeding 32 GB in a single process may indicate a
memory leak. Consider reducing the size of shared memory to allow
more room for private memory.
Comment: The ORA facility mapping for this error is ORA-04030.
دستور HELP برای نمایش اطلاعات مشابه اصلاح شده است. همه تغییرات زیر کار می کنند.
help 48003
help ora 48003
help ora-48003
نسخه جدید SQLPLUS در پایگاه داد Oracle23ai از داده های BOOLEAN پشتیبانی می کند.
SQL> select true, false from dual;
TRUE FALSE
———– ———–
TRUE FALSE
SQL>