Actualización de geodatabases de PostgreSQL en ArcGIS Server for Amazon Web Services
Las siguientes secciones describen cuatro escenarios de actualización de geodatabase:
- Mover los datos de ArcGIS 10.1 for Amazon Web Services a ArcGIS 10.2.1 for Amazon Web Services
- Mover los datos de ArcGIS 10 for Amazon Web Services a ArcGIS 10.2.1 for Amazon Web Services
- Mover los datos de ArcGIS Server 10.1 o 10.2.1 for Amazon Web Services a una instancia de ArcGIS Server 10.2.1 for Amazon Web Services
- Actualizar una instancia existente de ArcGIS 10.1 for Amazon Web Services a 10.2.1 y actualizar las geodatabases que estén en la misma instancia que ArcGIS Server (SITEHOST)
- Actualizar una instancia existente de ArcGIS 10.1 for Amazon Web Services a 10.2.1 y actualizar las geodatabases que estén en su propia instancia de Amazon Web Services (EGDBHOST)
Mover los datos de ArcGIS Server 10.1 for Amazon Web Services a una instancia de ArcGIS Server 10.2.1 for Amazon Web Services
Una manera de migrar a ArcGIS 10.2.1 es crear una nueva instancia de ArcGIS Server 10.2.1 for Amazon Web Services, mover los datos y volver a publicar sus servicios.
Mover datos de una instancia de EGDB de ArcGIS 10 for Amazon Web Services a una instancia de ArcGIS Server 10.2.1 for Amazon Web Services
En ArcGIS 10, existía una Amazon Machine Image (AMI) de geodatabase corporativa independiente que contenía un clúster de base de datos de PostgreSQL 8.3.8 en Windows. En ArcGIS 10.2.1, ArcGIS Server (Linux) con PostgreSQL AMI ejecuta Ubuntu Linux y, opcionalmente, puede contener un clúster de bases de datos PostgreSQL 9.2.4. No puede mover directamente de una base de datos de PostgreSQL en Windows a otra en Linux. Por lo tanto, al migrar a ArcGIS Server 10.2.1 for Amazon Web Services, debe mover o volver a cargar los datos. Consulte la sección "Opciones para la transferencia de datos a la nube" en Estrategias para la transferencia de datos a Amazon Web Services. Una vez que los datos se mueven a la nueva instancia, tiene que volver a publicar los servicios.
Mover los datos de ArcGIS Server 10.1 o 10.2.1 for Amazon Web Services a una instancia de ArcGIS Server 10.2.1 for Amazon Web Services
En ArcGIS 10.1 y 10.2, ArcGIS for Server 10.2 (Linux) con AMI de PostgreSQL contenía PostgreSQL 9.0.13. Si desea mover los datos a ArcGIS Server 10.2.1 for Amazon Web Services y PostgreSQL 9.2.4, debe mover o volver a cargar los datos. Consulte la sección "Opciones para la transferencia de datos a la nube" en Estrategias para la transferencia de datos a Amazon Web Services. Una vez que los datos se mueven a la nueva instancia, tiene que volver a publicar los servicios.
Actualizar una instancia existente de ArcGIS 10.1 for Amazon Web Services a 10.2.1 y actualizar las geodatabases que estén en la misma instancia que ArcGIS Server (SITEHOST)
Los pasos de esta sección le indican la forma de actualizar geodatabases en PostgreSQL que residen en la misma instancia que ArcGIS Server (SITEHOST).
Actualice ArcGIS Server, mueva el nuevo archivo st_geometry.so al directorio lib de PostgreSQL, detenga ArcGIS Server, ejecute una secuencia de comandos en Python para actualizar cada geodatabase y, a continuación, reinicie ArcGIS Server.
-
Ya debe tener instalado el Service Pack o el parche para ArcGIS for Server en su instancia de AWS.
Consulte Aplicar una actualización de ArcGIS a un sitio de un solo equipo o bien Aplicar un ArcGIS actualizado a un sitio de varios equipos para obtener las instrucciones si aún no ha instalado el software.
- Antes de actualizar las geodatabases, debe realizar copias de seguridad de las mismas. La forma más fácil de realizar este proceso es crear una instantánea del volumen de EBS que contiene los datos.
- Además, antes de realizar la actualización, debe copiar el archivo st_geometry.so de /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 a /usr/lib/postgresql/9.0/lib.
- El archivo st_geometry.so es propiedad de la raíz. Por lo tanto, después de conectar a la instancia de SITEHOST de Amazon Web Services como ubuntu, tiene que cambiar los usuarios a la raíz:
sudo su -
Nota:
Tenga en cuenta que no puede conectarse como el usuario arcgis y cambiar al usuario raíz.
- Antes de copiar el nuevo archivo, renombre el antiguo.
mv /usr/lib/postgresql/9.0/lib/st_geometry.so /usr/lib/postgresql/9.0/lib/st_geometryOLD.so
- Copie el nuevo archivo st_geometry.so.
cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /usr/lib/postgresql/9.0/lib
- Cambie los permisos en el archivo st_geometry.so para que otros usuarios puedan leerlo y ejecutarlo.
chmod 755 /usr/lib/postgresql/9.0/lib/st_geometry.so
- El archivo st_geometry.so es propiedad de la raíz. Por lo tanto, después de conectar a la instancia de SITEHOST de Amazon Web Services como ubuntu, tiene que cambiar los usuarios a la raíz:
- Cambie al usuario arcgis.
su - arcgis
- Abra un editor de texto para crear la secuencia de comandos en Python de actualización.
Por ejemplo:
vi upgrade.py
- Copie la siguiente secuencia de comandos en un editor de texto.
Modifique la secuencia de comandos para usar información específica en su sitio, por ejemplo el nombre de instancia, la contraseña de sde, el nombre y la ubicación del archivo de conexión, y el nombre de la base de datos.
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
Consulte Crear conexión de base de datos y Actualizar Geodatabase para obtener más información sobre la sintaxis de la herramienta.
- Guarde el archivo y cierre el editor de texto.
- Detenga ArcGIS Server.
/arcgis/server/stopserver.sh
- Ejecute la secuencia de comandos en Python.
/arcgis/server/tools/python <path to the file>/upgrade.py
Es probable que vea varias observaciones acerca de las referencias de tipo. Puede hacer caso omiso de ellas; no indican ningún error en la actualización.
La información se registra en el archivo GDBUpgrade.log en /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>, si se produce un error durante la actualización.
- Ejecute lo siguiente en Python para asegurarse de que la geodatabase se ha actualizado. Sustituya /tmp/egdb_connection.sde por el nombre y la ubicación de su archivo de conexión.
Primero, abra un símbolo del sistema con arcpy.
cd /arcgis/server/tools ./python
Use isCurrent para determinar si la geodatabase está actualizada a la versión actual.
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
Si print isCurrent devuelve True, la geodatabase está actualizada.
- Para salir del símbolo del sistema con arcpy, escriba quit().
- Modifique la secuencia de comandos y vuelva a ejecutarla para cada una de las geodatabases que necesite actualizar.
- Una vez actualizadas todas las geodatabases, reinicie ArcGIS Server.
/arcgis/server/startserver.sh
Si tiene un sitio de varios equipos, realiza el paso 14 de Aplicar una actualización de ArcGIS a un sitio de varios equipos Ubuntu.
Actualizar una instancia existente de ArcGIS 10.1 for Amazon Web Services a 10.2.1 y actualizar las geodatabases que estén en su propia instancia de Amazon Web Services (EGDBHOST)
Los pasos de esta sección le indican la forma de actualizar geodatabases en PostgreSQL que residen en su propia instancia de Amazon Web Services dedicada (EGDBHOST).
Actualice ArcGIS Server en SITEHOST, mueva el nuevo archivo st_geometry.so de SITEHOST al directorio lib de PostgreSQL en EGDBHOST, detenga ArcGIS Server, ejecute una secuencia de comandos en Python desde SITEHOST para actualizar cada una de las geodatabases y, a continuación, reinicie ArcGIS Server.
-
Instale el Service Pack o el parche para ArcGIS for Server en su instancia de AWS.
Consulte Aplicación de un Service Pack en un sitio de un solo equipo o Aplicación de un Service Pack en un sitio de varios equipos para obtener instrucciones.
- Antes de actualizar las geodatabases, debe realizar copias de seguridad de las mismas. La forma más fácil de realizar este proceso es crear una instantánea del volumen de EBS que contiene los datos.
- Además, antes de realizar la actualización, debe copiar el archivo st_geometry.so de /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 a /usr/lib/postgresql/9.0/lib.
- Antes de copiar el nuevo archivo, renombre el antiguo en EGDBHOST. Dado que el archivo st_geometry.so es propiedad del usuario raíz, inicie una sesión en EGDBHOST como ubuntu y, a continuación, cambie al usuario raíz.
sudo su - mv /usr/lib/postgresql/9.0/lib/st_geometry.so /usr/lib/postgresql/9.0/lib/st_geometryOLD.so
- Debe mover el archivo st_geometry.so de /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 en SITEHOST a /usr/lib/postgresql/9.0/lib en EGDBHOST.
Dado que los dos directorios de origen y destino en las diferentes instancias no son accesibles por el mismo usuario, inicie una sesión en SITEHOST como usuario arcgis y copie el archivo en directorio gisdata en EGDBHOST.
cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /net/EGDBHOST/gisdata/st_geometry.so
- Inicie una sesión en EGDBHOST como ubuntu.
- Cambie al usuario raíz.
sudo su -
- Copie el archivo st_geometry.so de gisdata en /usr/lib/postgresql/9.0/lib.
cp /gisdata/st_geometry.so /usr/lib/postgresql/9.0/lib/st_geometry.so
- Cambie los permisos en el archivo st_geometry.so para que otros usuarios puedan leerlo y ejecutarlo.
chmod 755 /usr/lib/postgresql/9.0/lib/st_geometry.so
- Antes de copiar el nuevo archivo, renombre el antiguo en EGDBHOST. Dado que el archivo st_geometry.so es propiedad del usuario raíz, inicie una sesión en EGDBHOST como ubuntu y, a continuación, cambie al usuario raíz.
- Inicie una sesión en SITEHOST como usuario arcgis.
- Abra un editor de texto para crear la secuencia de comandos en Python de actualización.
Por ejemplo:
vi upgrade.py
- Copie la siguiente secuencia de comandos en un editor de texto.
Modifique la secuencia de comandos para usar información específica en su sitio, por ejemplo el nombre de instancia, la contraseña de sde, el nombre y la ubicación del archivo de conexión, y el nombre de la base de datos.
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
Consulte Crear conexión de base de datos y Actualizar Geodatabase para obtener más información sobre la sintaxis de la herramienta.
- Guarde el archivo y cierre el editor de texto.
- Detenga ArcGIS Server.
/arcgis/server/stopserver.sh
- Ejecute la secuencia de comandos en Python.
/arcgis/server/tools/python <path to the file>/upgrade.py
Es probable que vea varias observaciones acerca de las referencias de tipo. Puede hacer caso omiso de esos mensajes.
Si se produce un error durante la actualización, la información se registra en el archivo GDBUpgrade.log en /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>.
- Para asegurarse de que la geodatabase se ha actualizado, abra Python y ejecute la secuencia de comandos siguiente, sustituyendo /tmp/egdb_connection.sde por el nombre y la ubicación de su archivo de conexión:
Primero, abra un símbolo del sistema con arcpy.
cd /arcgis/server/tools ./python
Use isCurrent para determinar si la geodatabase está actualizada a la versión actual.
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
Si print isCurrent devuelve True, la geodatabase está actualizada.
- Para salir del símbolo del sistema con arcpy, escriba quit().
- Modifique la secuencia de comandos upgrade.py y vuelva a ejecutarla para cada una de las geodatabases que necesite actualizar.
- Una vez actualizadas todas las geodatabases, reinicie ArcGIS Server.
/arcgis/server/startserver.sh
Si tiene un sitio de varios equipos, realiza el paso 14 de Aplicar una actualización de ArcGIS a un sitio de varios equipos Ubuntu.