Español

Cómo: Realizar restauraciones de esquema de una geodatabase corporativa de Oracle

Resumen

Este artículo describe la serie de pasos a realizar al importar un archivo de Oracle Data Pump por esquema usando la utilidad de importación de Data Pump - impdp. Estos pasos deben ejecutarse de uno en uno.

Versiones compatibles:
  • EGDB: All
  • DBMS: Oracle
  • Versión DBMS: 11g y posteriores

Procedimiento

  1. Cree una nueva base de datos de Oracle.
  2. Conéctese como SYS mediante SQL*Plus.
sqlplus sys/syspassword@server/sid as sysdba
  1. Otorgue permisos públicos para la geodatabase de Oracle.
GRANT EXECUTE ON dbms_pipe TO public;
GRANT EXECUTE ON dbms_lock TO public;
GRANT EXECUTE ON dbms_lob TO public;
GRANT EXECUTE ON dbms_utility TO public;
GRANT EXECUTE ON dbms_sql TO public;
GRANT EXECUTE ON utl_raw TO public;
  1. Obtenga una lista de propietarios que poseen datos en la antigua geodatabase corporativa.
select distinct owner from sde.layers
union
select distinct owner from sde.st_geometry_columns
union
select distinct owner from sde.table_registry
order by 1;
  1. Cree todos los espacios de tablas necesarios.
Nota:
Este es un espacio de tablas predeterminado para extender automáticamente.
CREATE TABLESPACE SDETBS DATAFILE '/home/oracle/orcl/oradata/banner/sde.dbf'
SIZE 100M AUTOEXTEND ON NEXT 51200K MAXSIZE UNLIMITED EXTENT MANAGEMENT
LOCAL UNIFORM SIZE 320K LOGGING ONLINE SEGMENT SPACE MANAGEMENT MANUAL;
  1. Cree todos los usuarios/esquema necesarios.
create user sde identified by sdepassword default tablespace sdetbs;
  1. Otorgue todos los permisos necesarios al nuevo usuario.
grant CREATE SESSION to sde;
grant CREATE TABLE to sde;
grant CREATE TRIGGER to sde;
grant CREATE SEQUENCE to sde;
grant CREATE PROCEDURE to sde;

grant EXECUTE ON DBMS_CRYPTO to sde;
grant CREATE INDEXTYPE to sde;
grant CREATE LIBRARY to sde;
grant CREATE OPERATOR to sde;
grant CREATE PUBLIC SYNONYM to sde;
grant CREATE TYPE to sde;
grant CREATE VIEW to sde;
grant DROP PUBLIC SYNONYM to sde;
grant ADMINISTER DATABASE TRIGGER to sde;

grant ALTER ANY INDEX to sde;
grant ALTER ANY TABLE to sde;
grant CREATE ANY INDEX to sde;
grant CREATE ANY TRIGGER to sde;
grant CREATE ANY VIEW to sde;
grant DROP ANY INDEX to sde;
grant DROP ANY VIEW to sde;
grant SELECT ANY TABLE to sde;

grant ALTER SESSION to sde;
grant ANALYZE ANY to sde;
grant SELECT ANY DICTIONARY to sde;
grant CREATE DATABASE LINK to sde;
grant CREATE MATERIALIZED VIEW to sde;
grant RESTRICTED SESSION to sde;
grant UNLIMITED TABLESPACE to sde;
grant ALTER SYSTEM to sde;
grant SELECT_CATALOG_ROLE to sde;
  1. Cree un directorio para que el usuario SYSTEM pueda acceder.
create directory DPUMP1 as '/home/oracle/dpump';
  1. Otorgue privilegios de lectura y escritura al usuario SYSTEM para leer los archivos del directorio.
GRANT READ, WRITE ON DIRECTORY DPUMP1 to system;
exit
  1. Ejecute la utilidad impdp desde la ventana CMD para cada esquema de usuario.
  • Ejemplo 1: Esquema SDE
impdp system/sys directory=dpump1 logfile=sde_imp.log dumpfile=backup.DMP schemas=sde
  • Ejemplo 2: Esquema SIG
impdp system/sys directory=dpump1 logfile=GIS_imp.log dumpfile=backup.DMP schemas=GIS
  1. Inicie sesión en SQL*Plus y compruebe si hay objetos no válidos.
sqlplus sys/sys@server/sid as sysdba
Select count(*) from dba_objects where owner='SDE' and status='INVALID';
  1. Compile cualquier objeto de esquema no válido.
exec dbms_utility.compile_schema(schema => 'SDE');

Información relacionada