2010-08-19 27 views
15

Tôi thấy chúng trong hệ thống phân cấp thư mục Linux của tôi sau khi cài đặt khung công tác Zend.thư mục oradiag_ <user> là gì?

/oradiag_root/ 
/user/myuser/oradiag_myuser/ 
/user/myuser/oradiag_root/ 

Tên này nhắc tôi về Oracle. Nhưng tôi không tìm thấy bất kỳ tài liệu chính thức nào về điều này.

Tôi không cài đặt bất kỳ máy chủ Oracle nào. Những gì đang xảy ra ở đây?

+0

Ý của bạn là Zend *** Framework *** hoặc Zend *** Server ***? Tôi đang sử dụng máy chủ Zend và nhận các tệp này. Khung công tác Zend là một thứ khác (mặc dù có thể Máy chủ sử dụng Khung công tác). – iconoclast

Trả lời

0

Nếu bạn đã cài đặt Zend Framework, nó xuất hiện để tạo ra các thư mục.

+0

Có, nhưng tôi thực sự tự hỏi làm thế nào để thay đổi thư mục hoặc loại bỏ nó. – Daff

+3

Zend Framework không ** không ** tạo chúng. Rất có thể, nó là một cái gì đó để làm với Zend Server và có hỗ trợ oracle kích hoạt theo mặc định. Việc tự giải nén ZF sẽ không cung cấp cho bạn những thư mục đó (kiểm tra tarballs nguồn nếu bạn không tin tôi). – weierophinney

14

Tôi chưa bao giờ cài đặt Oracle trên hệ thống của mình và không biết tại sao các thư mục này vẫn được tạo, nhưng cuối cùng tôi đã ngăn chặn chúng xuất hiện lại. Đây là cách nó được thực hiện.

Thứ nhất, đứng đầu trên:

cd ~/oradiag_<username>/diag/clients/user_<username>/host_*/trace/

và sau đó

head sqlnet.log

Bạn sẽ thấy một thông báo lỗi phàn nàn về một thư mục không tồn tại đối với r/w. Đối với tôi, nó là /usr/lib/log. Tôi đã tạo thư mục mà nó đã phàn nàn và xóa thư mục oradiag_<username>, chỉ để nó xuất hiện trở lại sau đó; tuy nhiên, tệp sqlnet.log giờ đã phàn nàn về một thư mục khác.

Tôi lặp lại quy trình tạo thư mục này vài lần cho đến khi thư mục cuối cùng ngừng xuất hiện. Trong trường hợp của bạn, các thư mục có thể khác nhau, nhưng đây là những gì giải quyết nó cho tôi:

sudo mkdir /usr/lib/log/diag/clients 
sudo chmod 777 /usr/lib/log/diag/clients 

Chỉ có thư mục clients cần phải được 777, rõ ràng.

Bây giờ, chỉ cần xóa các thư mục oradiag_<username> ở bất cứ nơi nào chúng hiện đang xuất hiện. Họ không nên bật lên cho bạn một lần nữa.

Trong trường hợp bạn đang tò mò, đây là những gì cuối cùng đã kết thúc được ghi vào đó "mất tích" thư mục:

[email protected]:/usr/lib/log/diag/clients$ ll -a 
total 8 
drwxrwxrwx 2 root root 4096 2011-08-24 10:34 . 
drwxr-xr-x 3 root root 4096 2011-08-24 10:34 .. 

Brilliant.

+2

777 quyền là (gần như?) Không bao giờ cần thiết, và nói chung (hoặc luôn luôn?) Một ý tưởng khủng khiếp. Bạn có chắc chắn bạn không thể nhận được bằng với ít hơn? Bạn không thể chỉ cấp quyền truy cập cho người dùng hoặc nhóm đang được sử dụng để chạy Máy chủ Zend? Trong trường hợp của tôi, người dùng là 'zend' và nhóm là' zend'. Tại sao không chỉ cung cấp cho một trong hai người trong số họ quyền sở hữu của các thư mục? Có thực sự cần thiết để làm cho những thư mục đó có thể ghi được trên thế giới không? – iconoclast

+0

Thư mục bạn cần tạo là thư mục không tồn tại, không có nội dung và không có mục đích nào khác ngoài việc ngăn thư mục khác được tạo trong/nhà bạn mà bạn không muốn. Tôi nghĩ rằng không có hại trong việc sử dụng 777 ở đây, BAO GIỜ, tôi không nhớ thử nghiệm với bất cứ điều gì hạn chế hơn (và tôi không có một máy Ubuntu để kiểm tra trên bây giờ). Nếu bạn có thể xác minh các quyền hoặc nhóm làm việc thay thế, thì vui lòng chỉnh sửa câu trả lời của tôi cho phù hợp. –

5

Có rất nhiều đề xuất ngoài đó, nhưng chỉ có một đề xuất phù hợp với tôi was this.

Trong Oracle 11gR1 trở lên, bạn phải thêm mã này vào sqlnet của mình.ora file đầu tiên:

DIAG_ADR_ENABLED=OFF 

Sau đó, sau đó thiết lập bản ghi-vô hiệu hóa khác nên làm việc:

TRACE_LEVEL_CLIENT = OFF 
TRACE_DIRECTORY_CLIENT=/dev/null 
LOG_DIRECTORY_CLIENT = /dev/null 
LOG_FILE_CLIENT = /dev/null 
LOG_LEVEL_CLIENT = OFF 

Các bản ghi được tạo ra là dành cho Oracle client. Nhật ký có thể hiển thị khi bất kỳ chương trình nào cố truy cập cơ sở dữ liệu Oracle.

Các vấn đề liên quan