Lỗi khởi động Oracle (không thể mở tệp tham số)


10

Tôi đã cài đặt máy chủ Oracle 11g trên Ubuntu 12.10. Nhưng tôi không thể khởi động máy chủ. Khi tôi khởi động máy chủ, xảy ra lỗi sau:

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora'

Làm thế nào tôi có thể giải quyết vấn đề này? Tôi nghĩ rằng kết nối thất bại vì máy chủ đích hoặc đối tượng không tồn tại. Làm thế nào một máy chủ mục tiêu có thể được chỉ định?

Đang chạy:

$ ls -latr /u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora

trả về:

-rw-r--r-- 1 oracle dba 2637 Mar 13 17:07 /u01/app/oracle/product/11.2.0/xe/dbs/initxe.ora 

Chạy echo $ORACLE_SIDkhông hiển thị gì - một dòng trống.


ls initXE.orasẽ không trở lại initxe.ora. Unix là trường hợp nhạy cảm.
phép lạ173

Câu trả lời:


10

Tôi thấy có hai điều sai ở đây. Oracle cố gắng mở một tệp tham số trong thư mục $ ORACLE_HOME / dbs với định dạng "spfile" + $ ORACLE_SID + ".ora". Nếu nó không thể tìm thấy nó, thì nó sẽ cố gắng mở "init" + $ ORACLE_SID + ".ora". Đây là nơi mà (các) vấn đề.

Do thực tế là Oracle đang cố mở một tệp tham số có tên "initXE.ora", SID của bạn phải (hoặc tại một điểm) bằng "XE".

1) Đây là phần dễ dàng, vì vậy hãy thử điều này đầu tiên. Vì (trong ý kiến ​​của bạn) echo $ORACLE_SIDkhông mang lại kết quả gì, hãy thử đặt nó.

export ORACLE_SID=XE

Sau đó thử bắt đầu lại Oracle.

2) Trong các bình luận của bạn ở trên, bạn hiển thị tệp có tên là "initxe.ora". Đó thực sự là tên của tập tin? Hoặc bạn đã dán vào một bình luận bằng cách nào đó viết thường đầu ra của lslệnh?

Lý do tôi chỉ ra điều này là Ubuntu (Linux) có hệ thống tệp phân biệt chữ hoa chữ thường. Vì vậy, initxe.ora và initXE.ora thực sự là hai tệp khác nhau. Vì vậy, nếu nhận xét của bạn là chính xác và tệp có nội dung thấp hơn, bạn sẽ muốn đặt ORACLE_SID của mình thành "xe" thay thế:

export ORACLE_SID=xe

Hãy thử và xem nếu nó hoạt động.


6

Nếu đây là một Oracle mới được cài đặt và bạn không có tệp tham số initXE.ora ở đây /u01/app/oracle/product/11.2.0/xe/dbs/, điều đó có nghĩa là trước tiên bạn cần tạo XE DB. Để làm điều đó chạy tập lệnh /u01/app/oracle/product/11.2.0/xe/bin/createdb.sh trước tiên.


Tại chỗ, cảm ơn bạn! Kịch bản mất nhiều thời gian nhưng thực hiện các mẹo. Bạn cần chạy nó với tư cách người dùng oraclevà lưu ý rằng điều này có nghĩa là bạn sẽ phải đặt lại mật khẩu hệ thống / sys sau đó khi thực hiện việc này.
Thức ăn gia súc

1

Tôi đã từng phải đối mặt với vấn đề này.

Tôi nhận ra rằng lỗi có thể do pfile không được tìm thấy. Bạn phải khởi động cá thể Oracle bằng cách sử dụng tệp tham chiếu đầy đủ bằng cách ban hành lệnh sau:

SQL> startup pfile=<your pfile full path here>

0

Cứ làm đi ls -altr. Nếu bạn thấy như thế này ...

-rw-r - r-- 1 oracle oinstall 2637 Mar 13 init.ora

... chỉ cần thay đổi chủ sở hữu : chown -R oracle:dba init.ora, sau đó khởi động.


-1

tìm "initXE.ora" trong thư mục oracle của bạn và được sử dụng:
SQL> startup pfile=<directory_name>/initXE.ora


Bạn có thể muốn thêm một số chi tiết về lý do tại sao điều này hoạt động, hoặc vấn đề với câu hỏi của người đăng ban đầu.
Max Vernon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.