Làm cách nào để cài đặt Oracle 11gR2 trên Ubuntu 14.04?


Câu trả lời:


72

Bước 1: Tải xuống phiên bản Oracle Database Express.

Bước 2: Hướng dẫn trước khi cài đặt Oracle

  1. Sao chép tập tin đã tải xuống và dán nó vào thư mục nhà.

  2. Giải nén bằng lệnh:

    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
    
  3. Cài đặt các gói cần thiết bằng lệnh:

    sudo apt-get install alien libaio1 unixodbc
    
  4. Nhập vào thư mục Disk1 bằng lệnh:

    cd Disk1/
    
  5. Chuyển đổi định dạng gói RPM sang định dạng gói DEB (được Ubuntu sử dụng) bằng lệnh:

    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
    
  6. Tạo tập lệnh chkconfig cần thiết bằng lệnh:

    sudo pico /sbin/chkconfig
    

    Trình soạn thảo văn bản pico được bắt đầu và các lệnh được hiển thị ở dưới cùng của màn hình. Bây giờ sao chép và dán các mục sau vào tệp và lưu:

    #!/bin/bash
    # Oracle 11gR2 XE installer chkconfig hack for Ubuntu
    file=/etc/init.d/oracle-xe
    if [[ ! `tail -n1 $file | grep INIT` ]]; then
        echo >> $file
        echo '### BEGIN INIT INFO' >> $file
        echo '# Provides: OracleXE' >> $file
        echo '# Required-Start: $remote_fs $syslog' >> $file
        echo '# Required-Stop: $remote_fs $syslog' >> $file
        echo '# Default-Start: 2 3 4 5' >> $file
        echo '# Default-Stop: 0 1 6' >> $file
        echo '# Short-Description: Oracle 11g Express Edition' >> $file
        echo '### END INIT INFO' >> $file
    fi
    update-rc.d oracle-xe defaults 80 01
    
  7. Thay đổi quyền của tệp chkconfig bằng lệnh:

    sudo chmod 755 /sbin/chkconfig  
    
  8. Đặt tham số kernel. Oracle 11gR2 XE yêu cầu các tham số kernel bổ sung mà bạn cần đặt bằng lệnh:

    sudo pico /etc/sysctl.d/60-oracle.conf
    
  9. Sao chép phần sau vào tệp và lưu:

    # Oracle 11g XE kernel parameters 
    fs.file-max=6815744  
    net.ipv4.ip_local_port_range=9000 65000  
    kernel.sem=250 32000 100 128 
    kernel.shmmax=536870912 
    
  10. Xác nhận thay đổi bằng lệnh:

    sudo cat /etc/sysctl.d/60-oracle.conf 
    
  11. Bạn sẽ thấy những gì bạn đã nhập trước đó. Bây giờ tải các tham số kernel:

    sudo service procps start
    
  12. Xác minh các tham số mới được tải bằng cách sử dụng:

    sudo sysctl -q fs.file-max
    

    Bạn sẽ thấy giá trị tối đa của tệp mà bạn đã nhập trước đó.

  13. Thiết lập điểm gắn kết / dev / shm cho Oracle. Tạo tập tin sau bằng lệnh:

    sudo pico /etc/rc2.d/S01shm_load
    
  14. Sao chép phần sau vào tập tin và lưu lại.

    #!/bin/sh
    case "$1" in
    start)
        mkdir /var/lock/subsys 2>/dev/null
        touch /var/lock/subsys/listener
        rm /dev/shm 2>/dev/null
        mkdir /dev/shm 2>/dev/null
    *)
        echo error
        exit 1
        ;;
    
    esac 
    
  15. Thay đổi quyền của tệp bằng lệnh:

    sudo chmod 755 /etc/rc2.d/S01shm_load
    
  16. Bây giờ thực hiện các lệnh sau:

    sudo ln -s /usr/bin/awk /bin/awk 
    sudo mkdir /var/lock/subsys 
    sudo touch /var/lock/subsys/listener
    

    Bây giờ, khởi động lại hệ thống của bạn

Bước 3: Cài đặt Oracle

  1. Cài đặt DBMS oracle bằng lệnh:

    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
    
  2. Cấu hình Oracle bằng lệnh:

    sudo /etc/init.d/oracle-xe configure 
    
  3. Thiết lập các biến môi trường bằng cách chỉnh sửa tệp .bashrc của bạn:

    pico ~/.bashrc
    
  4. Thêm các dòng sau vào cuối tập tin:

    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
    export ORACLE_BASE=/u01/app/oracle
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH
    
  5. Tải các thay đổi bằng cách thực hiện hồ sơ của bạn:

    . ~/.bashrc
    
  6. Khởi động XE Oracle 11gR2:

    sudo service oracle-xe start
    
  7. Thêm người dùng YOUUSERNAME vào nhóm dba bằng lệnh:

    sudo usermod -a -G dba YOURUSERNAME
    

Bước 4: Sử dụng Oracle XE Command Shell

  1. Khởi động máy chủ Oracle XE 11gR2 bằng lệnh:

    sudo service oracle-xe start
    
  2. Bắt đầu shell dòng lệnh với tư cách quản trị viên hệ thống bằng lệnh:

    sqlplus sys as sysdba
    

    Nhập mật khẩu mà bạn đã cung cấp trong khi định cấu hình Oracle trước đó. Bây giờ bạn sẽ được đặt trong một môi trường SQL chỉ hiểu các lệnh SQL.

  3. Tạo một tài khoản người dùng thông thường trong Oracle bằng lệnh SQL:

    create user USERNAME identified by PASSWORD;
    

    Thay thế USERNAME và PASSWORD bằng tên người dùng và mật khẩu bạn chọn. Hãy nhớ tên người dùng và mật khẩu này. Nếu bạn gặp lỗi khi thực hiện ở trên với thông báo về resetlog, thì hãy thực thi lệnh SQL sau và thử lại:

    alter database open resetlogs;
    
  4. Cấp đặc quyền cho tài khoản người dùng bằng lệnh SQL:

    grant connect, resource to USERNAME;
    

    Thay thế USERNAME và PASSWORD bằng tên người dùng và mật khẩu bạn chọn. Hãy nhớ tên người dùng và mật khẩu này.

  5. Thoát khỏi trình quản trị hệ thống sys bằng lệnh SQL:

    exit;
    
  6. Bắt đầu shell dòng lệnh như một người dùng thông thường bằng cách sử dụng lệnh:

    sqlplus
    

    Bây giờ, bạn có thể chạy các lệnh sql ...


Ở bước 6 tôi sẽ nhận đượcStarting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
Skynet

2
@Skynet. Tôi đã nhận được cùng một lỗi. Mặc dù tôi không thể hiểu các lệnh này , tôi đã thử và có thể định cấu hình oracle XE hoặc linux mint.
Jeet

@Skynet. Và cũng đã thử liên kết này . Nội dung tìm kiếm Tham khảo trong nhận xét sau khi mở rộng: để làm cho nó hoạt động Tôi cần thêm các dòng sau vào đầu tệp "/etc/init.d/oracle-xe"...bằng giữa các bước 6 (i) và 6 (ii) nếu [-L / dev / shm]; sau đó rm -rf / dev / shm mkdir / dev / shm mount -t tmpfs shmfs -o size = 2048m / dev / shm fi if [! -d / var / lock / subsys]; sau đó mkdir / var / lock / subsys touch / var / lock / subsys / listener fi
Jeet

1
/etc/rc2.d/S01shm_loaddường như mất tích ;;chỉ ra sự kết thúc của một sự thay thế ở dòng 7.
user3523935

2
Phải sử dụng sudo service procps restartthay vìsudo service procps start
ossbfox

0

Cảm ơn bạn đã hướng dẫn chi tiết nhưng tôi đã nhận được lỗi

touch: cannot touch '/var/lock/subsys/listener' .. 

trong bước sudo /etc/init.d/oracle-xe configure. Vì vậy, như được đề xuất trên http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html Tôi đã thêm các dòng sau vào/etc/init.d/oracle-xe

if [ -L /dev/shm ]; then
    rm -rf /dev/shm
    mkdir /dev/shm
    mount -t tmpfs shmfs -o size=2048m /dev/shm
fi

if [ ! -d /var/lock/subsys ]; then
 mkdir /var/lock/subsys
 touch /var/lock/subsys/listener
fi

... và nó hoạt động tốt với tôi


Bạn gặp lỗi vì có lỗi trong tập lệnh /etc/rc2.d/S01shm_loadtrong câu trả lời của Saikat. Sửa chữa điều này sẽ là một giải pháp sạch hơn. Tôi sẽ chỉnh sửa câu trả lời với kịch bản chính xác.
Thức ăn thô xanh

Quên đi, người đánh giá là kẻ ngốc. Sau lần thử đầu tiênlần thứ hai để sửa kịch bản thất bại, tôi bỏ cuộc. Rõ ràng điều quan trọng hơn là bỏ phiếu để ghi điểm sau đó thực sự cố gắng hiểu những gì đang được thực hiện.
Thức ăn gia súc

0

Điều này hoạt động tốt, tuy nhiên tôi đã nhận được lỗi sau:

sudo /etc/init.d/oracle-xe start
[....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
 failed!

Nhìn vào nó:

systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'

Tôi đã giải quyết nó bằng cách thêm một người dùng:

sudo adduser oracle

Hy vọng điều này sẽ giúp được ai đó.

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.