您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux非圖形界面如何安裝oracle數據庫,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
注釋:
一個未開圖形界面的Linux OS,如何安裝oracle軟件及數據庫,如下是2大步驟
1、克隆軟件
2、手動建庫
一、克隆軟件
1、基本配置
1.1)系統軟件包安裝
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
1.2)用戶創建
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo 123456 | passwd --stdin oracle
1.3)文件配置
1.3.1) 環境變量
vi ~oracle/.bash_profile
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export ORACLE_SID=test # 最多 8個字符 ; 操作系統和 oracle實例關聯的紐帶 ;ORACLE_HOME+ORACLE_SID==>hash==> 共享內存段
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin # 將安裝后的 oracle 命令追加到執行搜索路徑
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib # 動態庫的位置
export nls_lang="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" #客戶端字符集設置
# 加載配置 :oracle 用戶注銷重新登錄 或 source .bash_profile
1.3.2) 主機
echo "10.240.1.7 Database-backup" >> /etc/hosts #避免報錯startup noumount時報錯ORA-00000: normal, successful completion
1.3.3) 軟件目錄
mkdir -p /data/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /data/app
1.3.4) 資源限制
1.3.4,1) vim /etc/sysctl.conf 添加到文件底端
kernel.shmall = 2097152
#Total amount of shared memory available(bytes or pages); 頁的數量 ;2097152*4096/1024/1024/1024=8G; 如果內存大于 8G,必須修改此參數
kernel.shmmax = 2147483648
# 要>= 物理內存的一半 Maximum size of shared memory segment(bytes); 建議 >=sga_max_size(oracle申請內存大小 );
# 單個程序內存段最大多少 ;4G 的話分為兩段 mem_seg1 mem_seg2,影響效率 ;
kernel.shmmni = 4096
# Maximum number of shared memory segments system-wide; 頁的大小 ;
kernel.sem =250 32000 100 128
SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL Maximum number of semaphores per set; 每個信號對象集的最大信號對象數
SEMMNS Maximum number of semaphores system-wide; 系統范圍內最大信號對象數 ;SEMMNS = SEMMSL*SEMMNI
SEMOPM 每個信號對象支持的最大操作數
SEMMNI Maximum number of semaphore identifiers; 系統范圍內最大信號對象集數
fs.file-max #系統中所允許的文件句柄最大數目
net.ipv4.ip_local_port_range # 應用程序可使用的 IPv4 端口范圍
net.core.rmem_default #套接字接收緩沖區大小的缺省值
net.core.rmem_max #套接字接收緩沖區大小的最大值
net.core.wmem_default #套接字發送緩沖區大小的缺省值
net.core.wmem_max #套接字發送緩沖區大小的最大值
#注釋:OS32bit,oracle 最多申請 1.7G; 應該裝64bitOS
#加載參數 sysctl -p
1.3.4 ,2) /etc/security/limits.conf oracle 在 linux 上操作的limit
[root@dba ~]# grep -v '^#' /etc/security/limits.conf
oracle soft nproc 2047 #oracle 在 linux上打開 proc 數量
oracle hard nproc 16384
oracle soft nofile 1024 #oracle 在 linux上打開 file 的數量
oracle hard nofile 65536
[root@dba ~]# grep 'limit' /etc/pam.d/system-auth
session required pam_limits.so
1.3.4,3) 關閉防火墻、SELINUX
iptables -F
更改 /etc/selinux/config 文件 -->SELINUX=disabled
2、克隆 ORACLE_HOME
2.1)將遠程ORACLE_HOME完全復制到本地
#進入到本地ORACLE_HOME路徑
su - oracle
cd /data/app/oracle/product/11.2.0.4/
#將遠程ORACLE_HOME完全復制到本地
scp -pr oracle@10.240.1.8:/data/app/oracle/product/11.2.0.4/db_1/ .
2.2)執行clone.pl 克隆腳本更改參數配置(ORACLE_SID、ORACLE_HOME)
$ cd /data/app/oracle/product/11.2.0.4/db_1/clone/bin
$ ls
clone.pl prepare_clone.pl
#注意每個參數后,等號后不能有空格,否則被識別成無效選項
$ perl clone.pl ORACLE_SID=test ORACLE_BASE=/data/app/oracle ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1/ ORACLE_HOME_NAME=OraDb11g_home1
.......最后提示如下信息表示,克隆成功...
The following configuration scripts need to be executed as the "root" user.
/data/app/oracle/product/11.2.0.4/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
The cloning of OraDb11g_home1 was successful.
...................
二、手動建庫
1、配置參數文件 (測試環境簡單參數,若有需求,可補充 )
[oracle@Database-backup ~]$ cd $ORACLE_HOME/dbs
[oracle@Database-backup dbs]$ pwd
/data/app/oracle/product/11.2.0.4/db_1/dbs
[oracle@Database-backup dbs]$
[oracle@Database-backup dbs]$ cat inittest.ora
db_name=test
db_files = 80
db_file_multiblock_read_count = 8
log_checkpoint_interval = 10000
processes = 50
parallel_max_servers = 5
log_buffer = 32768
max_dump_file_size = 10240 # limit trace file size to 5 Meg each
global_names = TRUE
#control_files = (ora_control1, ora_control2)
sga_max_size=300M
sga_target=300M
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=10.240.1.7)(Port=1521)))' #避免啟動數據庫時報錯(ORA-00119、ORA-00130 local_listener配置無效)
[oracle@Database-backup dbs]$
2、啟動數據庫到nomount
#進入數據庫
[oracle@Database-backup dbs]$sqlplus / as sysdba
#開啟數據庫到nomount狀態
SQL> startup nomount
ORACLE instance started.
Total System Global Area 313159680 bytes
Fixed Size 2252824 bytes
Variable Size 104861672 bytes
Database Buffers 201326592 bytes
Redo Buffers 4718592 bytes
SQL>
3、創建數據庫,到open狀態 --->前提:mkdir -p /data/app/dbf/;chown -R oracle:oinstall /data/app/dbf/
SQL>CREATE DATABASE test
USER SYS IDENTIFIED BY change_on_install
USER SYSTEM IDENTIFIED BY manager
LOGFILE GROUP 1 ( '/data/app/dbf/redo01.log') SIZE 100M,
GROUP 2 ('/data/app/dbf/redo02.log') SIZE 100 M,
GROUP 3 ('/data/app/dbf/redo03.log') SIZE 100 M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/data/app/dbf/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/data/app/dbf/sysaux01.dbf' SIZE 325 M REUSE
DEFAULT TABLESPACE users datafile '/data/app/dbf/users.dbf' size 50m
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/data/app/dbf/temp01.dbf'
SIZE 20 M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/data/app/dbf/undotbs01.dbf'
SIZE 200 M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
Database created.
SQL>
4、確認數據庫狀態
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL>
5、 將DBF 設置自動擴展,避免稍后執行腳本加載數據字典表/包/scott用戶 時空間不足
alter database datafile 1 autoextend on;
alter database datafile 2 autoextend on;
alter database datafile 3 autoextend on;
alter database datafile 4 autoextend on;
6、創建數據字典/包/scott用戶
數據字典視圖 : @?/rdbms/admin/catalog.sql
系統包/存儲過程 : @?/rdbms/admin/catproc.sql
用戶PROFILE表 : @?/sqlplus/admin/pupbld.sql
以上已完成安裝oracle軟件及數據庫.
問題整理和完善
1、***** sqlplus / as sysdba 提示未找到libclntsh.so.11.1文件
[oracle@Database-backup ~]$ sqlplus / as sysdba
sqlplus: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
[oracle@Database-backup ~]$cd $ORACLE_HOME/lib/
[oracle@Database-backup lib]$ ls libclntsh.so*
libclntsh.so libclntsh.so.10.1 -->只有10.1 cp -rp 連帶屬性完全復制一份,正常若有libclntsh.so.11.1文件可能是權限問題。
[oracle@Database-backup lib]$ cp -rp libclntsh.so.10.1 libclntsh.so.11.1
[oracle@Database-backup lib]$ sqlplus / as sysdba
... 正常.
2、用于sys密碼登錄
orapwd file=orapwtest password=test
3、ORA-00904: "wm_concat":invalid identifier
執行創建WMSYS用戶腳本
SQL>@?/rdbms/admin/owmctab.plb
SQL>@?/rdbms/admin/owmaggrs.plb
SQL>@?/rdbms/admin/owmaggrb.plb
4、創建數據庫時報錯
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/dtxnspc.bsq' near line 5
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'UNDOTBS02' does not exist or of wrong type
Process ID: 35451
Session ID: 2661 Serial number: 1
原因:參數文件和創建數據庫腳本的默認undo空間不一致。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Linux非圖形界面如何安裝oracle數據庫”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。