SASSAS Poland

Misja Firmy AktualnościKonferencjeUsługi i wsparciePracaKontaktPoszukaj w naszych zasobach
Strona główna Produkkty i rozwi±zania Współpraca z uczelniami Szkolenia Kim jeste¶my Wsprcie techniczne www.sas.com
 
Wsparcie techniczne
Zrób to sam
Dla aktywnych
Nasze dokumenty
Architektura SAS® 9
FAQ
Hotline
Kilka słów o nas
 

Najczęstsze problemy i pytania związane z otwartą architekturą metadanych SAS® 9


Poniżej zamieszczono najczęstsze problemy i pytania pojawiające się przy pracy z otwartą architekturą metadanych, a zwłaszcza z serwerami aplikacji, oraz sposoby ich rozwiązania. Komunikaty mogą się trochę różnić w zależności od systemu operacyjnego, zainstalowanego service packa, jednakże przyczyny problemów są w większości przypadków te same.

Instalacja i konfiguracja

Serwer metadanych

Object spawner

Workspace serwer

Stored Process serwer

OLAP serwer



Instalacja i konfiguracja

  • Jak uruchomić konfigurator bez nawigatora?

  • Problem: Jak skonfigurować kolejne środowisko na serwerze bez instalacji nowego oprogramowania i uruchamiania nawigatora?

    Rozwiązanie: Konfigurator można uruchomić bezpośrednio z płytki "SAS Configuration and Management" (config1cd).
    Konfigurator akceptuje kilka parametrów wejściowych:

    -DINPUT_SELECTED_MACHINE="host"
    nazwa komputera występująca w pliku plan.xml
    -DINPUT_PROJECT_DIRECTORY="Dysk:\\sciezka"
    katalog, w którym znajduje się plan.xml
    -DSAS_HOME="Dysk:\\sciezka"
    katalog w którym zainstalowane jest dodatkowe oprogramowanie (konsola, aplikacje webowe, itp.). Jeśli oprogramowanie zainstalowane zostało w podkatalogach SASa to zmienna ta wskazuje ścieżkę domową SASa.

    Początek strony


  • Nie działają skrypty podane w Instructions.html

  • Problem: Po skonfigurowaniu środowiska metadanych nie działają skrypty podane w Instructions.html.

    Rozwiązanie: Skrypty, które są wykonywane, wykorzystują jary z SAS Management Console, stąd konieczność zdefiniowania ścieżki wskazującej na katalog instalacyjny konsoli.
    Jeżeli konsola nie jest zainstalowana, ścieżka nie jest zdefiniowana lub wskazuje na inny katalog to żaden skrypt nie będzie działał.

    Jeżeli konsola jest zainstalowana, to należy sprawdzić w pliku <środowisko>Levx\Utilities\MetadataDeployment\bin\loadMetadata.bat jaka wartość jest przypisywana zmiennej SASMCROOT. Zmienna ta powinna wskazywać na ścieżkę, w której zainstalowana jest konsola.

    Jeżeli konsola nie jest zainstalowana, to należy ją zainstalować.

    Początek strony


  • Jak odnowić licencję SASa?

    • Windows

    • Z menu Start wybrać Programy --> SAS --> SAS 9.1 Utilities --> Odnów programy SASowe.
      Ten sam program można uruchomić z katalogu !SASROOT\core\sasinst\sasrenew\sasrenew.exe lub z płytki instalacyjnej Software Disk 1 CD (disk1) z katalogu \sas\core\sasinst\sasrenew\sasrenew.exe
    • Unix

    • (należy mieć uprawnienia pozwalające na modyfikację plików w !SASROOT)
      Z katalogu !SASROOT uruchomić sassetup, wybrać Run Setup Utilities, a następnie Renew SAS Software.

    Początek strony



Serwer metadanych

  • Serwer metadanych nie startuje

  • W przypadku, gdy serwer metadanych nie startuje należy sprawdzić kolejno:
    • Czy instrukcja uruchamiająca SASa jest poprawna
    • Czy w pliku konfiguracyjnym serwera metadanych nie ma błędów
      Domyślne położenie pliku konfiguracyjnego:
      Windows: <środowisko>\Levx\SASMain\MetadataServer\sasv9_MetadataServer.cfg
      UNIX: <środowisko>/Levx/SASMain/sasv9.cfg
    • Czy użytkownik, który uruchamia serwer metadanych ma prawo zapisu do biblioteki WORK
    • Czy użytkownik, który uruchamia serwer ma prawa do zapisu i odczytu do plików w katalogu serwera;
      Jeżeli użytkownik nie ma uprawnień, to pojawia się komunikat:
      ERROR: User does not have appropriate authorization level for file RPOSMGR.ASSOCMGR.DATA.
      
      Domyślnie pliki serwera są umieszczane w <środowisko>\Levx\SASMain\MetadataServer\rposmgr,
      oraz w podkatalogach <środowisko>\Levx\SASMain\MetadataServer\MetadataRepositories
    • Czy port, na którym serwer metadanych ma działać, nie jest zajęty.
      Port dla serwera metadanych jest definiowany na Windows w pliku konfiguracyjnym, na UNIXie w komendzie uruchamiającej serwer.
    • Log serwera metadanych.
      Log domyślnie jest tworzony w <środowisko>\Levx\SASMain\MetadataServer\logs.
    • Jeżeli logu nie ma należy sprawdzić, czy serwer metadanych jest startowany z opcjami -LOG i -LOGPARM i czy wskazana jest istniejąca lokalizacja, do której użytkownik startujący serwer ma prawo zapisu.
    • Czy SAS uruchomi się po podaniu tej samej komendy startowej (bez opcji NOTERMINAL)
    • Dziennik zdarzeń.

    Początek strony


  • Nie można połączyć się z serwerem metadanych

  • Gdy nie można połączyć się z serwerem metadanych należy sprawdzić:
    • czy serwer metadanych działa
    • czy podano poprawną nazwę maszyny i numer portu
    • czy użytkownik i hasło są poprawne
    • czy hasło nie zawiera znaków niedozwolonych (noty - SN-18398, SN-15707, SN-15531, SN-17877)
    • (WINDOWS) czy użytkownik ma nadane uprawnienie Logowanie w trybie wsadowym
    • komunikaty w logu serwera metadanych (domyślnie w katalogu <środowisko>\Levx\SASMain\MetadataServer\logs)

    Początek strony


  • Jak zwiększyć ilość informacji zapisanej w logu serwera metadanych?

  • Definicja logu serwera metadanych znajduje się:
    Windows: w pliku konfiguracyjnym <środowisko>\Levx\SASMain\MetadataServer\sasv9_MetadataServer.cfg.
    UNIX: w komendzie startowej serwera metadanych <środowisko>\Levx\SASMain\MetadataServer\MetadataServer.sh.

    Domyślnie log jest umieszczany w katalogu <środowisko>\Levx\SASMain\MetadataServer\logs.

    Zawiera on informacje m.in. o połączeniach użytkowników z serwerem metadanych.
    Ilość informacji, która jest wypisywana w logu serwera metadanych, można zwiększyć korzystając z parametrów podawanych przy starcie serwerów IOM:
    • IOMLEVEL=0|1
    • APPLEVEL=1|2|3
    • PELEVEL=0|1|2|3

    Parametry te podawane są w opcji OBJECTSERVERPARMS w pliku konfiguracyjnym serwera metadanych (Windows) lub w instrukcji uruchamiającej serwer (UNIX).

    APPLEVEL - wypisywanie w logu dodatkowych informacji związanych z autentykacją klientów
    IOMLEVEL - wypisywanie w logu komunikatów XML przesyłanych do i z serwera. W przypadku tej opcji dobrze jest również dodać opcje jnlStrMax=10000 jnlLineMax=10000, dzięki którym zapisany zostanie pełny kod XML.
    PELEVEL - zdarzenia związane z protokołem komunikacyjnym i przesyłanymi pakietami.

    Początek strony


  • Czy użytkownicy specjalni (sasadm, sastrust, sasguest, ) mogą być zdefiniowani jako użytkownicy domenowi?

  • Problem: Polityka firmy zabrania tworzenia lokalnych użytkowników. Czy użytkownicy specjalni (sasadm, sastrust, sasguest, ) mogą być zdefiniowani jako użytkownicy domenowi?

    Rozwiązanie: Wszyscy użytkownicy specjalni wymagani przez konfigurator mogą być zarówno użytkownikami lokalnymi jak i użytkownikami domenowymi, choć użytkownicy sasadm, sastrust i saswbadm są autentykowani tylko przez maszynę, na której działa serwer metadanych, więc nie ma potrzeby definiowania ich jako użytkowników domenowych.

    Początek strony


  • Czy można zdefiniować inne sposoby autentykacji użytkowników?

  • Problem: Czy można zdefiniować inne sposoby autentykacji użytkowników tak, aby nie trzeba było wszystkim użytkownikom zakładać kont na serwerze?

    Rozwiązanie: Każdy serwer SASa do autentykacji wykorzystuje zewnętrzne narzędzia. Domyślnie są to narzędzia systemu operacyjnego (host authentication). Jeżeli w ramach systemu operacyjnego został zdefiniowany alternatywny mechanizm autentykacji (np. Active Directory), wówczas wszystkie serwery SASa będą mogły z tego mechanizmu skorzystać bez konieczności ustawiania żadnych dodatkowych opcji (z punktu widzenia SASa będzie to nadal host authentication).

    Dodatkowo serwer metadanych i OLAP serwer mogą korzystać z zewnętrznej autentykacji (LDAP, AD) bezpośrednio.

    Początek strony


  • Jak zdefiniować inny sposób autentykacji?

  • Problem: Jak zdefiniować inny sposób autentykacji (LDAP, Active Directory) dla serwera metadanych?

    Rozwiązanie: Jeżeli LDAP (AD) nie został skonfigurowany jako alternatywny mechanizm autentykacji dla systemu operacyjnego, można go zdefiniować jako sposób autentykacji dla serwera metadanych i serwera OLAP.

    Opcja -AUTHPROVIDERDOMAIN serwera metadanych (podana w pliku konfiguracyjnym serwera lub w instrukcji uruchamiającej) pozwala zdefiniować, jak będzie wykonywana autentykacja użytkowników:
    -authproviderdomain provider:domain | (provider-1:domain-1<, . . .provider-n:domain-n>)
    
    gdzie provider może przyjmować następujące wartości:

    ADIR autentykacja będzie przeprowadzana w oparciu o Active Directory
    HOSTUSER autentykacja będzie wykonywana w oparciu o system operacyjny; w tej opcji można podać domenę Windows
    LDAP autentykacja będzie wykonywana przez serwer LDAP

    Dodatkowo w systemie muszą być ustawione odpowiednie zmienne środowiskowe.

    Szczegóły można znaleźć na stronie Implementing Alternative Authentication Providers.

    Początek strony


  • '(' is not expected

  • Problem: Po dodaniu w skrypcie startowym serwera metadanych na UNIXie opcji
    -authproviderdomain (ADIR:thisDomain)
    
    przy próbie uruchomienia serwera może pojawić się komunikat:
    0403-057 Syntax error at line 42 : '(' is not expected.
    
    Rozwiązanie: Na UNIXie przed znakami '(' lub ')' może być konieczne dodanie '\' przed nawiasami.

    Początek strony


  • Błąd "Access denied.Authentication failed." po skonfigurowania PAMa

  • Problem: Na UNIXie został skonfigurowany modul PAM (Pluggable Authentication Module), który pozwala na autentykację użytkowników w oparciu o LDAP (AD). Jednakże, gdy użytkownik LDAPowy loguje się do serwera metadanych w logu pojawia się komunikat:
    ERROR:   Access denied.Authentication failed.
    
    Rozwiązanie: Taki błąd na ogół spowodowany jednym z 2 powodów:
    • nie zostały wprowadzone odpowiednie zmiany do pliku /etc/pam.conf, dotyczące modułu sasauth (modułu w SASie odpowiedzialnego za autentykację użytkowników) - szczegóły nocie SN-16861.
    • nie została zainstalowana specjalna wersja modułu sasauth (dostępna w ramach hot fixa).

    Początek strony


  • Błąd "No such name found." po skonfigurowaniu autentykacji przez LDAP (AD)

  • Problem: Dla serwera metadanych, działającego na UNIXie, została zdefiniowana autentykacja przez LDAP (AD). Kiedy użytkownik LDAPowy loguje się do serwera metadanych , w logu serwera pojawia się komunikat:
        Error: No such name found.
        New client connection rejected from server port 8561 for user user@ldapdomain
    
    Rozwiązanie: Taki komunikat pojawia się, kiedy nie zostały zdefiniowane zmienne środowiskowe niezbędne do połączenia z LDAPem (AD) - szczegóły można znaleźć w nocie SN-15258.

    Początek strony


  • System wymaga zmiany haseł użytkowników

  • Problem: Polityka firmy wymaga, aby hasła wszystkich użytkowników były co jakiś czas zmieniane. Jak można zmodyfikować hasła w środowisku SAS9?

    Rozwiązanie: Każdy użytkownik może zmienić hasła zdefiniowane w metadanych dla siebie oraz dla grup, do których należy (o ile ma odpowiednie uprawnienia w metadanych), wykorzystując:
    • SAS Management Console
    • SAS Personal Login Manager
    • Enterprise Guide 4

    Wszystkie hasła w metadanych zdefiniowane dla użytkowników i grup może również zmieniać użytkownik unrestricted (domyślnie sasadm).

    Dla użytkowników standardowych, wymaganych przez konfigurator (sasadm, sastrust, sasguest itd.) hasła powinien zmieniać administrator. Należy przy tym pamiętać, że hasła niektórych standardowych użytkowników są zapisane w metadanych, jak również w niektórych plikach konfiguracyjnych związanych ze środowiskiem SAS 9.
    Hasła w plikach konfiguracyjnych są wpisane w postaci zaszyfrowanej. Hasła można zaszyfrować używając w SASie procedury PWENCODE:
        proc pwencode in='hasło' method=sasenc|sas001;
        run;
    
    Zaszyfrowane hasło wyświetlone będzie w logu. Należy przepisać pełny tekst.

    Szczegółowe informacje, w tym lista plików z hasłami, znajdują się w SAS 9.1.3 Intelligence Platform: Security Administration Guide, w rozdziale "User ID and Password Management".

    Początek strony


  • invalid username/password" przy próbie importu tabeli z biblioteki wskazującej na dane w zewnętrznej bazie danych

  • Problem: Zdefiniowany został serwer, schemat oraz biblioteka wskazujące na dane w ORACLE'u. Wszystkie te zasoby są zdefiniowane w domenie autentykacji OraAuth. Grupa oratest ma zdefiniowany login w domenie OraAuth, będący poprawnym kontem na ORACLE'u. Jednakże przy próbie importu tabeli z tej biblioteki pojawia się komunikat:
    LIBNAME ora ORACLE PATH=sasora9 USER=oratest PASSWORD=XXXXXXXXXXXXXXXXXXXXXX ;
    ERROR: ORACLE connection error: ORA-01017: invalid username/password; logon denied.
    ERROR: Error in the LIBNAME statement.
    
    Instrukcja LIBNAME wyświetlana w SAS Management Console ma postać:
    LIBNAME ora ORACLE PATH=sasora9 USER=oratest PASSWORD="{sas001}KioqKioqKio=" ;
    
    Rozwiązanie: Zakodowane hasło "KioqKioqKio=" to zakodowany ciąg 8 gwiazdek. Gwiazdki są zwracane, gdy zalogowany jest użytkownik "unrestricted" (domyślnie sasadm). Nie ma on dostępu do haseł użytkowników. Rozwiązaniem problemu jest zalogowanie się na użytkownika, który nie jest "unrestricted" i który ma dostęp do wykorzystywanego loginu (jest członkiem grupy oratest).

    Początek strony



  • Autentykacja na UNIXie poprzez LDAP/Active Directory

  • Żaden serwer SASa nie autentykuje sam, wszystkie wykorzystują narzędzia zewnętrzne, domyślnie mechanizm systemu operacyjnego (host authentication). W SASie na UNIXie za autentykację odpowiada jeden moduł, wykorzystywany niezależnie od sposobu łączenia z SASem (SAS/CONNECT, SAS/Integration Technologies).

    Oprócz autentykacji przez system operacyjny jedynie serwer metadanych oraz serwer OLAP mogą bezpośrednio wykorzystywać zewnętrzne mechanizmy autentykacji - LDAP, Active Directory. Dokładny opis, jakie opcje należy w tym przypadku ustawić, znajduje się m.in. w Security Administration Guide.

    Jedynym sposobem na skonfigurowanie środowiska na UNIXie w taki sposób, żeby wszystkie serwery SAS autentykowały przez LDAP lub AD, jest skonfigurowanie modułu PAM (Pluggable Authentication Modules), który pozwala na zdefiniowanie LDAP lub AD jako alternatywnego mechanizmu autentykacji dla systemu operacyjnego.
    Aby skonfigurowany moduł PAM mógł być wykorzystany przez SAS, potrzebne jest zainstalowanie odpowiedniego hot fixa. Informacje, który hot fix będzie odpowiedni i skąd go ściagnąć, można uzyskać w Dziale wsparcia technicznego.

    Szczegółów na temat konfiguracji PAMa należy szukać w dokumentacji dla danego systemu operacyjnego.

    Uwaga!!! Bezpośrednie użycie LDAP czy AD nie zwalania administratora środowiska z utrzymywania użytkowników w metadanych. Jest to konieczne m.in. do autoryzacji użytkowników oraz do umożliwienia mechanizmu single sign-on. Jest to również wymagane przez niektóre aplikacje.

    Początek strony


  • Czy wykorzystując engine META można dostać się do danych na innym komputerze?


  • Problem jest następujący:

    W metadanych zdefiniowana jest biblioteka B wskazująca na jakiś folder na serwerze X. W sesji SASa uruchomionej na innym komputerze definiowana jest biblioteka z enginem META, wykorzystująca definicję biblioteki B z metadanych. Dlaczego taka kombinacja nie zadziała?

    Engine META działa w następujący sposób:
    1. z metadanych odczytuje informacje o bibliotece B
    2. SAS (engine META) wykorzystuje odczytane informacje do skonstruowania fizycznego LIBNAME'a z użyciem odpowiedniego engine'u
    3. kiedy potrzebne są dane, engine META wykorzystuje skonstruowany przez siebie libname do fizycznego dostępu do danych
    4. .
    Wynika z tego, że dana sesja SASa musi się jakoś do tych danych dostać. Jeżeli biblioteka wskazuje na jakąś ścieżkę, to ta ścieżka musi być dostępna na lokalnym komputerze, jeżeli biblioteka wskazuje na dane w zewnętrznej bazie danych, dana sesja SASa poprzez odpowiedni engine (musi istnieć!) musi się do tych danych dostać. Tak więc biblioteka zdefiniowana przy pomocy engine'u META ma sens tylko w określonym kontekście (środowisku).

    Jak w związku z tym dostać się jednak do danych z innego komputera?

    Trzeba zdefiniować mechanizm, który te dane będzie udostępniać, czyli na serwerze X musi być uruchomiona jakaś sesja SASa, na której instrukcja LIBNAME będzie wykonywana. Ta zdalna sesja będzie widziała zdefiniowaną ścieżkę lub miała dostęp do danych zewnętrznych i będzie te dane udostępniała.
    Może to być zrealizowane poprzez serwer SAS/SHARE, który będzie udostęniał biblioteki zdefiniowane w metadanych.
    Innym sposobem jest wykorzystanie SAS/CONNECT, w tym przypadku jednak należy pamiętać, że sesja SAS/CONNECT musi zostać wcześniej uruchomiona, co nie jest wykonywane automatycznie.
    W obu przypadkach lokalnie trzeba zdefiniować zdalną bibliotekę (poprzez engine REMOTE).

    Początek strony



Object spawner

  • Jak zdefiniowac log dla object spawnera?

  • Problem: Domyślnie log object spawnera nie jest tworzony. Co należy zrobić, żeby się pojawił?

    Rozwiązanie: Log object spawnera można zdefiniować wybierając jeden z następujących sposobów:
    • Korzystając z SAS Management Console:
      • W Server Manager wybrać obiekt opisujący object spawner i wyświetlić jego właściwości
      • Na zakładce Initialization zaznaczyć opcję Verbose oraz wpisać pełną nazwę pliku (domyślnie <środowisko>\Levx\SASMain\ObjectSpawner\logs\objspawn.log)
      • Zrestartować object spawner.
    • Bez konieczności restartowania object spawnera:
      • Zatelnetować się na port operatora (do odczytania w metadanych) i wydanie komendy:
        	btrace 'pełna_nazwa_pliku'
        	
      • Zakończyć tworzenie logu można analogicznie, wydając komendę
        	etrace
        	
    • Zmodyfikować komendę uruchamiającą object spawner, dodając opcje:
      	-saslogfile 'pełna_nazwa_pliku' -sasverbose
      
    • Następnie zrestartować object spawner.

      Na UNIXie skrypt startujący object spawner znajduje się w <środowisko>/Levx/SASMain/ObjectSpawner/ObjectSpawner.sh.

      Na Windows należy zmodyfikować plik <środowisko>\Levx\SASMain\ObjectSpawner\ObjectSpanwer.bat. Jeżeli object spawner jest uruchamiany ręcznie, wówczas należy zmodyfikować komendę w sekcji START2 i zrestartować object spawner.
      Jeżeli object spawner jest uruchamiany jako usługa, należy zmodyfikować komendę w sekcji INSTALL i ponownie zainstalować object spawner jako usługę.

    Początek strony


  • Object spawner nie startuje

  • Jeżeli object spawner nie startuje należy sprawdzić:
    • Czy działa serwer metadanych
    • Czy podano poprawne dane potrzebne do połączenia się z serwerem metadanych - informacje te dla object spawnera są zapisane w pliku OMRConfig.xml w katalogu: <środowisko>\Levx\SASMain\ObjectSpawner
    • Czy port, na którym ma działać object spawner nie jest zajęty
    • Log object spawnera; jeżeli object spawner jest uruchamiany bez opcji tworzących log, należy je dodać.
    • (Windows) Wpisy w dzienniku zdarzeń

    Początek strony


  • An attempt to communicate with the SAS Metadata Server failed.

  • Problem: Object spawner nie startuje, a w jego logu pojawia się komunikat:
    ERROR:   An attempt to communicate with the SAS Metadata Server failed.
    
    Rozwiązanie: Błąd ten świadczy o tym, że object spawner nie mógł połączyć się z serwerem metadnych. Do połączenia object spawner wykorzystuje informacje w pliku <środowisko>\Levx\SASMain\ObjectSpawner\OMRconfig.xml.
    Należy sprawdzić, czy podano w nim:
    • Poprawną nazwę (adres) maszyny oraz właściwy numer portu
    • Poprawny identyfikator i hasło użytkownika (domyślnie sastrust)

    Początek strony


  • A valid sasSpawner definition cannot be found.

  • Objspawn was unable to locate a server definition. Objspawn is exiting.

  • Problem: Object spawner nie startuje, a w jego logu pojawia się błąd:
        ERROR:  A valid sasSpawner definition cannot be found.
        ERROR:  Objspawn encountered errors during results processing.
    
    lub
       ERROR:  Objspawn was unable to locate a server definition. Objspawn
               is exiting.
    
    Rozwiązanie: Na początku logu object spawnera pojawia się nazwa maszyny, na której jest uruchamiany object spawner. Nazwa ta powinna być taka sama, jak nazwa maszyny dla object spawnera w metadanych

    Początek strony


  • The parsing of the metadata results failed.

  • Problem: Object spawner nie startuje, a w jego logu pojawia się komunikat:
    ERROR:   The parsing of the metadata results failed.
    20070202:15.10.41.85: 00000003:ERROR:   The load balancing instance
             ldblCompRefSetMetadata call failed.	
    
    Rozwiązanie: W definicji object spawnera w metadanych nie został wybrany żaden serwer uruchamiany przez ten object spawner.

    Początek strony


  • The specified address is already in use.

  • Problem: Object spawner nie startuje, a w jego logu pojawia się komunikat:
    The specified address is already in use.
    
    Sprawdzono, że porty zdefiniowane dla object spawnera nie są zajęte.

    Rozwiązanie: Prawdopodobnie w definicji object spawnera w metadanych wybrano 2 serwery działające na tym samym porcie.

    Początek strony



Workspace serwer

Workspace serwer jest startowany przez object spawner, który komendę startującą serwer wczytuje zaraz po uruchomieniu. Dlatego każda modyfikacja workspace serwera w metadanych wymaga restartowania object spawnera.

  • Nie można uruchomić workspace serwera

  • W przypadku, gdy nie można uruchomić workspace serwera należy sprawdzić:
    • Czy działa serwer metadanych
    • Czy działa object spawner
    • Czy podano poprawny identyfikator i hasło użytkownika
    • Czy workspace serwer został dodany do object spawnera w metadanych
    • Czy podano prawidłową komendę startową - komenda ta jest wpisana we właściwościach workspace serwera w metadanych
    • Czy po modyfikacji definicji workspace serwera w metadanych został zrestartowany object spawner
    • Czy wykorzystywany plik konfiguracyjny nie zawiera błędów - domyślnie wykorzystywany jest plik konfiguracyjny <środowisko>\Levx\SASMain\sasv9.cfg, chyba że w instrukcji uruchamiającej podano inaczej
    • Czy użytkownik ma uprawnienia do SASUSER lub WORK oraz do katalogu, w którym będzie tworzony log (o ile został zdefiniowany)
    • Czy SAS się uruchamia na komputerze i czy dany użytkownik może uruchomić SASa
    • Log object spawnera
    • Log workspace serwera o ile jest tworzony i powstał.
    • (UNIX) Czy użytkownik ma uprawnienia do odczytu pliku sasenv
    • (Windows) Sprawdzić dziennik zdarzeń

    Początek strony


  • Jak zdefiniować log dla workspace serwera?

  • Problem: Domyślnie log dla workspace serwera nie jest tworzony. Jak to zmodyfikować?

    Rozwiązanie: Log dla workspace serwera można dodać dopisując opcje -log i -logparm do instrukcji uruchamiającej workspace serwer (w opcjach workspace serwera w metadanych) lub wpisując do pliku konfiguracyjnego i wskazując go przy uruchamianiu serwera.
    Należy przy tym stworzyć osobny plik konfiguracyjny, gdyż z domyślnego pliku konfiguracyjnego (<środowisko>\Levx\SASMain\sasv9.cfg) korzystają wszystkie serwery.

    Nazwa pliku powinna być tak zdefiniowana, żeby dla każdego użytkownika była inna. W przeciwnym przypadku procesy będą starały się pisać do 1 pliku, co może skończyć się błędami.

    W środowisku produkcyjnym nie jest wskazane zapisywanie logów workspace serwera (ze względów wydajnościowych - w krótkim czasie mogą zająć dużo miejsca).

    Początek strony


  • An unexpected error has prevented transfer of handles between processes

  • Problem: Przy testowaniu workspace serwera, w logu object spawnera pojawia się komunikat:
        ERROR: An unexpected error has prevented transfer
        of handles between processes
    
    Rozwiązanie: Taki komunikat na ogół świadczy o tym, że nie udało się wystartować SASa. Należy więc sprawdzić:
    • Poprawność komendy startującej SASa i wszystkich opcji (we właściwościach workspace serwera w metadanych)
    • Poprawność opcji w pliku konfiguracyjnym
    • Czy użytkownik ma prawo do uruchamiania SASa
    • Czy użytkownik ma dostęp do biblioteki SASUSER (do odczytu) i WORK (do odczytu i zapisu).
    • Czy użytkownik ma prawo zapisu do katalogu, w którym tworzony jest log workspace serwera (o ile został zdefiniowany).
    • Czy log workspace serwera nie został zdefiniowany w taki sposób, że kilka procesów usiłuje pisać do tego samego pliku.

    Początek strony


  • Jak zapisać kod uruchamiany w DI Studio lub EG w logu workspace serwera?

  • Problem: Domyślnie zadania uruchamiane w DI Studio czy w Enterprise Guide'zie wyświetlają log tylko w ramach aplikacji, natomiast nie zapisują go do pliku, nawet jeżeli workspace serwer jest startowany z opcją -log. Podobnie dzieje się w przypadku procesów gotowych uruchamianych na workspace lub stored process serwerze.

    Rozwiązanie: W celu otrzymania w logu informacji o wykonywanym kodzie należy w definicji serwera w polu Object Server Parameters dodać opcję applevel=3. Spowoduje to wypisywanie do logu wielu dodatkowych informacji, miedzy innymi logu wykonywanego zadania.

    Uwaga! Zmiana definicji serwera w metadanych wymaga restartu object spawnera.

    Dla stored process serwera log jest zdefiniowany domyślnie, natomiast w przypadku workspace serwera plik, w którym będzie zapisywany log, należy zdefiniować samemu. Można to zrobić w definicji serwera w komendzie uruchamiającej serwer lub w configu stworzonym dla workspace serwera. Należy jednak pamiętać, że każda sesja workspace serwera powinna mieć swój log. Próba uruchomienia dwóch sesji, które będą miały wspólny log może prowadzić do różnych błędów.

    Przykładowo log można zdefiniować dodając do komendy uruchamiającej serwer następujące opcje:

    -log "C:\sas\Lev1\SASMain\WorkspaceServer\logs\test_%H%M%s.log"
    -logparm "rollover=session write=immediate"

    Wówczas nazwa logu będzie zawierać dokładny czas uruchomienia serwera (przy założeniu, że dwie sesje serwera nigdy nie zaczną się w tej samej sekundzie)

    lub

    -log "c:\sas\Lev1\SASMain\WorkspaceServer\logs\WorkspaceServer_%v.log"
    -logparm "rollover=session open=replaceold write=immediate"

    W tym przypadku każdy log będzie miał swój unikalny numer.

    Uwaga! W środowisku produkcyjnym definiowanie logu dla workspace serwera nie jest zalecane. Liczba plików może w krótkim czasie być bardzo duża i mieć negatywny wpływ na wydajność systemu. Również ustawianie opcji applevel=2 lub 3 w środowisku produkcyjnym nie jest wskazane ze względu na rozmiary tworzonych plików.

    Początek strony


  • Jak uruchamiać polecenia systemu operacyjnego z kodu uruchamianego na workspace serwerze?

  • Problem: Domyślnie środowisko zostało tak skonfigurowane, żeby użytkownicy nie mieli możliwości wykonywania poleceń systemu operacyjnego z programów SAS.
    Przy próbie użycia funkcji SYSTEM czy komendy X pojawi się komunikat:

    WARNING: Shell escape is not valid in this SAS session.

    Przy użyciu opcji PIPE w instrukcji FILENAME pojawi się błąd:

    ERROR: Insufficient authorization to access PIPE.

    Rozwiązanie: Takie zachowanie można zmienić ustawiając następujące opcje, które pozwalają na wykonywanie poleceń systemu operacyjnego: opcję allowxcmd przy starcie object spawnera opcje xcmd i noxwait przy starcie workspace serwera (UNIX - tylko opcja xcmd)

    Po wprowadzeniu tych zmian konieczny jest restart object spawnera. W przypadku, gdy object spawner działa jako usługa na Windows, konieczne jest jego ponowne zainstalowanie.

    W przypadku, gdy workspace serwer działa na Windows 2003 Server, mogą być konieczne jeszcze dodatkowe ustawienia (Nota SN-13521 ).

    Początek strony


  • Czy można tak skonfigurować środowisko, żeby workspace serwer autentykował w oparciu o Active Directory lub LDAP?

  • Rozwiązanie: Workspace serwer i stored process serwer autentykują w oparciu o system operacyjny. Jeżeli więc system operacyjny został skonfigurowany z możliwością wykorzystywania alternatywnego sposobu autentykacji, oba te serwery będą mogły z niego skorzystać bez żadnych dodatkowych zmian.

    W większości instalacji systemu Windows Active Directory jest zdefiniowany jako alternatywny sposób autentykacji użytkowników.

    W przypadku systemu UNIX również można taki sposób autentykacji zdefiniować, korzystając z mechanizmu Pluggable Authentication Module (PAM).
    Rozwiązanie to wymaga dodatkowych wpisów w pliku /etc/pam.conf (szczegóły w nocie SN-16861) oraz hot fixa do SASa.

    Początek strony



Stored process serwer

Stored process serwer jest startowany przez object spawner, który komendę startującą serwer wczytuje zaraz po uruchomieniu. Dlatego każda modyfikacja stored process serwera w metadanych wymaga zrestartowania object spawnera.

  • Nie można uruchomić stored process serwera

  • W przypadku, gdy nie startuje stored process serwer, należy sprawdzić:
    • Czy działa serwer metadanych
    • Czy działa object spawner
    • Czy podano poprawny identyfikator i hasło
    • Czy podano prawidłową komendę startową (właściwości stored process serwera w metadanych)

    • Na UNIXie domyślnie uruchamiany jest skrypt:
      <środowisko>/Levx/SASMain/StoredProcessServer/sas_SPS.sh
    • Czy nie ma błędów w pliku konfiguracyjnym stored process serwera

    • Plik konfiguracyjny domyślnie znajduje się w:
      (Windows) <środowisko>\Levx\SASMain\StoredProcessServer\sasv9_StorProcSrv.cfg
      (UNIX) <środowisko>/Levx/SASMain/sasv9.cfg
    • Czy po zmodyfikowaniu właściwości stored process serwera, zrestartowano object spawner
    • Czy SAS uruchamia się na danej maszynie
    • Czy użytkownik sassrv ma prawo uruchomić SASa
    • Czy porty zdefiniowane dla stored process serwera nie są zajete
    • Czy użytkownik startujący serwer (domyślnie sassrv) ma uprawnienia do SASUSER i WORK oraz do katalogu, w którym będzie tworzony log
    • (UNIX) czy użytkownik startujący serwer (domyślnie sassrv) ma uprawnienia do odczytu pliku sasenv i do uruchamiania skryptu <środowisko>/Levx/SASMain/StoredProcessServer/SAS_SPS.sh
    • Log object spawnera
    • Log stored process serwera (o ile powstał)
    • (Windows) wpisy w dzienniku zdarzeń

    Początek strony


  • This server cannot be spawned without credentials which specify the server process username.

  • Problem:Stored process serwer nie startuje, a w logu object spawnera pojawia się komunikat:
    ERROR:  This server cannot be spawned without credentials which specify the server process username.
    
    Rozwiązanie: Taki komunikat na ogół świadczy o tym, że metadane o serwerze nie zostały poprawnie zdefiniowane. Jeżeli stored process serwer nigdy nie działał, należy sprawdzić w metadanych:
    • Czy została stworzona w metadanych grupa SAS General Servers.
    • Czy dla grupy został zdefiniowany login, który będzie używany do startowania serwera (domyślnie maszyna\sassrv (Windows) lub sassrv (UNIX)) z domeną autentykacji taką samą jak domena stored process serwera (domyślnie defaultAuth)
    • Czy użytkownik i hasło są poprawne
    • Czy ten login jest zdefiniowany jako login dla Stored Process Serwera we właściwościach serwera (zakładka Options -> Advanced options -> Credentials).
    • Czy użytkownik wykorzystywany przez object spawner do połączenia z serwerem metadanych (domyślnie sastrust) należy do grupy SAS General Servers.

    Początek strony


  • sam.S251.ex.msg: A problem occurred while connecting to a load balancing spawner.

  • Problem: Przy testowaniu połączenia ze stored process serwerem pojawia się komunikat:
       sam.S251.ex.msg:  A problem occurred while connecting to a load
       balancing spawner.  Check the spawner log for more details.
     
    A w logu object spawnera:
       Error authenticating user userid in function LogonUser.  Error 1326
       (Logon failure: unknown user name or bad password. ).
       ERROR:   Access denied.
       ERROR:   Failed to launch the server (A5MID0O6.AV000002) on behalf of
       load balancing.
    
    Rozwiązanie: Problem ten pojawia się wtedy, gdy podano niepoprawny identyfikator lub hasło użytkownika, w imieniu którego będzie startowany stored process serwer (domyślnie sassrv).
    W takim przypadku należy sprawdzić:
    • czy hasło podane dla tego użytkownika w metadanych jest poprawne (identyfikator i hasło jest zdefiniowane dla grupy SAS General Servers)
    • czy użytkownik wykorzystywany przez object spawner do łączenia z serwerem metadanych (domyślnie sastrust) nie został zdefiniowany jako "unrestricted". Nie może wówczas odczytać hasła użytkownika, w imieniu którego ma być uruchomiony stored process serwer (widzi hasło jako ciąg '********').

    Początek strony


  • Jak zapisać log z wykonania procesu gotowego w logu stored process serwera?

  • Problem: Domyślnie w logu stored process serwera nie ma informacji z wykonania procesu gotowego, jeżeli proces zakończył się bez błędów. Co zrobić, żeby log z wykonania procesu gotowego pojawił się w logu stored process serwera?

    Rozwiązanie: Na to czy w logu stored process serwera będzie się pojawiać log z wykonania procesu gotowego ma wpływ opcja APPLEVEL. Domyślnie ma wartość 1, co powoduje zapisywanie logu z procesu do logu stored process serwera tylko wtedy, kiedy przetwarzanie zakończy się błędem.
    Ustawienie tej opcji na 2 powoduje, że zostanie zapisany log każdego procesu gotowego, niezależnie od tego, czy proces zakończył się błędem czy nie.
    Opcję tę podaje się we właściwościach stored process serwera w polu Object Server Parameters.

    Początek strony


  • Czy można tak skonfigurować środowisko, żeby stored process serwer autentykował w oparciu o Active Directory lub LDAP?

  • Rozwiązanie: Workspace serwer i stored process serwer autentykują w oparciu o system operacyjny. Jeżeli więc system operacyjny został skonfigurowany z możliwością wykorzystywania alternatywnego sposobu autentykacji, oba te serwery będą mogły z niego skorzystać bez żadnych dodatkowych zmian.

    W większości instalacji systemu Windows Active Directory jest zdefiniowany jako alternatywny sposób autentykacji użytkowników.

    W przypadku systemu UNIX również można taki sposób autentykacji zdefiniować, korzystając z mechanizmu Pluggable Authentication Module (PAM).
    Rozwiązanie to wymaga dodatkowych wpisów w pliku /etc/pam.conf (szczegóły w nocie SN-16861) oraz hot fixa do SASa.

    Początek strony



OLAP serwer

  • Serwer OLAP nie startuje

  • W przypadku problemów z wystartowaniem serwera OLAP należy sprawdzić:
    • Czy działa serwer metadanych
    • Czy komenda startująca OLAP serwer jest poprawna
    • Czy port, na którym ma działać OLAP serwer nie jest zajęty
    • Czy plik konfiguracyjny wykorzystywany przez OLAP serwer jest poprawny

    • Plik konfiguracyjny OLAP serwera:
      (Windows) <środowisko\Levx\SASMain\OLAPServer\sasv9_OLAPServer.cfg
      (UNIX)<środowisko/Levx/SASMain/sasv9.cfg
    • Czy użytkownik, który uruchamia OLAP serwer ma uprawnienia do biblioteki SASUSER, WORK oraz do katalogu, w którym będzie tworzony log
    • Log OLAP serwera (o ile powstał)
    • Log serwera metadanych
    • Dziennik zdarzeń

    Początek strony


  • Nie można połączyć się z serwerem OLAP

  • W przypadku, gdy nie można połączyć się z serwerem OLAP należy sprawdzić:
    • Czy OLAP serwer działa
    • Czy do połączenia podano poprawny adres (nazwę) maszyny i numer portu
    • Czy podano poprawny identyfikator i hasło użytkownika
    • Czy OLAP serwer był wystartowany po starcie serwera metadanych
    • Czy podano poprawny identyfikator i hasło dla użytkownika, na którego OLAP serwer łączy się z serwerem metadanych (domyślnie sastrust). Użytkownik jest podawany w pliku konfiguracyjnym OLAP serwera (<środowisko>\Levx\SASMain\OLAPServer\sasv9_OLAPServer.cfg)
      lub skrypcie startowym
      (<środowisko>/Levi/SASMain/OLAPServer/OLAPServer.sh)
    • Czy użytkownik ten jest zdefiniowany jako "trusted user"
    • Log OLAP serwera
    • Log serwera metadanych

    Początek strony


  • Requesting connection is not trusted.

  • Problem: Przy próbie połączenia z OLAP serwerem w jego logu pojawia się komunikat:
    ERROR:   The tcpSockRead call failed.
             The system error is
             'The connection was reset by a peer.'.
    NOTE:    Bridge protocol engine socket access method
             failed to read from socket, error 10054
             (The connection was reset by a peer.).
    
    W logu serwera metadanych:
    ERROR:   Requesting connection is not trusted.
    
    Rozwiązanie: Użytkownik wykorzystywany do połączenia z serwerem metadanych (domyślnie sastrust) nie został zdefiniowany jako "trusted user".
    Użytkownik ten jest podawany w configu OLAP serwera (<środowisko>\Levx\SASMain\OLAPServer\sasv9_OLAPServer.cfg)
    lub w skrypcie startującym OLAP serwer (<środowisko>/Levx/SASMain/OLAPServer/OLAPServer.sh).

    Inną przyczyną jest wystartowanie serwera OLAP na koncie roota - nota SN-15554.

    Początek strony


  • Invalid physical name.

  • Problem: Po uruchomieniu serwera OLAP w logu pojawia się komunikat:
    ERROR: Invalid physical name.
    
    Rozwiązanie: Nie jest to błąd tylko komunikat, który pojawia się, gdy przy starcie serwera nie jest podany autoexec. Nota SN-012174.

    Początek strony


  • Nie wyświetla się lista kostek

  • Problem: Po połączeniu z OLAP serwerem nie pojawia się lista kostek

    Rozwiązanie: Prawdopodobnie przyczyną jest brak uprawnień użytkownika w metadanych. Użytkownik nie ma uprawnienia ReadMetadata (w defaultACT, w schemacie, do którego należy dany serwer lub w serwerze aplikacji, w ramach którego jest zdefiniowany OLAP serwer).
    Brak uprawnień może wynikać z przynależności do grupy, której te uprawnienia odebrano.

    Początek strony


  • Kostka nie jest widoczna na liście kostek

  • Problem: Wybrana kostka, do której użytkownik ma w metadanych zdefiniowane prawa ReadMetadata i Read, nie jest widoczna na liście kostek, które zostały zdefiniowane w danym repozytorium.

    Rozwiązanie: Taka sytuacja może się zdarzyć, kiedy użytkownik, na którego jest startowany OLAP serwer, nie ma dostępu do fizycznych plików kostki.

    Początek strony


  • W module OLAP nie są dostępne żadne pola danych

  • Problem: Przy próbie otwarcia kostki w Excelu pojawia się komunikat:
    W module nie są dostępne żadne dane
    
    lub
    Invalid cube. No dimension found in this cube.
    
    Rozwiązanie: Użytkownik, który będzie wyświetlał dane z kostki, musi mieć ustawione prawo ReadMetadata i Read. Taki komunikat wskazuje na to, że prawdopodobnie nie ma on prawa Read.

    Początek strony


  • The specified metadata repository or schema does not define any cubes

  • Problem: Przy próbie testu mapy zbudowanej na kostce zdefiniowanej w repozytorium Custom pojawia się komunikat:
    Exception occured while attempting to acccess data
    (Metadata error - The specified metadata repository or schema does not define any cubes).
    
    Kostka nie jest widoczna w EG.

    Rozwiązanie: W pliku konfiguracyjnym OLAP serwera brakuje opcji METAREPOSITORY definiującej repozytorium, w którym znajduje się kostka. W pliku konfiguracyjnym należy zdefiniować:
    -METAREPOSITORY "Nazwa_Repozytorium_Custom"

    Początek strony


  • Nie można wyświetlić danych szczegółowych dla kostki

  • Rozwiązanie: Problem może być spowodowany 2 przyczynami:
    • Przy budowie kostki nie została zdefiniowana tabela z danymi szczegółowymi (w kodzie nie podano opcji DrillThrough_Table= lub w SAS OLAP Cube Studio nie zaznaczono opcji Use input table for Drill-Through)
    • OLAP serwer nie ma zdefiniowanej biblioteki, w której znajduje się zbiór z danymi szczegółowymi lub nie widzi formatu wykorzystywanego w zbiorze.

    Początek strony


Citat
Warsztaty SAS® 9 dla Administratorów
Rodzaje serwerów SAS® 9
Przypisywanie bibliotek SAS® 9
Pozycja 'SAS' w menu MS Excel
SAS Dates, Times, and Datetimes
SAS Free Tutorials
Hotline NEWS






Kontakt
Wsparcie techniczne
+48-22-5604666
od poniedziałku do piątku w godzinach od 8.30 do 16.30.
 
support@spl.sas.com
The Power to Know
   Skontaktuj się z nami     Szukaj     Terms of Use & Legal Information     Privacy Statement   Copyright © 2003 SAS Institute Inc. All Rights Reserved