search

Oracle FAQ_PHP Tutorial

Jul 13, 2016 pm 05:22 PM
oracleaboutlistwherecommonCompareofFAQ

I have collected a list of Oracle's common problems before. I forgot where it came from. Regarding the SELECT N problem, some netizens have repeatedly consulted and discussed the problem of selecting certain specified rows of data. I wrote the following simple explanation: Please correct me. The SELECT N described here includes the following situations: 1. Select TOP N row records 2. Select N1-N2 row records 3. Select FOOT N row records. Of course, you need to consider whether there is an ORDER BY clause, as follows The interview uses the system view CAT as an example to explain respectively. Note: A. It is the case without ORDER BY B. The case with ORDER BY 1. Select TOP N row records A. SELECT * FROM CAT WHERE ROWNUM ( SELECT COUNT(* )-N FROM CAT ) B. SELECT TABLE_NAME,TABLE_TYPE FROM ( SELECT ROWNUM ROWSEQ,TABLE_NAME,TABLE_TYPE FROM CAT ORDER BY TABLE_TYPE) WHERE ROWSEQ > ( SELECT COUNT(*)-N FROM CAT ) or SELECT * FROM ( SELECT TABLE_NAME,TABLE_TYPE FROM CAT ORDER BY TABLE_TYPE DESC) WHERE ROWNUM select blocks , empty_blocks from dba_tables where table_name='table name; BLOCKS EMPTY_BLOCKS ---------- ------------ 1575 1524 SQL> select bytes,blocks,extents from dba_segments where segment_name=table name; BYTES BLOCKS EXTENTS ---------- - --------- ---------- 6348800 3100 1 This is because the BLOCKS column of the first database view DBA_TABLES refers to the number of BLOCKs actually used. Although some BLOCKs are occupied, no data exists and are not included in them. In the DBA_SEGMENTS database view, the BLOCKS column refers to the total number of BLOCKs occupied by this table, including the total number of BLOCKs with and without data. If the sum of BLOCKS and EMPTY_BLOCKS in the first view is added up, it is exactly equal to the size of the BLOCKS column in the second view. 8. How to save one or multiple tables in the database as an ordinary text file? You can use the SPOOL command in SQL*Plus to save the selected data in the file specified by SPOOL.9. How to delete duplicate records from a table SQL> SELECT * FROM EMP; EMP_ID OFFICE_ID EMPNAME 305 12 ELLISON, GEORGE 305 12 MERCURIO, JASON 128 17 SIMPSON, LINDA 305 22 JACKSON, DREW Use the following SQL statement to identify those duplicates Record: SQL> SELECT COUNT(*), EMP_ID, OFFICE_ID FROM EMP GROUP BY EMP_ID, OFFICE_ID HAVING COUNT(*) > 1; The result is as follows: COUNT(*) EMP_ID OFFICE_ID 2 305 12 Table Example, with duplicate values: SQL> SELECT * FROM EMP; EMP_ID OFFICE_ID EMPNAME 305 12 ELLISON, GEORGE 305 12 MERCURIO, JASON 128 17 SIMPSON, LINDA 305 22 JACKSON, DREW Use the following statement to delete duplicate records: SQL> DELETE FROM EMP A WHERE (EMP_ID, OFFICE_ID, 2 ) IN (SELECT EMP_ID, OFFICE_ID, decode(count(*),1,1,2) FROM EMP B WHERE A.EMP_ID=B.EMP_ID AND A.OFFICE_ID = B.OFFICE_ID GROUP BY EMP_ID, OFFICE_ID); 10. How to insert special characters into the database in SQL*PLUS? You can use the CHR function. 11. How to delete a column? In Oracle8i, you can directly Drop a column. The syntax is alter table table_name drop column_name; but be careful to set compatible=8.1.0 or above in initsid.ora. 12. How to rename a column? 1 alter table "table_name" add (new_column_name data_type); 2 update table_name set new_column_name = old_column_name where rowid=rowid; 3 alter table table_name drop column old_column_name; 13. How to quickly clear a table? Truncate table table_name; 14. How to specify a large rollback segment for a transaction? Set transaction use rollback segment rbs_name; 15. How do you know who has the permissions on a table and what permissions are given to them? select * from dba_tab_privs where table_name=table name; 16. How to find out who has locked a table you need? Select object_id from v$locked_object; Select object_name, object_type from dba_objects where object_id=''; Every time a table is cleared (using truncate), the storage parameter NEXT of this table is automatically reset to the last deleted extent. size. Likewise, if space is explicitly released from a table, the NEXT parameter is automatically set to the size of the last extent released. In SQL*Plus, you can specify a rollback segment for a transaction: this is still very useful when a large transaction is about to occur. Use the following statement to specify a rollback segment for this transaction: SQL>SET TRANSACTION USE ROLLABCK SEGMENT rollback segment name; You can also specify a rollback segment for a transaction in PL/SQL (without using dynamic sql statements). This requires the use of the package provided by Oracle: DBMS_TRANSACTION.USE_ROLLBACK_SEGMENT('Rollback segment name'); Oracle on some platforms will automatically generate a sgadefSID.dbf when starting. You can use whether this file exists to determine whether an instance is Running. This file contains the address of the SGA in memory. Oracle will automatically delete this file when the database is closed. But in Oracle8i, this file no longer exists. New judgment methods need to be used to determine whether an instance is running. For example, PS command. In Oracle7, if you want to know whether the data file can be automatically expanded, you must check it from the sys.fileext$ table, but in Oracle8, you can know whether the data file can be automatically expanded from dba_data_files. Starting from Oracle8i, you can create another type of database-level triggers, such as database startup and shutdown, user login, logout and other transactions, which can trigger the occurrence of this event and thereby make certain records. Triggers defined at the database level will be triggered when the corresponding events occur for all users, while triggers defined at the Schema level will only be triggered when the corresponding events for a specific user occur. Starting from Oracle8i, there is an additional way to shut down the database: SHUTDOWN TRANSACTIONAL. This approach allows all users to submit their work. But once submitted, the connection will be cut off immediately. When all users have completed their respective transactions, the shutdown will begin. Starting from Oracle8, temporary tables can be created. The definitions of these tables are visible to all sessions of the user, but the data queried, inserted, and deleted in each session are the same as the data queried, inserted, and deleted in other sessions. Not relevant. It's like there is such a table for each session. Starting from Oracle8i, tables that are not partitioned can be quickly reorganized without IMP/EXP. But this requires twice the table space as the table capacity. This statement is: ALTER TABLE TB_NAME MOVE TABLESPACE TS_NAME; Reverse indexes can be created in Oracle8i. (CREATE INDEX i ON t (a,b,c) REVERSE;). Since the adjacent key values ​​​​of the reverse index are not stored in physically adjacent locations, only full index scans or statements such as single column can effectively utilize these indexes. This type of reverse-order index can better coordinate the modifications to the database by different instances on the Oracle parallel server, and can improve system performance to a certain extent. Starting from Oracle8, the $instance view can retrieve a lot of useful information: such as host name, instance name, startup time, version number, etc. The temporary segments created in the temporary table space will only be released during shutdown.However, the temporary segment created in the permanent table space will be released after a transaction ends, and the Smon process will complete this task. oracle FAQ(2) from chao_ping About the OPTIMAL parameter optimal is a storage parameter used to limit the size of the rollback segment. After executing a long transaction, the rollback segment used by that transaction will be relatively large. After setting the Optimal parameter, once the transaction is committed, the rollback segment will automatically shrink to the size specified by Optimal. If there are many long-running transactions in your system, the Optimal parameter of the rollback segment should be set larger. This helps maintain the continuity of the rollback segment table space. Otherwise, constant expansion and contraction will cause the table space to become even more fragmented. If the main transactions in the system are short-term, the rollback segment should be set smaller. This will help the information in the rollback segment be stored in the SGA to improve system performance. The Optimal parameter of the rollback segment can be created in

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/532286.htmlTechArticleA list of Oracle’s more common problems that I collected before, I forgot where it came from. Any thoughts on the SELECT N problem? Some netizens have repeatedly consulted and discussed the issue of selecting certain specified rows of data...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

Simple Guide: Sending Email with PHP ScriptSimple Guide: Sending Email with PHP ScriptMay 12, 2025 am 12:02 AM

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP Performance: Identifying and Fixing BottlenecksPHP Performance: Identifying and Fixing BottlenecksMay 11, 2025 am 12:13 AM

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

Dependency Injection for PHP: a quick summaryDependency Injection for PHP: a quick summaryMay 11, 2025 am 12:09 AM

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

Increase PHP Performance: Caching Strategies & TechniquesIncrease PHP Performance: Caching Strategies & TechniquesMay 11, 2025 am 12:08 AM

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools