docs: runda 6 - cercetari, propuneri si conventia mediului Oracle
Cercetarile si propunerile rundelor 4-6 pe editarea facturii emise. Starea rundei 6 si ce s-a stabilit intra in progres.md. Nou: docs/conventii_mediu_oracle.md - pe dev/test se lucreaza numai cu ROA_CENTRAL si schemele CONTAFIN_ORACLE si MARIUSM_AUTO; schema ACN nu se foloseste. Scripturile de pachet sunt necalificate, deci schema tinta o decide sirul de conectare, nu fisierul. roafacturare.pj2 regenerat de git_sync. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013gYCNE26G1G7UoGu2ju7aS
This commit is contained in:
87
docs/conventii_mediu_oracle.md
Normal file
87
docs/conventii_mediu_oracle.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# Conventii - mediul Oracle de dev/test
|
||||
|
||||
Regula lui Marius, 20.08.2026. Se aplica **de fiecare data**, si sesiunii principale, si
|
||||
subagentilor. Nu e context, e conventie de lucru.
|
||||
|
||||
## 1. Nu se spune "baza"
|
||||
|
||||
Termenul e vag si a produs deja o intrebare care n-ar fi trebuit sa existe: *"ce este baza? care
|
||||
schema?"*. Se scrie intotdeauna **schema + instanta**, explicit:
|
||||
|
||||
> "se ruleaza pe schema `MARIUSM_AUTO` de pe `ROA_CENTRAL`"
|
||||
|
||||
nu "se ruleaza pe baza". Acelasi lucru in rapoarte, in handoff-uri, in propuneri si in mesaje.
|
||||
|
||||
## 2. Pe dev/test se lucreaza NUMAI cu ROA_CENTRAL
|
||||
|
||||
Instanta: **`ROA_CENTRAL`**. Schemele permise, singurele doua:
|
||||
|
||||
| Schema | Ce este |
|
||||
|---|---|
|
||||
| **`MARIUSM_AUTO`** | schema **de firma** - datele si pachetele de business (`VANZARI`, `VANZARI_DETALII`, `JTVA_COLOANE`, `PACK_FACTURARE`...). Aici se lucreaza pe functionalitate. |
|
||||
| **`CONTAFIN_ORACLE`** | schema **comuna tuturor schemelor de firma**: pachete comune, actualizarea bazei de date, utilizatori, drepturi de utilizator, nomenclatorul de firme. Se creeaza **pe fiecare server**. |
|
||||
|
||||
Nimic altceva. Daca o sarcina pare sa ceara altceva, se intreaba intai.
|
||||
|
||||
Modelul de retinut: fiecare firma are schema ei (in dev/test, `MARIUSM_AUTO`), iar
|
||||
`CONTAFIN_ORACLE` sta alaturi, o singura data per server, si deserveste toate schemele de firma.
|
||||
Deci o modificare in `CONTAFIN_ORACLE` e **transversala peste toate firmele de pe acel server** -
|
||||
se trateaza cu grija corespunzatoare, nu ca o schimbare locala.
|
||||
|
||||
## 3. Schema `ACN` nu se foloseste si nu se citeaza
|
||||
|
||||
Nu se interogheaza, nu se ia ca sursa de adevar, nu se pomeneste in rapoarte ca element de
|
||||
comparatie. Daca apare in rezultatul unei interogari pe `ALL_OBJECTS`/`ALL_SOURCE`, se **filtreaza
|
||||
din start**, nu se comenteaza.
|
||||
|
||||
Consecinta practica pentru interogarile de dictionar: se pune **intotdeauna** filtrul de `owner`.
|
||||
Fara el, randurile mai multor scheme se intercaleaza si output-ul devine ilizibil - capcana deja
|
||||
platita o data la citirea unui corp de pachet din `ALL_SOURCE`.
|
||||
|
||||
```sql
|
||||
select text from all_source
|
||||
where owner = 'MARIUSM_AUTO' -- niciodata fara aceasta linie
|
||||
and name = 'PACK_FACTURARE'
|
||||
and type = 'PACKAGE BODY'
|
||||
order by line;
|
||||
```
|
||||
|
||||
## 4. Conectare
|
||||
|
||||
```
|
||||
& 'D:\ROA\instantclient_19_18\sqlplus.exe' -L -S 'MARIUSM_AUTO/ROMFASTSOFT@ROA_CENTRAL' '@fisier.sql'
|
||||
```
|
||||
|
||||
Fisierul `.sql` se scrie in **ASCII**. SQL trimis prin pipe din PowerShell e spart de BOM.
|
||||
|
||||
## 5. Ce inseamna "se ruleaza un script de pachet"
|
||||
|
||||
Scripturile din `D:\ROA\DATABASE\SCRIPTURI_CLAR\` **nu modifica date** - inlocuiesc **cod stocat in
|
||||
Oracle** (`CREATE OR REPLACE PACKAGE` + `PACKAGE BODY`). De retinut:
|
||||
|
||||
- Efectul e **imediat si pentru toti cei conectati**. Nu seamana cu VFP, unde fiecare statie ruleaza
|
||||
propriul `.exe`.
|
||||
- Se recreeaza si **specificatia**, nu doar corpul - asta invalideaza obiectele dependente, care se
|
||||
recompileaza la prima folosire.
|
||||
- **Nu exista "undo".** Revenirea inseamna rularea unei versiuni anterioare a pachetului.
|
||||
- Scripturile sunt scrise **necalificat** (`CREATE OR REPLACE PACKAGE "PACK_FACTURARE"`, fara
|
||||
`CONNECT`, fara prefix de schema). Deci **se aplica schemei cu care esti conectat**, nu au tinta
|
||||
proprie. Schema tinta o decide exclusiv sirul de conectare.
|
||||
- Rularea unui script pe orice schema **se face doar la cererea explicita a lui Marius**. Un agent
|
||||
scrie scriptul; nu il aplica.
|
||||
|
||||
## 6. Stare constatata pe `ROA_CENTRAL`, 20.08.2026
|
||||
|
||||
Utila ca reper; de reconfirmat daca a trecut timp.
|
||||
|
||||
```
|
||||
DB_NAME: ROA server: 4e73d257c791 alias TNS: ROA_CENTRAL
|
||||
```
|
||||
|
||||
- `MARIUSM_AUTO` isi detine **propriile tabele** (`VANZARI_DETALII`, `JTVA_COLOANE` sunt TABLE in
|
||||
schema, nu sinonime catre alta schema). Deci cifrele obtinute conectat ca `MARIUSM_AUTO` sunt ale
|
||||
datelor din `MARIUSM_AUTO`.
|
||||
- `CONTAFIN_ORACLE` are 393 de obiecte si **nu** detine `VANZARI_DETALII`/`JTVA_COLOANE` - coerent
|
||||
cu rolul ei: infrastructura comuna (utilizatori, drepturi, firme, actualizare), nu date de firma.
|
||||
- `MARIUSM_AUTO.PACK_FACTURARE`: PACKAGE si PACKAGE BODY **VALID**, corpul modificat ultima data
|
||||
**20.08.2026 08:43** (aplicarea scriptului `ff_2026_08_20_01`, garda `FACT-025`).
|
||||
Reference in New Issue
Block a user