code: public synchronized OServerAdmin copyDatabase(final String iDatabaseName, final String iDatabaseUserName,
        final String iDatabaseUserPassword, final String iRemoteName, final String iRemoteEngine) throws IOException {
      storage.checkConnection();
  
      try {
  
        final OChannelBinaryClient network = storage.beginRequest(OChannelBinaryProtocol.REQUEST_DB_COPY);
        try {
          network.writeString(iDatabaseName);
          network.writeString(iDatabaseUserName);
          network.writeString(iDatabaseUserPassword);
          network.writeString(iRemoteName);
          network.writeString(iRemoteEngine);
        } finally {
          storage.endRequest(network);
        }
  
        storage.getResponse(network);
  
        OLogManager.instance().debug(this, "Database '%s' has been copied to the server '%s'", iDatabaseName, iRemoteName);
  
      } catch (Exception e) {
        OLogManager.instance().exception("Cannot copy the database: " + iDatabaseName, e, OStorageException.class);
      }
  
      return this;
    }
docs: Copies a database to a remote server instance.
  
  @param iDatabaseName
  @param iDatabaseUserName
  @param iDatabaseUserPassword
  @param iRemoteName
  @param iRemoteEngine
  @return The instance itself. Useful to execute method in chain
  @throws IOException