Preguntas de la entrevista de Oracle (conceptos básicos)
Preguntas de la entrevista de Oracle (conceptos básicos)
Oracle Database, también conocida como Oracle RDBMS, u Oracle para abreviar. Es un sistema de gestión de bases de datos relacionales de Oracle Corporation. Las siguientes son preguntas de la entrevista de Oracle (conceptos básicos). Espero que las lea detenidamente.
1. ¿Cuál es la diferencia entre Oracle y SQL Server 2005?
Macroscópicamente:
1). La mayor diferencia es la plataforma. Oracle puede ejecutarse en diferentes plataformas, mientras que SQL Server solo puede ejecutarse en la plataforma Windows. La estabilidad y seguridad de la plataforma Windows afecta. estabilidad del servidor SQL. Seguridad y protección
2). El lenguaje de script utilizado por Oracle es PL-SQL, mientras que el script utilizado por el servidor SQL es T-SQL
Microscópicamente: desde el tipo de datos, la estructura de la base de datos, etc. Respuesta
2. ¿Cómo utilizar el cursor de Oracle?
1). Los cursores en Oracle se dividen en cursores explícitos y cursores implícitos.
2) El cursor de visualización es un cursor definido con el comando cursor...is. Puede procesar múltiples registros devueltos por la declaración de consulta (seleccionar) para realizar operaciones de inserción, eliminación y actualización. ) y la instrucción de consulta (selección) que devuelve un único registro se definen automáticamente mediante PL/SQL.
3). Operaciones explícitas del cursor: abre el cursor, opera el cursor, cierra el cursor; PL/SQL abre implícitamente el cursor SQL, procesa la declaración SQL dentro de él y luego lo cierra
3. ¿Cuál es la diferencia entre función y procedimiento en Oracle?
1). Se puede entender que una función es un tipo de procedimiento almacenado
A). La función no puede tener parámetros, pero debe ser requerido. Un valor de retorno. El procedimiento almacenado no puede tener parámetros y no necesita devolver un valor.
3). modo de parámetro. El procedimiento almacenado devuelve el valor a través del parámetro de salida. Se recomienda usarlo si necesita devolver múltiples parámetros.
En declaraciones de manipulación de datos SQL, solo puede llamar. funciones pero no procedimientos almacenados
4. Hay varias formas de importar y exportar Oracle, ¿cuáles son las diferencias?
1).
2). Utilice herramientas relacionadas con plsql
Método 1. Importar/exportar datos binarios, 2. plsql importa/exporta archivos de texto de declaraciones sql
5. ¿Qué tipo de archivos? ¿Qué hay en Oracle?
Archivos de datos (generalmente con el sufijo .dbf o .ora), archivos de registro (nombre con el sufijo .log), archivos de control (nombre con el sufijo .ctl)
6 ¿Cómo optimizar la base de datos Oracle? ¿Cuántas formas hay?
El factor más crítico es que el rendimiento de la base de datos es IO, porque la memoria operativa es rápida, pero la lectura y escritura del disco es muy alta. lento El problema más crítico al optimizar la base de datos es reducir la E/S del disco. Desde mi punto de vista personal, debe dividirse en optimización física y lógica. Física se refiere a algunas optimizaciones del producto Oracle en sí, y la optimización lógica se refiere a la optimización a nivel de aplicación.
Algunos principios de optimización física:
1). Entorno operativo de Oracle (red, hardware, etc.)
2). >
3). Configure correctamente los parámetros de la instancia de Oracle
4). Cree índices apropiados (reduzca IO)
5). reducir los conflictos de IO)
6). Crear particiones de tablas y almacenar datos en diferentes particiones (para reducir el espacio de Exchange por tiempo, reducir IO)
Optimización lógica:
1) La tabla se puede dividir lógicamente, como la tabla de usuarios de China Mobile, que se puede dividir en 10 tablas según los dígitos del teléfono móvil. Esto tendrá un cierto efecto en el rendimiento.
2) Las declaraciones SQL utilizan declaraciones de marcador de posición, y las declaraciones SQL deben escribirse de acuerdo con las regulaciones durante el desarrollo (como todo en mayúsculas, todo en minúsculas, etc.). Oracle colocará la declaración después de analizarla en el *** grupo de intercambio p>
Por ejemplo: seleccione * de Emp donde nombre =? Esta declaración solo tendrá una en el grupo de intercambio de ***, y si es una cadena, se basará en diferentes nombres. , por lo que los marcadores de posición son más eficientes
3) La base de datos no es solo un lugar para almacenar datos, sino también un lugar para la programación. Algunas operaciones que requieren mucho tiempo se pueden realizar mediante procedimientos almacenados, etc. hay menos usuarios, lo que altera las horas pico de uso del sistema y mejora el rendimiento de la base de datos
4). Intente no utilizar signos *, como seleccionar * de Emp, porque es necesario convertirlo en una columna específica. nombres Es necesario buscar el diccionario de datos, lo cual lleva mucho tiempo
5). Seleccione un nombre de tabla válido
Para consultas de conexión de varias tablas, el optimizador de Oracle puede. No se optimiza hasta este punto. Las consultas de varias tablas en Oracle se realizan en función de los datos de derecha a izquierda en la cláusula FROM, por lo que es mejor seleccionar la tabla con menos datos para la tabla de la derecha (es decir, la tabla básica). ). Esto es
Esta clasificación es más rápida. Si hay una tabla de enlaces (tabla intermedia de muchos a muchos), coloque la tabla de enlaces en el lado derecho, ya que Oracle optimizará automáticamente de forma predeterminada, pero si el optimizador está configurado. puede que no sea una optimización automática, por lo que es mejor escribir SQL de esta manera
6) Reglas de la cláusula Where
Dónde se procesan las cláusulas en Oracle de derecha a izquierda y la conexión entre ellas. tablas Las condiciones que pueden filtrar una gran cantidad de datos se escriben antes que otras condiciones y se colocan al final de dónde. Además, las columnas comparadas con el símbolo! = no usarán índices y las columnas que se han calculado (como cambiar a mayúsculas). , etc.) no usará índices (es necesario Establecer una función), es nulo, no es nulo, etc. El optimizador no usará índices
7). /p>
8). Utilice las transacciones de manera razonable. Configure correctamente el aislamiento de transacciones.
Las operaciones de datos de la base de datos consumen recursos de la base de datos. Intente utilizar el procesamiento por lotes para reducir la cantidad de operaciones de transacciones. 7. ¿Qué enlaces simbólicos se utilizan para las cadenas en Oracle?
Oracle utiliza la cadena de conexión simbólica como ?abc || ?d? ¿Optimizar la base de datos?
Las particiones de Oracle se pueden dividir en: particiones de lista, particiones de rango, particiones hash y particiones compuestas.
1). Mejorar la disponibilidad: si una partición de la tabla no se puede usar debido a una falla del sistema, las particiones buenas restantes de la tabla aún se pueden usar; Reducir el tiempo de apagado: si una falla del sistema solo afecta a una parte de las particiones de la tabla, entonces solo es necesario reparar esta parte de la partición, lo que puede llevar menos tiempo que reparar toda la tabla grande
3; ) Fácil mantenimiento: cree una tabla si es necesario, es mucho más fácil administrar cada zona pública de forma independiente que administrar una sola tabla grande
4). asignarse a diferentes discos para equilibrar las mejoras de E/S Rendimiento
5). Mejorar el rendimiento: operaciones como consultar, agregar y modificar tablas grandes se pueden descomponer en diferentes particiones de la tabla y ejecutarse en paralelo. , haciendo que la velocidad de ejecución sea más rápida
6). La partición es transparente para el usuario y el usuario final no puede sentir la existencia de la partición.
9. ¿Cómo realiza Oracle la paginación?
Oracle usa rownum para la paginación. Este es el método de paginación más eficiente. Hibernate también usa rownum para la paginación oralce.
p>seleccione * de
( seleccione rownum r,a de tabName donde rownum <= 20 )
donde r > 10
10. Oralce Cómo almacenar ¿Archivos y qué archivos se pueden almacenar?
Oracle puede almacenar clob, nclob, blob, bfile
Datos de caracteres de longitud variable Clob, que es lo que se menciona en otras bases de datos Tipo de datos de texto
Datos de tipo de caracteres variables Nclob, pero almacena datos de caracteres del conjunto de caracteres Unicode
Datos binarios de longitud variable Blob
Bfile Datos binarios variables almacenados fuera de la base de datos
11. Las columnas indexadas se utilizan en Oracle, donde se utilizan funciones de consulta condicional, agrupación, clasificación y agregación para las columnas. ¿Qué índices se utilizarán? p>
¿Índices? Vale la pena señalar que los índices compuestos (como los índices establecidos en la columna A y la columna B) pueden tener situaciones diferentes
12. ¿Cómo se implementa la base de datos cada 30 minutos? p> Exportar la base de datos a través del script de llamada de tarea programada del sistema operativo
13. Comparación de rendimiento de la consulta y clasificación de condiciones en Oracle
¿Uso de Orden por las condiciones para la indexación? son extremadamente estrictos. Los índices solo se pueden utilizar si se cumplen las siguientes condiciones:
1 Las columnas ordenadas por deben contener el mismo índice y el orden del índice es coherente con el orden de clasificación
2 ). No puede haber columnas con valores nulos
Por lo tanto, el rendimiento de la clasificación a menudo no es alto, por lo que se recomienda evitar el orden
14. Explique las diferencias entre la copia de seguridad en frío y la copia de seguridad en caliente y sus respectivas ventajas.
La copia de seguridad en frío ocurre cuando la base de datos se ha cerrado normalmente y es una forma de copiar archivos críticos a otra ubicación
La copia de seguridad en caliente se produce cuando la base de datos se está ejecutando, un método para realizar copias de seguridad de datos utilizando métodos de archivo
Ventajas y desventajas de la copia de seguridad en frío:
1). método de copia de seguridad rápido (simplemente copie los archivos)
2). Fácil de archivar (simplemente copie)
3). Fácil de restaurar a un determinado momento (simplemente copie el archivo nuevamente). )
4). Se puede utilizar con métodos de archivo que se combinan para restaurar el estado más reciente de la base de datos.
5). Bajo mantenimiento, alta seguridad.
Copia de seguridad en frío insuficiente:
1). Cuando se usa solo, solo puede proporcionar recuperación hasta un cierto momento.
2) Durante todo el proceso de implementación de la copia de seguridad, se debe realizar una copia de seguridad de la base de datos y no se puede realizar otro trabajo. En otras palabras, durante el proceso de copia de seguridad en frío, la base de datos debe estar cerrada.
3) Si el espacio en disco es limitado, solo podrá copiar a otros dispositivos de almacenamiento externos, como cintas, y la velocidad será muy lenta.
4). No puede ser restaurado por tabla o usuario.
Ventajas y desventajas de la copia de seguridad en caliente
1). Se puede realizar una copia de seguridad a nivel de espacio de tabla o de archivo de datos, y el tiempo de copia de seguridad es corto.
2). La base de datos aún se puede utilizar durante la copia de seguridad.
3). Se puede lograr una recuperación de segundo nivel (recuperación hasta un determinado momento).
4). Puede restaurar casi todas las entidades de la base de datos.
5). La recuperación es rápida y en la mayoría de los casos ocurre mientras la base de datos aún está funcionando.
Las desventajas de la copia de seguridad en caliente son:
1). No cometa errores, de lo contrario las consecuencias serán graves.
2) Si la copia de seguridad en caliente no tiene éxito, los resultados no se pueden utilizar para la recuperación en un momento dado.
3). Debido a que es difícil de mantener, hay que tener especial cuidado y no permitir que acabe en fracaso.
15. Explique la diferencia entre bloque de datos, extensión y segmento.
El bloque de datos es la unidad lógica más pequeña de Oracle. Normalmente, Oracle lee y escribe bloques desde el disco. p >
El área de extensión se compone de varios bloques adyacentes
El segmento de segmento se compone de un grupo de áreas
El espacio de tabla Tablespace es donde se almacenan lógicamente los datos de la base de datos. Un espacio de tabla puede contener varios archivos de datos;