
Dica do Dia: Como enviar arquivos para o My Oracle Support de forma rápida e prática via curl https.
Com a mudança e modernização do My Oracle Support (MOS), o processo de anexar arquivos a uma Service Request (SR) mudou bastante em relação ao portal antigo.
Normalmente, quando precisamos enviar logs, traces, dumps ou outros arquivos para uma SR, acessamos o MOS pelo navegador e fazemos o upload diretamente pela interface. Porém, dependendo do tamanho e da quantidade de arquivos, esse processo pode não ser a opção mais prática.
Para arquivos de até 2 GB, o upload pode ser realizado diretamente pela própria SR no MOS. Para arquivos maiores, a Oracle disponibiliza métodos de transferência específicos, como HTTPS utilizando ferramentas como cURL, permitindo realizar o envio diretamente pelo terminal.
A grande vantagem é que podemos realizar o upload de forma mais rápida, simples e prática, inclusive enviando múltiplos arquivos sem precisar ficar navegando pela interface do MOS.
Neste post, vou mostrar como realizar o upload de arquivos para uma SR do My Oracle Support utilizando o terminal, incluindo arquivos maiores que 2 GB, de maneira simples e segura.
1 – Gerar o token de autenticação, que possui validade de 60 minutos.



2 – Copie o token de autenticação e cole na variável TOKEN no script send_files_mos_oracle.sh:
#!/bin/bash
SR_NUM="$1"
FILE="$2"
TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
CODE=$(curl -s -o output --location-trusted --location --request PUT \
"https://support.oracle.com/cloud-transport/cfm/fileManagement/serviceRequests/${SR_NUM}/attachment/upload/$(basename "$FILE")?visibility=MISC&restricted=NOT_RESTRICTED" \
--header "Content-Type: application/octet-stream" \
--header "Authorization: Bearer ${TOKEN}" \
-T "$FILE" \
-w "%{http_code}")
CURL_EXIT=$?
case "$CODE" in
2*) echo "OK ($CODE)" ;;
401) echo "Token expired — generate a new one" ; cat output ;;
404) echo "Service Request not found: $SR_NUM" ;;
413) echo "File too large" ;;
429) echo "Rate limit exceeded — wait and try again" ;;
000) echo "No HTTP response (curl exit $CURL_EXIT)" ;;
*) echo "Failure $CODE" ; cat output ;;
esac
3 – Execute o script informando o número da SR e o caminho do arquivo que deseja anexar à SR.
[root@srv01 temp]# ./send_files_mos_oracle.sh 3-12345678901 /tmp/tracexxxxx.log
############################################################################################################ 100.0%