centos平台搭建Oracle11g數據庫+遠程連接


經過了幾天的摸爬滾打,終於成功的能在宿主機上(window10上的Plsql)去成功的連上虛擬機上的centos數據庫

下面將自己的經驗分享給大家:

具體的centos7、centos6上安裝Oracle11g的過程可以見下面:

 自己的錯誤點總結:對於使用上面的方式在第13步不知道是否是出錯了,但是到了14步,自己按照里面在設置新的數據庫實例的一些參數的時候,有一些沒有設置,比如SID \GDBNAME的值好像都沒有設置對,所以在未發現之前,所有的配置都配置完畢之后出了下面的一大堆的問題(

 

問題:1、自己在centos上可以用sqlplus sys/自己的密碼 as sysdba  能正常的登錄到數據庫中,但是用在sys登錄后創建的用戶newuser登錄就登不上(登錄語句:sqlplus newuser/自己的密碼@orcl), @后面的orc是自己創建數據庫實例的時候起的名稱,也是SID,一般自己配置的SID和Global Database  Name    

配置的數據庫如下圖中的orcl

 

 

  

2、用sqlplus  newuser/newuser@orcl248登錄不成功,但是用sqlplus  newuser/newuser登錄能登上,是因為@orcl的時候,能成功的連上,因為此時不加@數據庫實例ID的話,默認的是連接到默認的庫上的,而當加上@orcl248之后,是想通過orcl248(連接描述符)這個連接串的名稱去連接到特定的那個數據庫(特定的數據庫指:SERVICE_NAME:服務器服務名稱  也就是下面的orcl)

 

tnsnames.ora中的內容

 

 

 

 客戶端為了遠程連接服務器,必須先和服務器上的監聽進程聯絡,Oracle通過tnsnames.ora文件中的連接描述符來說明連接信息。

名詞解釋:

ORCL248:連接描述符

address_list:表示客戶端經由多種協議與一台或多台服務器連接。在上面的例子中表示客戶端使用TCP協議與服務器端連接。

PROTOCOL:使用的協議

HOST :是TCP/IP協議使用的服務器IP地址。
PORT :是TCP/IP使用的端口地址。

CONNECT_DATA: 連接數據庫的連接配置

SERVER=DEDICATED: 表示用專用服務器連接oracle數據庫

SERVICE_NAME:服務器服務名稱

3、自己在window宿主機上通過PLSQL dev登錄的時候,出現錯誤:window連接centos上的oracle'出現ora12514:tns監聽程序當前無法識別

解決的辦法可以參考:

解決windows7無法連接CentOS7系統中oracle問題:ORA-12514 TNS 監聽程序當前無法識別(https://blog.csdn.net/u010915017/article/details/80430386

 

試過這些東西方法之后,自己的問題還是沒有解決:接着請教了大神,說是先將現有的database(orcl248)刪除

,之后再去重新創建一個新的oracle實例sid為orcl,因為之用的是上面呢的      教程     linux安裝Oracle11G  去靜默建立的database實例和靜默配置的監聽,但是出了問題(初步鑒定為自己的第 12、根據響應文件靜默安裝Oracle11g   中設置出了錯,

第二次重新的按照centos 7和Oracle11g,直接從0步走到了14步,但是還是本地的sys可以連、本地sys登錄上之后創建的用戶newuser不加@orcl可以連,加了不可以連   遠程還是不可以連。

自己的問題的成功的解決

最終自己將數據庫實例orcl248刪除,之后通過帶gnome圖形界面的centos 7 調出圖形界面(

Oracle創建新數據庫,新用戶,以及連接此用戶的方法心得  https://blog.csdn.net/jiaruochao/article/details/52128719

 

 

用終端輸入dbca調出下面的那個界面

成功的以創建 了一個oracle數據庫實例

在創建的過程中遇見的問題:由於默認的數據庫的文件存儲的位置一般是選擇圖中是選項,但是自己當選了默認的之后,再后面的步驟中一直無法走動,提示空間至少要1080但是只有985MB,所以自己返回又直接的將數據文件的存儲的位置更改為   用戶的/  也就是根目錄下,之后可以到了最后的界面

 

 

 

 

自己解鎖一個普通用戶

 

 

 

 

 

 

 自己在帶gonme的centos的終端下操作:

使用netca命令調出listener.ora配置文件的配置界面

[root@localhost admin]# netca

Oracle Net Services Configuration:
Stopping Oracle Net Listener:
    Running Listener Control: 
      /data/oracle/product/11.2.0/bin/lsnrctl stop LISTENER
    Listener Control complete.
    Listener stopped successfully.
    Deleted listener: LISTENER
Configuring Listener:LISTENER
Listener configuration complete.
Oracle Net Listener Startup:
    Running Listener Control: 
      /data/oracle/product/11.2.0/bin/lsnrctl start LISTENER
    Listener Control complete.
    Listener started successfully.
Oracle Net Services configuration successful. The exit code is 0

  調出的界面:

 

 

 

之后先把已經存在的listener監聽delete了,

已經存在的listener.ora中的內容為

[root@localhost admin]# more listener.ora
# listener.ora Network Configuration File: /data/oracle/product/11.2.0/network/admin/li
stener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /data/oracle

用下面的netca調出的界面更改之后 的內容為:

netca調出的界面:這個是針對listener.ora文件進行配置更改,刪除,增加的一個管理界面

 

 

[root@localhost admin]# more listener.ora
# listener.ora Network Configuration File: /data/oracle/product/11.2.0/network/admin/li
stener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.27.102)(PORT = 1521))
  )

ADR_BASE_LISTENER = /data/oracle

  當用這個管理界面配置完畢之后,不用lsnrctl stop、lsnrctl start去重新的啟動監聽,因為會自動的重啟,見上面的netca調出的界面保存之后顯示

[root@localhost admin]# netca

Oracle Net Services Configuration:
Stopping Oracle Net Listener:
    Running Listener Control: 
      /data/oracle/product/11.2.0/bin/lsnrctl stop LISTENER
    Listener Control complete.
    Listener stopped successfully.
    Deleted listener: LISTENER
Configuring Listener:LISTENER
Listener configuration complete.
Oracle Net Listener Startup:
    Running Listener Control: 
      /data/oracle/product/11.2.0/bin/lsnrctl start LISTENER
    Listener Control complete.
    Listener started successfully.
Oracle Net Services configuration successful. The exit code is 0

  

 之后直接在centos的終端下可以成功的連接到orcl這個數據庫實例了

成功的結果如下:這個相當於在本地的客戶端上去連接指定的orcl數據庫

 

 

之后在window10遠程客戶端連接centos上的orcl數據庫

具體的tnsnames.ora文件

 

xnjCentos1=                                                                                          
  (DESCRIPTION =                                                  
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.27.102)(PORT = 1521))
    (CONNECT_DATA =                                               
      (SERVER = DEDICATED)                                        
      (SERVICE_NAME = orcl)                                      )                                                             
  )

 遠程登錄成功

 

 

 

下面的轉自:https://www.cnblogs.com/mmzs/p/9033112.html     

作者 :淼淼之森

純的命令行的centos 7   安裝Oracle11g的過程

、0、下載Orcle11G

 

說明一下:
[root@myYUn install]#中的myYUn
等價於
[root@iz2f570bi1k56uz install]#中的iz2f570bi1k56uz;
這是為了界面效果調整的,但是有些沒調整到,理解一哈。

 

1、上傳文件到服務器或虛擬機的/install目錄下

[root@myYUn install]# rz –y

如果rz –y命令不能使用,可用如下方法解決

yum install lrzsz -y

2、解壓文件到當前目錄:

[root@myYUn install]# unzip linux.x64_11gR2_database_1of2.zip

[root@myYUn install]# unzip linux.x64_11gR2_database_2of2.zip

如果unzip命令不能使用,依次執行如下命令:

     yum list | grep zip/unzip

     yum install zip

     yum install unzip 

將解壓后的文件夾直接移動到/software目錄下:

[root@myYUn install]# mv database/ /software/

[root@myYUn install]# cd /software

[root@myYUn install]# ll

 

3、關閉selinux

[root@myYUn software]# vim /etc/selinux/config

設置SELINUX=disabled

[root@myYUn software]# setenforce 0

4、關閉防火牆

查看系統版本

[root@myYUn software]# cat /etc/redhat-release

CentOS Linux release 7.3.1611 (Core)

[root@myYUn software]# getconf LONG_BIT

64

 

如果是6及以下:

[root@myYUn software]# service iptables stop

[root@myYUn software]# service iptables status

[root@myYUn software]# chkconfig iptables off

 

如果是centenOS7:

[root@myYUn software]# systemctl restart firewalld.service

[root@myYUn software]# systemctl list-unit-files|grep firewalld.service

firewalld.service                             disabled

[root@myYUn software]# systemctl disable firewalld.service

 

5、安裝Oracle 11g依賴包

[root@myYUn software]# yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y

 

6、添加安裝用戶和用戶組

[root@myYUn software]# groupadd oinstall

[root@myYUn software]# groupadd dba

[root@myYUn software]# useradd -g oinstall -G dba oracle

[root@myYUn software]# passwd oracle

Changing password for user oracle.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@myYUn software]# id oracle

uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

 

7、修改內核參數配置文件

[root@myYUn software]# vim /etc/sysctl.conf

在末尾添加以下內容:

復制代碼
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576 
復制代碼

查看是否成功寫進/etc/sysctl.conf文件中:

[root@myYUn software]# sysctl -p

其中kernel.shmmax = 1073741824為本機物理內存(2G)的一半,單位為byte。

 

8、修改用戶的限制文件

修改/etc/security/limits.conf文件:

[root@myYUn software]# vim /etc/security/limits.conf

在末尾添加以下內容:

oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile         65536
oracle           soft    stack           10240 

修改/etc/pam.d/login文件:

[root@myYUn software]# vim /etc/pam.d/login

在末尾添加以下內容:

session required  /lib64/security/pam_limits.so
session required   pam_limits.so 

修改/etc/profile文件:

[root@ myYUn software]# vim /etc/profile

在末尾添加以下內容:

復制代碼
#oracle配置
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
  else
      ulimit -u 16384 -n 65536
  fi
fi 
復制代碼

 

9、創建安裝目錄和設置文件權限

[root@myYUn software]# mkdir -p /data/oracle/product/11.2.0

[root@myYUn software]# mkdir /data/oracle/oradata

[root@myYUn software]# mkdir /data/oracle/inventory

[root@myYUn software]# mkdir /data/oracle/fast_recovery_area

[root@myYUn software]# chown -R oracle:oinstall /data/oracle

[root@myYUn software]# chmod -R 775 /data/oracle

 

10、設置oracle用戶環境變量

首先切換到oracle用戶下:

[root@myYUn software]# su -l oracle

 

[oracle@myYUn ~]$ vim .bash_profile

在末尾添加如下內容:

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0

ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

注意,標紅處必須與創建的數據庫實例名稱一致,否則數據庫啟動后無法訪問。第一次配置完記得source一下。

[oracle@myYUn ~]$ source .bash_profile

 

11、編輯靜默安裝響應文件

復制安裝文件夾response到當前oracle用戶的家目錄下:

[oracle@myYUn ~]$ cp -R /software/database/response/ .

[oracle@myYUn ~]$ cd response/

[oracle@myYUn response]$ vim db_install.rsp

需要設置的選項如下:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=CentOS

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/oracle/product/11.2.0

ORACLE_BASE=/data/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

 

12、根據響應文件靜默安裝Oracle11g

[oracle@myYUn response]$ cd /software/database/

[oracle@myYUn database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

 

如果執行以上命令出錯,會提示有參數格式,按照提示參數格式修改修改即可,一般是由於word中的字體、符號格式復制到客戶端命令行后不一致引起,修改即可。

 

樓主遇到了交換空間不足的問題:

解決方案如下(在root用戶下執行):

[root@myYUn /]# free

[root@myYUn /]# dd if=/dev/zero of=swapfile bs=1024 count=500000

500000+0 records in

500000+0 records out

512000000 bytes (512 MB) copied, 1.67013 s, 307 MB/s

[root@myYUn /]# mkswap swapfile

Setting up swapspace version 1, size = 499996 KiB

no label, UUID=c5e355eb-e73e-4aa0-b882-cb6d1f88e6bc

[root@myYUn /]# swapon swapfile

swapon: /swapfile: insecure permissions 0644, 0600 suggested.

[root@myYUn /]# free

 

開始Oracle在后台靜默安裝。安裝過程中,如果提示[WARNING]不必理會,此時安裝程序仍在后台進行,如果出現Successfully Setup Software,則安裝程序已經停止了。

 

可以在以下位置找到本次安裝會話的日志:/data/oracle/inventory/logs/installActions2018-05-13_02-14-55PM.log

 

可以切換終端執行top命令查看后台進程一直是在安裝的,/data目錄也在不斷增大,

當出現以下提示時,代表安裝成功:

按照要求執行腳本。

打開終端,退出到root身份登錄,執行腳本:

[oracle@iZ2f570bi1k56uZ database]$ exit

logout

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/inventory/orainstRoot.sh

Changing permissions of /data/oracle/inventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

 

Changing groupname of /data/oracle/inventory to oinstall.

The execution of the script is complete.

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/product/11.2.0/root.sh

Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2018-05-13_14-25-04.log for the output of root script


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM