ORA-01033: ORACLE initialization or shutdown in progress
Opublikował: galaxys
Jeżeli pewnego pięknego dnia nie będziesz mógł podłączyć się do bazy danych, a sqlplus wypluje poniższy błąd:
ORA-01033: ORACLE initialization or shutdown in progress
Zastosuj następujące komendy:
z cmd.exe uruchom: sqlplus sys as sysdba
następnie z poziomu sqlplus:
shutdown abort;
startup nomount;
alter database mount;
alter database open;
tutaj może pojawić się error:
ERROR at line 1:
ORA-01113: file 6 needs media recovery
ORA-01110: data file 6: ‘C:\ORACLEXE\ORADATA\XE\PPS.DBF’
Należy wykonać polecenie:
recover datafile ‘C:\ORACLEXE\ORADATA\XE\PPS.DBF’;
i ponownie:
alter database open;
Po tym zabiegu baza powinna już wstać i działać bez problemu
KS-PPS Testowo, Kasowanie i zakładania użytkowników
Opublikował: galaxys
W przypadku gdy potrzebujemy potestować bazę KS-PPS przyda się skrypt, który skasuje i założy od nowa użytkowników KS i PPS.
Najpierw logujemy się do bazy:
sqlplus.exe SYSTEM AS SYSDBA
A następnie wklejamy skrypt:
DROP USER PPS CASCADE;
DROP USER KS CASCADE;
CREATE USER KS PROFILE DEFAULT
IDENTIFIED BY ks_password DEFAULT TABLESPACE KS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON KS
ACCOUNT UNLOCK;
GRANT CREATE DATABASE LINK TO KS;
GRANT CREATE PUBLIC SYNONYM TO KS;
GRANT CREATE SYNONYM TO KS;
GRANT CREATE TYPE TO KS;
GRANT CREATE MATERIALIZED VIEW TO KS;
GRANT CREATE ROLE TO KS;
GRANT CREATE TABLE TO KS;
GRANT CREATE VIEW TO KS;
GRANT CREATE PROCEDURE TO KS;
GRANT CREATE SEQUENCE TO KS;
GRANT CREATE TRIGGER TO KS;
GRANT CREATE SESSION TO KS;
GRANT EXECUTE ON DBMS_LOCK TO KS WITH GRANT OPTION;
GRANT EXECUTE ON UTL_SMTP TO KS WITH GRANT OPTION;
GRANT CONNECT TO KS;
GRANT RESOURCE TO KS;
CREATE USER PPS PROFILE DEFAULT
IDENTIFIED BY kspps DEFAULT TABLESPACE PPS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON PPS
ACCOUNT UNLOCK;
GRANT CREATE DATABASE LINK TO PPS;
GRANT CREATE PUBLIC SYNONYM TO PPS;
GRANT CREATE SYNONYM TO PPS;
GRANT CREATE TYPE TO PPS;
GRANT CREATE MATERIALIZED VIEW TO PPS;
GRANT CREATE ROLE TO PPS;
GRANT CREATE TABLE TO PPS;
GRANT CREATE VIEW TO PPS;
GRANT CREATE PROCEDURE TO PPS;
GRANT CREATE SEQUENCE TO PPS;
GRANT CREATE TRIGGER TO PPS;
GRANT CREATE SESSION TO PPS;
GRANT EXECUTE ON DBMS_LOCK TO PPS WITH GRANT OPTION;
GRANT EXECUTE ON UTL_SMTP TO PPS WITH GRANT OPTION;
GRANT CONNECT TO KS;
GRANT RESOURCE TO KS;
Dwie pierwsze linijki to oczywiście skasowanie użytkowników, ale już kolejne to ich założenie.
Oczywiście nie należy zapomnieć o odtworzeniu danych z backupów.
KS-PPS – Disaster Recovery Plan
Opublikował: galaxys
Przy tego typu danych powinien byc zapewniony jakiś mechanizm tworzenia kopii zapasowych i co najważniejsze mechanizm ich poprawnego odzyskiwania.
O ile od biedy program KS-PPS posiada mechanizm do tworzenia backupu, pod warunkiem, że baza Oracle i program klienta znajdują się na tej samej maszynie. W innym przypadku, tak jak u mnie, należy postąpić nieco inaczej.
1. Zabezpieczenie danych – BACKUP.
Na komputerze, na którym będzie robiony proces backupu powiniśmy mieć zainstalowaną bazę Oracle. Jeżeli jest to komputer inny niż serwer bazy KS-PPS to po zainstalowaniu Oracle’a możeby wyłączyć jego serwis i skasować pliki bazy danych. Odzyskamy ponad 1 GB na dysku, a będziemy mieli potrzebne narzędzia do tworzenia i zarządzania danymi. Przy procesie tworzenia kopii zapasowych skorzystamy z programu exp.exe zawartego w folderze: C:\oraclexe\app\oracle\product\10.2.0\server\BIN\exp.exe
Pamiętajmy jednak przed tym, żeby plik TNSNAMES.ORA wskazywał na poprawny serwer. Po instalacji serwera, nawet jeżeli będzie wyłączony, obowiązuje plik znajdujący się tutaj: C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora
Wystarczy w sekcji:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = galaxy1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
wpisać odpowiedni adres w polu HOST.
Teraz proponuję wykorzystać skrypt KSPPS_Backup_DB_Oracle, który wykona zrzut bazy danych KS i PPS do plików. Pliki będa miały w nazwie datę i czas utworzenia. (Po jego downloadzie proszę zmienić rozszerzenie z txt na cmd)
Jedyne co powinniśmy w nim zmienić to ścieżkę do katalogu z kopiami. Uruchom go, zostaniesz poproszony o wpisanie haseł dwóch użytkowników – KS i PPS.
Po chwili
kopie wraz z logami sa zapisane na dysku. Możesz je nagrać na CD lub schować w bezpieczne miejsce.
2. ODTWARZANIE danych.
Moja propozycja wygląda następująco.
Instalujesz program KS-PPS i wybierasz instalacje serwerową. Chyba, że już masz zainstalowanego Oracle’a – to wybierasz tylko tworzenie danych w istniejącej bazie.
Teraz musimy skasować istniejących użytkowników KS i PPS. Proponuję zrobić to przez stronę www. Adres: http://127.0.0.1:8080/apex, ewentualnie zmieniamy adres maszyny. Logujemy sie na użytkownika SYSTEM, hasło jest takie jak podane podczas instalacji. Przechodzimy do menu: Administration \ Database Users. Klikamy na kasowanym użytkowniku. Klikamy przycisk Drop, zaznaczamy przełącznik Cascade i wciskamy przycisk Drop User. W zależności od szybkości serwera operacje mogę trwać około minuty.
Po ich skasowaniu należy założyć nowe konta.
Polecam użyć do tego programu sqlplus.exe znajdującego się w folderze serwera Oracle.
C:\oraclexe\app\oracle\product\10.2.0\server\BIN
Ale po kolei: Uruchamiamy okno cmd.exe
przechodzimy do folderu BIN poleceniem
C:\
cd \oraclexe\app\oracle\product\10.2.0\server\BIN
Oczywiście dotyczy to domyślnej instalacji na komputerze z zainstalowanym systemem Windows.
teraz musimy zalogować się do bazy jako SYSDBA.
Wykonujemy polecenie:
sqlplus SYSTEM@XE AS SYSDBA
i w okno programu wklejamy zawartość pliku: KSPPS – Create User.
Można też zrobić to w jednej linii ale trzeba jawnie użyć hasła.
sqlplus SYSTEM/password@XE AS SYSDBA < sqlplus_SYSTEM_SYSDBA.txt
Jeżeli plik sqlplus_SYSTEM_SYSDBA.txt znajduje sie w innym folderze niż aktualny to przed nim trzeba podać bezwzględną ścieżkę do niego.
Teraz kolej na import danych.
Nie wychodząc z folderu BIN wykonujemy następujące polecenia (uwaga!!! ważna jest kolejność importu, najpierw KS, a potem PPS):
imp.exe KS@XE FILE=”KS_Backup.dat”
imp.exe PPS@XE FILE=”PPS_Backup.dat”
W międzyczasie zostaniemy poproszeni o wpisanie stosownych haseł i na koniec powinna pojawić się linijka, że odzyskanie danych odbyło się “without error”. Oczywiście nazwy plików mogą sie różnić i w zależności od ich umiejscowienia należy podać stosowna ścieżkę dostępu.
Oryginalna instalacja nie przewiduje aby użytkownicy mieli nadane niektóre uprawnienia i przed uruchomieniem programu można je zdjąć. Nie przedstawiam tutaj skryptu, można to zrobić przez stronę www. Uprawnienia do odebrania:
- CREATE PUBLIC SYNONYM
- CREATE TYPE
- CREATE MATERIALIZED VIEW
- CREATE ROLE
Jednak jeśli ktoś jest w tanie mi pomóc to będę bardzo wdzięczny za zamianę kliknięć na stronie www na skrypty SQL.
KS-PPS – hasło PPS
Opublikował: galaxys
Program KS-PPS wykorzystuje kilka różnych kont podczas dostępu do danych. Tworzy dwóch użytkowników w bazie Oracle. O ile jeden ma hasło ustawiane podczas instalacji to hasło do konta PPS jest domyślne i niezmienialne. Jego znajomość jest potrzebna do importu danych z KS-SWD do KS-PPS. Tak więc hasło użytkownika PPS brzmi “kspps”.
Słowa kluczowe: hasło operatora bazy pps.
KS-PPS – ogólnie
Opublikował: galaxys
Drogi użytkowniku programu KS-PPS, jeżeli masz jakieś problemy z instalacją serwera Oracle, instalacją programu KS-PPS, importem danych z programu KS-SWD pomogę o ile sam będę potrafił rozwiązać dany problem.
Sam jestem użytkownikiem tego systemu i wiem ile problemów trzeba zwalczyć, żeby to dobrze działało.
Jeżeli to kogoś interesuje to powiem, że serwer Oracle’a mam zainstalowany na Linux’ie Ubuntu, a sam program KS-PPS na komputerze z systemem Windows.
Jest to dobre rozwiązanie jeżeli planujesz używać programu na wielu stanowiskach. Pytanie możesz zadać albo mailem albo nawet jako komentarz do tego postu.
W planach mam wdrożenie systemu drukowania recept i prowadzenia pełnej dokumentacji medycznej – postaram się to zrobić w ciągu najbliższego roku.
Pozdrawiam wszystkich świadczeniodawców.
NFZ zaatakowany DoS
Opublikował: galaxys
Każdy (prawie) użytkownik Internetu słyszał zapewne o ataku typu DoS (Denial of Service). Winny: krakier
… ale nie w przypadku stron NFZ. Nie trzeba być włamywaczem, żeby dokonać tego ataku. Wystarczy być użytkownikiem portalu SZOI naszego narodowego operatora zdrowia.
Proszę sobie wyobrazić, że nie tylko każdy świadczeniodawca, który podpisuje umowe bezpośrednio z NFZ ale także podwykonawca usług medycznych musi mieć konto w serwisie. Problem polega na tym, że wszyscy dowiadują się o tym pod koniec roku kiedy trzeba przygotować ofertę na rok 2008. No i niestety, serwer “odmówił posługi”
. Chyba Nasz Fundusz Zachorowań nie przewidział takiego ataku i nie przygotował odpowiednio sprzętu, dlatego przez najbliższych kilka dni najczęściej pojawiającym się komunikatem było:
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
W tej chwili jest godzina 2:37 (na ranem) i komunikat pojawia się za każdym razem.
Dopiero pod koniec listopada NFZ rozstrzygnęło przetarg na nowy serwer bazodanowy – o ile będzie służył świadczeniodawcom – to powinien sobie poradzić z obsługa takiego niespodziewanego
ruchu. Powinien, bo kosztował tylko nieco ponad dwa miliony złotych. W zamian za dwie bańki NFZ dostanie oryginalnego IBM’a z 4 procesorami Power 6, 64 GB RAM i 1,6 TB pamięci dyskowej. Czy to pomoże? Zapewne tylko do kolejnego pomysłu NFZ – czyli do przyszłorocznych negocjacji.
Czego i sobie i pozostałym świadczeniodawcom NIE życzę.
Oracle dla KS-PPS
Opublikował: galaxys
Podczas instalacji bazy Oracle Database XE pod Linuxem przeczytaj najpierw artykuł z poniższego linku.
http://www.oracle.com/technology/tech/linux/install/xe-on-kubuntu.html
Ułatwi Ci znacznie jej instalacje i konfiguracje.
Najważniejszą rzeczą przy instalowaniu Oracle jest albo wcześniejsze utworzenie odpowiednio dużej partycji SWAP albo dołożeniu pliku swap w trakcie jej instalacji.
Pokrywające się częściowo informacje znajdują się też na stronie DebianHelp oraz debian-administration.
Import danych – błąd DBService
Opublikował: galaxys
Jeżeli będziesz importował dane z KS-SWD do KS-PPS i pojawi się błąd:
“Utworzenie DBService’a import nie powiodło się”
oraz:
“Nie udało się utworzyć połaczenia z bazą danych”,
to powinieneś ściągnąć plik DBServiceError, i rozpakować go do klienta PPS do katalogu BDE.
Plik bde.reg zaplikuj do rejestru oraz uruchom MiniReg.bat
Następnie w instalkach programu PPS znajdź plik sqlora.dll i przegraj go do folderu
c:\program files\common files\borland shared\bde”.
Teraz Import danych powinien obyc sie bez problemów
Oracle CHARACTER SET EE8MSWIN1250
Opublikował: galaxys
Podczas instalacji progrmau KS-PPS może wystąpić błąd informujący o niezgodności zestawu znaków między programem KS-PPS, a bazą Oracle.
Rozwiązaniem będzie tutaj zaaplikowanie EE8MSWIN1250, który poprawi ten błąd.
Należy pamiętać, aby logować się do SQLPlus’a na stacji, na której stoi Oracle, gdyż zdalne sesje zostaną zerwane.
W związku z tym, że skrypt otrzymałem gotowy to gdyby wystąpiły jakieś problemy z jego uruchomieniem zalecam:
poprawić linijkę skryptu na
sqlplus SYSTEM AS sysdba @ee8mswin1250.sql
i skopiować to w ogóle do katalogu BIN OracleXE.
Skrypt:
SET ECHO ON
SET SERVEROUTPUT ON
SPOOL EE8MSWIN1250.TXT
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE EE8MSWIN1250;
SHUTDOWN IMMEDIATE;
STARTUP OPEN;
SPOOL OFF
EXIT
[Edit: 2009.11.04]
KS-PPS
Opublikował: galaxys
No i stało się.
NFZ już nie chce płacić na KS-SWD więc świadczeniodawcy muszą kupic program we własnym zakresie.
Nic trudnego. W końcu Kamsoft, niejako z rozpędu, jest jednym z dwóch głównych dostawców takiego oprogramowania.
W poniższych wpisach będę przedstawiał niektóre z problemów, które przydarzyły mi się podczas wdrożenia KS-PPS.
