Category Archives: Komputery

Backup karty Flash

Jeżeli używasz jakiegoś urządzenia wyposażonego w kartę flash i chciałbyś robić okresowo jej kopię to proponuję rozwiązanie, które jest niezależne od litery dysku, który zostanie przyznany karcie. Backup opiera się głównie na jej numerze seryjnym.

Potrzebny będzie także program Robocopy. Zdaje się, że od systemi MS Vista i nowszych jest zainstalowany razem z systemem, gdyby go jednak nie było polecam ten link Windows Server 2003 Resource Kit Tools lub każdy inny Resource Kit Tools.

Skrypt kopiujący wygląda następująco:

Option Explicit
Dim FlashDriveSerial
FlashDriveSerial = "1B41678D"
Dim WshShell,FSO,Drv
Dim Dname,Dserial,Dinfo
Dim wshSystemEnv
Set WshShell=WScript.CreateObject("WScript.Shell")
Set FSO=CreateObject("Scripting.FileSystemObject")
For each Drv in FSO.Drives
If Drv.IsReady Then
 If Hex(Drv.SerialNumber) = FlashDriveSerial Then
 Dinfo=Drv.DriveLetter
 WShShell.Run "robocopy.exe "& Dinfo&":\ .\GPX_BACKUP /LOG+:GARMINVISTA_SYNCH.log", 6, True
 End If
End If
Next

Jedyne zmiany które trzeba wprowadzić to numer seryjny karty flash oraz ścieżki do folderów z danymi, zarówno źródłowym jak i docelowym.

Numer seryjny można obejrzeć uruchamiając inny skrypt, ze strony Bill’a James’a pod tytułem: Get Information About Your Drives. Ewentualnie dostępny jest u mnie: DriveInfo.
Skrypt pokazuje wszystkie napędy, a nas interesuje tylko jeden. Sprawdzamy pod jaką literą dysku znajduje się aktualnie zamontowany flash drive i z tego dysku przypisujemy pole Serial Number do zmiennej FlashDriveSerial.

W linijce:
WShShell.Run “robocopy.exe “& Dinfo&”:\ .\GPX_BACKUP /LOG+:GARMINVISTA_SYNCH.log”, 6, True
Ustawiamy odpowiednio ścieżki do folderów i uruchamiamy skrypt.
Więcej o ustawieniach ścieżek i parametrów programu Robocopy: “Robocopy.exe /?”

This database is currently being used by someone else.

Jeżeli w trakcie pracy z Lotus Notes pojawi się błąd:

“This database is currently being used by someone else. In order to share a Notes database, all users must use a Notes Server instead of a File Server.”

To na 100% baza danych jest zablokowana przez dwa procesy.

Bywa, że jest to program do backupu, ale zdarza się, że blokuje ją serwis odpowiedzialny za HTTP.
Należy w tym przypadku w konsoli serwera Lotus Notes wykonać polecenia:

TELL HTTP QUIT

a po chwili:

LOAD HTTP

Teraz powinno już wszystko działać.

PS. Jeżeli po awarii serwera Lotus Notes, serwer zacznie sprawdzać wszystkie bazy to nie uruchamiaj ręcznie polecenia “load fixup” lub innego blokującego bazę, nie powinien próbować korzystać w tym czasie z Webmaila itp. Serwer w zasadzie blokuje plik i nie pozwala na jego wykorzystanie przez inny proces ale “cuda” zawsze się zdarzają.

Podstawowa zasada: Użytkownik MUSI “odstać” swoje.

VMWare ESX 4 – włączenie SSH Root Login

Korzystając z programu Veeam FastSCP dobrym pomysłem jest włączenie na serwerze VMWare opcji: PermitRootLogin z “no” na “yes”.

Pozwala to na bezpośredni dostęp do systemu plików hosta, a co za tym idzie szybszy transfer plików.
Należy zalogować się na konsoli serwera ESX i wykonać poniższe polecenie: (każda nowa linijka zaczyna się znakiem “>” – należy go pominąć przy wpisywaniu)

> mv /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
> cat /etc/ssh/sshd_config.orig | sed ‘s/PermitRootLogin no/PermitRootLogin yes/g’ > /etc/ssh/sshd_config
> service sshd restart

Po poprawnym wykonaniu pleceń transfer można dokonać bezpośrenio przez Hosta ESX. Pozwala to zwięksyzć transfer nawet dwukrotnie.

Zasób Storage znajduje się w katalogu: /vmfs/volumes

ORA-01033: ORACLE initialization or shutdown in progress

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

Funkcja Excel – zamiana polskich znaków na łacińskie

Funkcja zamieniająca polskie znaki narodowe na ich łacińskie odpowiedniki.

Function CzyscPolskie(Dane As String) As String
Dim i As Integer
polskie = Array("ą", "ć", "ę", "ł", "ń", "ó", "ś", "ż", "ź", "Ą", "Ć", "Ę", "Ł", "Ń", "Ó", "Ś", "Ż", "Ź")
angielskie = Array("a", "c", "e", "l", "n", "o", "s", "z", "z", "A", "C", "E", "L", "N", "O", "S", "Z", "Z")
For i = 0 To 17
Dane = WorksheetFunction.Substitute(Dane, polskie(i), angielskie(i))
Next i
CzyscPolskie = Dane
End Function

KS-PPS Testowo, Kasowanie i zakładania użytkowników

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.

Windows Scheduled Tasks – cmd.exe doesn’t work

Jeżeli ustawiasz pod systemem Scheduled Tasks i ma być uruchomiony skrypt cmd, bat, lub wywołany progrm cmd.exe, a na dodatek proces ma być uruchomiony z uprawnieniami zwykłego użytkownika to pamiętaj, aby nadać uzytkownikowi prawo “Read & Execute” do programu c:\WINDOWS\System32\cmd.exe.
Domyślnie tylko użytkownicy interaktywni mogą uruchamiać ten program.

OpenVMS – Restart kolejki/drukarki

Polecenia potrzebne do restartu kolejki pod OpenVMS:

  • Przegląd kolejki

show queue nazwa_kolejki /all

  • Stop kolejki:

stop/reset nazwa_kolejki

  • Kasowanie wydruków (numery wydruków wyświetlają się po wydaniu plecenia “show queue nazwa_kolejki /all”)

delete /entry=6009631

lub wiele wydruków na raz

delete /entry=(6009631,6009632,6009633,6009634)

  • Start kolejki:

start /queue nazwa_kolejki