Diagnóstico e Solução de Problemas
Use informações de solução de problemas para identificar e tratar problemas comuns que podem ocorrer ao trabalhar com sua Plataforma Internet of Things (IoT).
Certifique-se de ter as permissões necessárias. Um administrador concede acesso criando as políticas necessárias. Para obter mais informações, consulte Pré-requisitos e Detalhes da Política da Plataforma Internet of Things (IoT).
Atualize suas senhas
Talvez seja necessário redefinir a senha do banco de dados ao estabelecer conexão com o banco de dados usando o APEX ou ao estabelecer conexão diretamente com o banco de dados usando o grupo de domínios de Identidades.
Causa: Se você estiver usando o APEX e precisar redefinir sua senha
Se você configurar o acesso para exibir seus dados IoT no APEX, dois usuários diferentes serão criados, um usuário de banco de dados e um usuário Administrador do Espaço de Trabalho do APEX. São dois usuários diferentes com o mesmo nome de usuário e a mesma senha inicial. Você pode atualizar as senhas de cada usuário.
Solução: Atualize a senha do banco de dados APEX
Somente um administrador de espaço de trabalho do APEX pode alterar a senha do usuário do banco de dados. Inicialmente, o administrador do espaço de trabalho do APEX usa a senha do banco de dados do APEX para fazer log-in e segue estas etapas para alterar a senha do banco de dados.
No APEX, faça log-in no Workspace do domínio IoT como administrador, usando o seguinte como o nome do espaço de trabalho e o nome de usuário do banco de dados, com sua senha de banco de dados APEX atual.Observação
Observe os dois sublinhados__WKSP.<domain-short-id-from-device-host>__WKSP- Vá para SQL Workshop e selecione SQL Commands.
- Confirme se o esquema
<iot-domain-short-id-from-device-host>__WKSPestá selecionado no menu drop-down do esquema superior direito. Observe que o esquema contém dois sublinhados. - Use esta instrução
ALTER USERSQL e a cláusulaREPLACEnecessária para alterar a senha do usuário do banco de dados:ALTER USER <workspace-administrator-user-name> IDENTIFIED BY "<new-password>" REPLACE "<old-password>"; - Selecione Executar.
- Exemplo de resultados mostrando a atualização de senha:
User altered. 0.24 seconds
Solução: Atualize sua senha do APEX
- Como administrador de espaço de trabalho do APEX, você pode alterar a senha de administrador do espaço de trabalho. Após fazer log-in no APEX como administrador, selecione a opção Definir Senha da Conta do APEX. Para obter mais informações, consulte Redefinindo sua senha no APEX.
- Como usuário do APEX, ao fazer log-in no aplicativo do APEX pela primeira vez, você será solicitado a alterar sua senha do APEX. Depois de fazer log-in inicial, você poderá redefinir a senha na página de log-in do APEX.
Dependendo do sistema usado, talvez sejam necessárias aspas duplas quando sua senha contiver caracteres especiais.
Solução: Redefina a senha do espaço de trabalho do APEX usando a API
POST /20250531/iotDomains/{iotDomainId}/actions/configureDataAccess
{
"type": "APEX",
"dbWorkspaceAdminInitialPassword": "<your-apex-initial-password>"
}Causa: falta de autorização ao estabelecer conexão diretamente com o banco de dados
Se você estabelecer uma conexão direta com o banco de dados usando o comando da CLI a seguir e não tiver autorização para estabelecer conexão diretamente com o banco de dados, poderá criar uma nova senha de banco de dados para que o grupo de domínios de Identidades se conecte.
Por exemplo, quando você usa o comando oci iot domain configure-direct-data-access e os parâmetros necessários para configurar a autenticação de um domínio IoT para estabelecer uma conexão direta com o banco de dados e não é possível estabelecer conexão.
oci iot domain configure-direct-data-access --iot-domain-id <iot-domain-OCID> --db-allow-listed-identity-group-names '["<tenancy-OCID:<identity-domain-name>/<identity-group-name>"]'ou se você usar este formato:
oci iot domain configure-direct-data-access --iot-domain-id <iot-domain-OCID> --db-allow-listed-identity-group-names '["<tenancy-OCID:<identity-group-name>"]'Solução: Atualize a senha do banco de dados para o usuário do domínio de Identidades
- Abra o menu de navegação, vá para Identity & Management e selecione domínios.
- Na página da lista de domínios, selecione o Domínio de identidades com o qual você deseja trabalhar e estabeleça conexão com um domínio IoT.
- Selecione a guia Gerenciamento de Usuários, selecione o usuário cujo nome de usuário você deseja atualizar. Selecione a guia Senhas do Banco de Dados para atualizar a senha excluir sua senha atual do banco de dados do IAM e criar uma nova senha do banco de dados do IAM.
Modelos gêmeos digitais usam especificações DTDL v3
Causa: A criação de um modelo de gêmeo digital resulta em erro
Quando você criar um modelo de gêmeo digital se receber um erro, confirme se está usando apenas as especificações DTDL v3 que são suportadas.
Solução: Use apenas as especificações DTDL v3 suportadas
- Se uma propriedade
writableestiver incluída no modelo de gêmeo digital, ela deverá ser definida comofalse. - Somente o
contentdentro do componente pode ser anotado comohistorized, indicando que a plataforma IoT deve manter a telemetria de série temporal desse sensor. Consulte o exemplo de modelo de gêmeo digitaldtdl-model-specifications.json. Para obter um exemplo, consulte Criando um Modelo Digital Twin.
Limites de Serviço Excedidos
Diagnostique e solucione problemas de limites de serviço de recursos do domínio IoT ou do grupo de domínios IoT por região.
Causa: IoT limites de recursos por região
A Plataforma Internet of Things (IoT) tem limites sobre o número de recursos por região.
Se você tentar criar mais de 2 domínios IoT ou mais em um grupo de domínios IoT, poderá ver o erro a seguir. Para obter mais informações, consulte criar um domínio IoT ou um grupo de domínios IoT.
The following service limits were exceeded: <resource-count>. Request a service limit increase from the service limits page in the console.
O sistema Oracle restringe a criação de até 2 domínios IoT em cada grupo de domínios IoT. O número máximo de grupos de domínios IoT é 5 e o número máximo de domínios IoT é 10 por região na sua tenancy. Para criar um domínio IoT, seu usuário deve ter acesso de leitura para o grupo de domínios IoT associado.
Solução: Atualize e aumente os limites
Consulte Limites do Serviço para revisar os limites dos recursos do IoT. Se precisar aumentar os limites, você poderá solicitar um aumento no limite do serviço.
Usando aspas com OCIDs
No Oracle Cloud Infrastructure (OCI), um OCID (Oracle Cloud Identifier) é um ID exclusivo designado a cada recurso de nuvem. Dependendo do cenário específico, ao interagir com o OCI por meio da CLI (Command Line Interface), da entrada JSON ou das chamadas de API, talvez você precise citar o OCID para que ele seja interpretado como valor de string. Ou talvez você precise remover aspas se um code editor que você está trabalhando adicionar aspas indesejadas.
Alguns aplicativos ou editores de código podem adicionar aspas indesejadas aos seus valores, revisar e remover as aspas indesejadas ou isso pode causar um erro.
Para estar em conformidade com os padrões JSON e garantir a interpretação correta pelos serviços do OCI, um OCID deve ser colocado entre aspas duplas, para que seja tratado como valor de string dentro de estruturas JSON ou entradas complexas. Quando especificada como argumentos simples e diretos para comandos da CLI, a cotação explícita geralmente não é necessária.
- Não citando OCIDs na CLI: Se um OCID for um argumento direto para um comando da CLI, você não precisará usar aspas explicitamente, a menos que ele faça parte de uma string maior ou de um tipo complexo que exija cotação.Este exemplo mostra que usar um OCID é um comando da CLI sem aspas:
oci iot digital-twin-adapter create --iot-domain-id ocid1.iotdomain.oc1.example-ocid - Cotando OCIDs ao incorporar em strings JSON: Se você estiver transmitindo um parâmetro complexo a um comando da CLI como uma string JSON com um valor de OCID, o OCID dentro da string JSON deverá estar entre aspas duplas e com escape, se necessário. Dependendo da ferramenta e do sistema operacional que você está usando, para Windows é necessário. Para obter mais informações, consulte Especificando Entrada Complexa na CLI.
- Cotando OCIDs em objetos JSON: Todos os valores de string dentro de um objeto JSON devem estar entre aspas duplas. Se um OCID for um valor em um objeto JSON que você está enviando ao OCI usando uma API ou em um comando da CLI, ele deverá ter aspas duplas:
{ "displayName": "my_resource", "compartmentId": "ocid1.compartment.oc1..<example>" } - Cotando OCIDs em Chamadas de API: Em corpos ou parâmetros de solicitação: Ao fazer chamadas de API para o OCI, se um OCID fizer parte do corpo da solicitação como um payload JSON ou um parâmetro de consulta, ele deverá ser tratado como uma string e entre aspas duplas no payload JSON. Ou deve ser codificado corretamente como uma string para parâmetros de URL. Os requisitos específicos dependem do ponto final da API e do tipo de dados esperado para esse parâmetro.
Em Digital Twin Instances usando aspas para uma chave externa
Chave externa é igual ao nome de usuário do dispositivo: Se uma instância de gêmeo digital for criada com aspas incorporadas na chave externa, por exemplo: "\"american-auto\"", o nome de usuário de autenticação básica, essas aspas se tornarão parte do nome de usuário necessário e deverão ser enviadas literalmente. Isso muitas vezes causa problemas de cotação de shell. Se você tiver incluído aspas no nome da sua chave externa, a solicitação curl também deverá incluir as aspas, ou ocorrer uma incompatibilidade e resultar em um erro 401 Unauthorized.
Se você usar aspas no valor da instância dupla digital external key, use as aspas ao fazer uma chamada de API. Ou você pode omitir as aspas em seu valor de chave externa.
--external-key e o valor correspondente que não usa aspas:--external-key 01-23-45-67-89-ab
Melhores práticas: crie instâncias de gêmeos digitais com chaves externas e não inclua aspas, por exemplo, american-auto Ou quando você precisar autenticar-se com nomes de usuário entre aspas, construa um cabeçalho Authorization: Basic ... em vez de usar -u para evitar erros de cotação.
Em Digital Twin Adapters, os objetos JSON devem usar aspas
Não há suporte para expressões sem aspas em rotas de entrada do adaptador duplo digital. Para obter mais exemplos, consulte Cenários.
Em um adaptador gêmeo digital, as expressões inbound-route não são suportadas como valores brutos sem aspas, por exemplo:
"$.speed": ${(.velocity_kph / 1.609) | floor}
inbound-route, as expressões devem ser incorporadas como strings usando aspas, por exemplo: "$.speed": "${(.velocity_kph / 1.609) | floor}"