Τι κάνω όταν δεν σηκώνονται τα Cluster Services (CRS) του Oracle Grid καθώς χάθηκαν τα δικαιώματα στα αρχεία συστήματος
![Τι κάνω όταν δεν σηκώνονται τα Cluster Services (CRS) του Oracle Grid καθώς χάθηκαν τα δικαιώματα στα αρχεία συστήματος](https://www.dataplatform.gr/wp-content/uploads/2020/06/dp_oracle.png)
- Πώς φτιάχνουμε Logon Trigger για να ελέγχουμε τους χρήστες που επιτρέπουμε να συνδεθούν σε Oracle Database - 13 Ιανουάριος 2025
- Πώς συλλέγουμε to actual execution plan από τα queries με χρήση Extended Event και πως διαβάζουμε τα δεδομένα του - 2 Δεκέμβριος 2024
- Πώς βρίσκουμε τι δικαιώματα έχει ένας χρήστης σε βάση δεδομένων της Oracle - 1 Νοέμβριος 2024
Σε αυτό το άρθρο θα δούμε τι κάνουμε όταν σε κάποιον από τους servers/nodes του Oracle Cluster εμφανίζει σφάλμα και δεν ξεκινάνε τα Cluster Services (CRS).
Το σύμπτωμα
Όταν πάμε να ξεκινήσουμε τα Cluster Services (CRS):
su root crsctl start crs
Μας εμφανίζει το παρακάτω σφάλμα και δεν σηκώνονται:
CRS-4563: Insufficient user privileges.
CRS-4000: Command Start failed, or completed with errors.
Αν πάμε στο GRID_HOME
που έχει γίνει εγκατάσταση βλέπουμε ότι όλα τα αρχεία έχουν το ίδιο owner και δικαιώματα, κάτι που δεν φαίνεται να είναι σωστό:
cd $GRID_HOME ls -ltr
![Τι κάνω όταν δεν σηκώνονται τα Cluster Services (CRS) του Oracle Grid καθώς χάθηκαν τα δικαιώματα στα αρχεία συστήματος](https://www.dataplatform.gr/wp-content/uploads/2022/02/destr-02.png)
Αν πάμε και τρέξουμε το cluvfy
(με τον oracle ή grid χρήστη) ώστε να κάνουμε έλεγχο στην εγκατάσταση:
su oracle cd $GRID_HOME/bin ./cluvfy comp software -n all -verbose
Θα δούμε ότι πάρα πολλά αρχεία έχουν λάθος δικαιώματα:
![Τι κάνω όταν δεν σηκώνονται τα Cluster Services (CRS) του Oracle Grid καθώς χάθηκαν τα δικαιώματα στα αρχεία συστήματος](https://www.dataplatform.gr/wp-content/uploads/2022/02/destr-01_02.png)
Πώς φτιάχνεται το πρόβλημα
Για αρχή ελέγχουμε αν είναι πάνω κάποια υπηρεσία του Cluster (CRS):
su root cd $GRID_HOME/bin ./crsctl check crs
Αν δούμε ότι ακόμα κάτι τρέχει σταματάμε το CRS:
./crsctl stop crs
Αν έχουμε Cluster με Grid Infrastructure 12c και έπειτα τρέχουμε το παρακάτω με root χρήστη:
su root cd $GRID_HOME/crs/install ./rootcrs.sh -init
Αν έχουμε Standalone Grid Infrastructure 12c και έπειτα τρέχουμε το παρακάτω με root χρήστη:
su root cd $GRID_HOME/crs/install ./roothas.sh -init
Αν έχουμε Cluster με Grid Infrastructure έως 11.2 τρέχουμε το παρακάτω με root χρήστη:
su root cd $GRID_HOME/crs/install ./rootcrs.pl -init
Αν έχουμε Standalone Grid Infrastructure έως 11.2 τρέχουμε το παρακάτω με root χρήστη:
su root cd $GRID_HOME/crs/install ./roothas.pl -init
Αφότου ολοκληρωθεί η εκτέλεση, ελέγχουμε πάλι τα δικαιώματα:
cd $GRID_HOME/bin ls -ltr
![Τι κάνω όταν δεν σηκώνονται τα Cluster Services (CRS) του Oracle Grid καθώς χάθηκαν τα δικαιώματα στα αρχεία συστήματος](https://www.dataplatform.gr/wp-content/uploads/2022/02/destr-03.png)
Πλέον φαίνονται να έχουν αλλάξει τα δικαιώματα οπότε μπορούμε να προσπαθήσουμε να σηκώσουμε το Cluster (CRS):
crsctl start crs
CRS-4123: Oracle High Availability Services has been started.
Και μετά από κάποια ώρα μπορούμε να δοκιμάσουμε αν σηκώθηκαν όλα τα resources:
crsctl status resource -t
![Τι κάνω όταν δεν σηκώνονται τα Cluster Services (CRS) του Oracle Grid καθώς χάθηκαν τα δικαιώματα στα αρχεία συστήματος](https://www.dataplatform.gr/wp-content/uploads/2022/02/racsn-40.png)
Αν το resource της βάσεις δεδομένων δεν είναι πάνω, τρέχουμε το παρακάτω με τον oracle χρήστη:
su oracle srvctl start database -d dbname