圖文詳解Oracle10g在RedHat Linux6.5_x64上的安裝

一.修改系統版本

Oracle10g時代,Red Hat版本還是4.x,根據不認識6.5版本,因此在安裝時作兼容性檢查時會報錯,解決辦法是更改系統版本信息文件/etc/redhat-release,將6.5改爲4.8。

二.設置內核參數

vi /etc/sysctl.conf

kernel.shmall = 2097152

kernel.shmmax = 4294967295

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

fs.file-max = 101365

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

net.ipv4.ip_local_port_range = 1024 65000


運行以下命令使其生效: #/sbin/sysctl -p 生效 

使用sysctl -a查看


三.創建oracle用戶和組

# /usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

# /usr/sbin/useradd -g oinstall -G dba  oracle -d /home/oracle

# chmod -R 755 /home/oracle

# chown oracle:oinstall /home/oracle

# passwd oracle


四.安裝Xmanager


如果你是在本機上安裝,可以忽略此步驟。我是在windows下用仿真終端遠程登錄Linux的,因此需要安裝Xmanager來顯示圖形界面。安裝完後,用Xshell以oracle登錄Linux,執行以下環境變量操作:

1
2
export DISPLAY=198.20.1.21.0:0   (198.20.1.21爲windows的IP)
xhost +


在終端會話選項下勾選 Forward X11 connections to: Xmanager,啓動Xmanager passive被動接受連接。


五.安裝Oracle


以oracle登錄:

1
cpio -idmv  < 10201_database_linux_x86_64.cpio

進入database目錄,執行:

1
./runInstaller

如果一切正常,應該會彈出以下界面:

填好數據庫名及管理用戶的密碼。如果不在這裏創建數據庫,也可以在安裝完成後,執行dbca安裝數據庫。點擊下一步。

系統兼容性檢查。下一步

點Install安裝

中途會報一個錯,點Continue忽略它,是此版本的一個Bug

配置助手,會自動幫你配置一些東西

開始安裝數據庫

完成後,會出現下面界面

此處可以重新配置sys及system的密碼,如果需要,點Password Management


出現上面界面時,先以root用戶登錄,執行root.sh後再點OK按鈕。因爲我之前裝過一次,所以會提示是否覆蓋。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@SMNG2021 10g]# ./root.sh
Running Oracle10 root.sh script...
  
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /home/oracle/db/product/10g
  
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...
  
  
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

完成後,點Exit,完成Oracle的安裝。


六.配置ora文件

/home/oracle/db/product/10g/network/admin/tnsnames.ora(本機登錄sqlplus需用到此文件)

 

1
2
3
4
5
6
7
8
CCBDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 198.20.1.21)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ccbdb)
    )
  )

 

/home/oracle/db/product/10g/network/admin/listener.ora,(遠程客戶端登錄偵聽程序lsnrctl需用到此文件)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /home/oracle/db/product/10g)
      (PROGRAM = extproc)
    )
  (SID_DESC =
      (GLOBAL_DBNAME = ccbdb)
      (ORACLE_HOME = /home/db/oracle/product/10g)
      (SID_NAME = CCBDB)
    )
  )
      
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 198.20.1.21)(PORT = 1521))
    )
  )

如果直接sqlplus “ /as sysdba “   則使用的是UDP協議,直聯本機數據庫服務器。

如果sqlplus xydpb/xydpb@ods  則使用的是TCP協議,聯的服務器取決於tnsnames.ora裏的配置。而要讓ORACL偵聽TCP端口1521 需修改listener.ora

 

七.配置環境變量

1
2
3
4
5
6
7
ORACLE_BASE=/home/oracle/db
ORACLE_HOME=$ORACLE_BASE/product/10g
ORACLE_SID=CCBDB     #與上面tnsnames.ora上配置的要一致
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG

八.查看目前系統情況

已經建了很多dbf數據文件及控制文件等。

有如下一些配置文件

oracle服務已經啓動


八.啓動實例

1
sqlplus "/as sysdba"

進入後執行

1
startup


於是問題來了:


  • 問題:

 

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file ‘/home/oracle/db/product/10g/dbs/initCCBDB.ora’

 

解決:

/home/oracle/db/product/10g/dbs下,執行cp initdw.ora initCCBDB.ora

  • 問題:

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORA-00371: not enough shared pool memory,should be atleast 128265318 bytes

解決:

改initCCBDB.ora參數:

 

# Shared pool size should be, in general, equal to 5-10% of the

# available memory. Data warehouses typically do not require as much

# memory for shared pool as OLTP systems.

 

#shared_pool_size = 20M                                   #DEMO

#shared_pool_size = 50M                                  #SMALL

shared_pool_size = 400M                                 #MEDIUM

#shared_pool_size = 800M                                 #LARGE

  • 問題:

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORA-01506: missing or illegal database name

解決:

打開initCCBDB.ora設置db_name = CCBDB

  • 問題

ORA-01102: cannot mount database in EXCLUSIVE mode

解決 

1
2
3
4
5
6
7
8
9
10
11
12
13
[oracle@SMNG2021 dbs]$ pwd
/home/oracle/db/product/10g/dbs
[oracle@SMNG2021 dbs]$ ls
hc_CCBDB.dat  hc_ccbdb.dat  init.ora  initCCBDB.ora  initdw.ora  lkCCBDB  orapwccbdb  spfileccbdb.ora
 
查看使用lkCCBDB的進程
[oracle@SMNG2021 dbs]$ fuser -u lkCCBDB
lkCCBDB:             19214(oracle) 19216(oracle) 19218(oracle) 19220(oracle) 19222(oracle) 19224(oracle) 19226(oracle) 19228(oracle) 19230(oracle) 19232(oracle) 19234(oracle) 19243(oracle) 20197(oracle) 20199(oracle) 25346(oracle)
 
殺了它們
[oracle@SMNG2021 dbs]$ fuser -k lkCCBDB
lkCCBDB:             19214 19216 19218 19220 19222 19224 19226 19228 19230 19232 19234 19243 20197 20199 25386
[oracle@SMNG2021 dbs]$ fuser -u lkCCBDB
  • 問題

ORA-00205: error in identifying control file, check alert log for more info

  • 解決:

打開initCCBDB.ora設置

# Define at least two control files by default

control_files = (/home/oracle/db/oradata/ccbdb/control01.ctl,

/home/oracle/db/oradata/ccbdb/control02.ctl,

/home/oracle/db/oradata/ccbdb/control03.ctl)

  • 問題:

ORA-00201: control file version 10.2.0.1.0 incompatible with ORACLE version

10.2.0.0.0

ORA-00202: control file: '/home/oracle/db/oradata/ccbdb/control01.ctl'

解決:

打開initCCBDB.ora設置

compatible = 10.2.0.1.0

sqlplus –version或sqlplus "/as sysdba"進入後可查看當前版本)


再次執行startup,成功!


可能有人會覺得多次改那配置很煩,爲什麼不一次性弄好再寫出來呢,其實這是爲了讓大家更瞭解一些問題,所以特意把問題都列出來了。

Oracle就這樣成功安裝了,接下來是創建表空間和用戶,根據自己需要吧!


九.創建表空間和用戶


  • 查看目前用戶情況

1
SQL>  select username from dba_users;

USERNAME

——————————

MGMT_VIEW

SYS

SYSTEM

DBSNMP

SYSMAN

OUTLN

MDSYS

ORDSYS

EXFSYS

DMSYS

WMSYS

 

USERNAME

——————————

CTXSYS

ANONYMOUS

XDB

ORDPLUGINS

SI_INFORMTN_SCHEMA

OLAPSYS

SCOTT

TSMSYS

BI

PM

MDDATA

 

USERNAME

——————————

IX

SH

DIP

OE

HR

 

27 rows selected.

  • 查看目前表空間情況

1
2
3
4
SQL> set line  120
SQL> col file_name for a50
SQL> col tablespace_name for a16
SQL> select tablespace_name,file_name,bytes/1024/1024 from dba_data_files;
TABLESPACE_NAME   FILE_NAME BYTES/1024/1024
USERS /home/oracle/db/oradata/ccbdb/users01.dbf 5
SYSAUX /home/oracle/db/oradata/ccbdb/sysaux01.dbf 240
UNDOTBS1 /home/oracle/db/oradata/ccbdb/undotbs01.dbf 30
SYSTEM /home/oracle/db/oradata/ccbdb/system01.dbf 480
EXAMPLE /home/oracle/db/oradata/ccbdb/example01.dbf 100


  • 創建表空間

1
SQL>  create tablespace ccbdbdata datafile '/home/oracle/db/oradata/ccbdb/ccbdb_data_10g_01' size 10240m autoextend off;

Tablespace created.

  

  • 創建用戶及授權

1
SQL> create user ccbsmg identified by ccbsmg default  tablespace ccbdbdata;

User created.

 

1
SQL> grant unlimited tablespace to ccbsmg;

Grant succeeded.

 

1
SQL> grant create session to ccbsmg;

Grant succeeded.

 

1
SQL> grant create any table to ccbsmg;

Grant succeeded.

 

1
SQL> grant delete any table to ccbsmg;

Grant succeeded.

 

1
SQL> grant create any procedure to ccbsmg;

Grant succeeded.


1
SQL> grant dba to ccbsmg;

Grant succeeded.

 

  • 創建索引空間(把索引的表空間與數據表空間分開,也可以不分開)

 

1
2
SQL> create tablespace ccbdbidx datafile 
'/home/oracle/db/oradata/ccbdb/ccbdb_data_10g_02' size 10240m autoextend off;

Tablespace created.

 

  • 查看錶空間創建情況

1
SQL> select tablespace_name,file_name,bytes/1024/1024 from dba_data_files;


TABLESPACE_NAME  FILE_NAME BYTES/1024/1024
USERS /home/oracle/db/oradata/ccbdb/users01.dbf 5
SYSAUX /home/oracle/db/oradata/ccbdb/sysaux01.dbf 240
UNDOTBS1 /home/oracle/db/oradata/ccbdb/undotbs01.dbf 30
SYSTEM /home/oracle/db/oradata/ccbdb/system01.dbf 480
EXAMPLE /home/oracle/db/oradata/ccbdb/example01.dbf 100
CCBDBDATA /home/oracle/db/oradata/ccbdb/ccbdb_data_10g_01 10240
CCBDBIDX /home/oracle/db/oradata/ccbdb/ccbdb_data_10g_02 10240


大功告成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章