SQL記錄-Linux CentOS配置ORACLE 12c


1.准備LIINX軟件包

操作系統:centos7

虛擬機:VMware 12

JDK:1.8

數據庫:oracle 12c

2.配置基礎環境

2.1 部署虛擬機VM(過程略)

2.2 部署操作系統Centos(過程略)

2.3 配置NAT網絡環境

#網絡適配器為NAT模式

#VM虛擬機-編輯-虛擬網絡編輯器-添加VMnet8節點,配置NAT模式網段:子網-192.168.66.0,網關-192.168.66.2

#設置centos靜態IP配置(/etc/sysconfig/network-scripts/ifcfg-ens33 )

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=7ea5375c-4db2-4132-9df9-dfe79362f31c
DEVICE=ens33
ONBOOT=yes
GATEWAY=192.168.66.2
PADDR=192.168.66.68
NETMASK=255.255.255.0
DNS1=192.168.66.2

#關閉防火牆:systemctl stop firewalld.service    systemctl disable firewalld.service

#關閉SLinux安全控制

#vim /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #保存退出
#setenforce 0 #使配置立即生效

#將有線網或無線網共享給vmnet8(網絡連接右鍵-屬性-共享)

#ping www.baidu.com  測試網絡是否連通

3.配置JDK

#mkdir /usr/app   新建目錄

#上傳並解壓軟件包到/usr/app,使用mv更名為jdk1.8.0

#配置/etc/profile

vim /etc/profile
#set java environment  
export JAVA_HOME=/usr/app/jdk1.8.0
export JRE_HOME=/usr/app/jdk1.8.0/jre  
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib  
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  
export JAVA_HOME JRE_HOME CLASS_PATH PATH 

#source /etc/profile  立即生效
#java  -version   測試JDK環境是否正常

4.創建oracle相關用戶和組

#groupadd dba 創建組別
#groupadd oinstall #創建組別
#useradd -g oinstall -G dba -m oracle 添加用戶並指定組別
#id oracle 查看用戶的組別信息
uid=500(oracle) gid=501(oinstall) groups=501(oinstall),500(dba)
#passwd oracle 設置登錄密碼

5.創建oracle軟件安裝目錄

#df -TH 查看掛載情況,保證至少有60GB的空間,顯存2.5GB以上
#mkdir /usr/app/oracle/oracle -p
#mkdir /usr/app/oracle/oraInventory  -p
#mkdir /usr/app/oracle/database  -p
#chown -R oracle. /usr/app/oracle 授予組別和擁有者
#chmod 755 -R /usr/app/oracle 授權相關權限
#ls -ll /usr/app/oracle 查看組別是否為oinstall,擁有者是否為oracle

6.上傳oracle安裝包

#使用xftp上傳到/usr/app/oracle/database下,並使用tar zxvf或unzip進行解壓

#chown -R oracle. /usr/app/oracle 授予組別和擁有者

#chmod 755 -R /usr/app/oracle 授權相關權限

7.配置oracle環境

vim /etc/profile
export ORACLE_BASE=/usr/app/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export ORACLE_SID=ORCL
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
if [ $USER = "oracle" ];then
    if [ $SHELL = "/bin/ksh" ];then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
#source /ect/profile   立即生效

8.修改內核參數和安全控制

#vim /etc/sysctl.conf 添加以下內容

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

#sysctl -p  #立即生效

#修改安全限制
#vim /etc/security/limits.conf文件末尾添加如下內容
oracle          soft    nproc           2047
oracle          hard    nproc           16384
oracle          soft    nofile          4096
oracle          hard    nofile          65536

#vim /etc/pam.d/login文件,添加以下內容
session    required     pam_limits.so

9.安裝依賴包

yum install -y gcc gcc-c++ libaio glibc compat-libstdc++-33 elfutils-libelf-devel libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel glibc-common ksh make sysstat pdksh

10.xshell遠程調用xmanager圖形安裝

#安裝xshell、xmanager系列軟件

#無桌面Linux系統(安裝桌面組件)

   yum clean all

   yum groupinstall  "X Window System" -y

   yum groupinstall  "Desktop"

   yum groupinstall  "GNOME Desktop Environment" -y

   yum -y install tigervnc-server

   yum -y install lrzsz scp mlocate

#xshell會話設置

#su oracle 切換用戶輸入密碼

#export DISPLAY=172.20.107.151:0.0 #w查看客戶端IP

#xhost +

access control disabled,clients can connect from any host

#gnome-panel  #連接Xmanager進入圖形界面(可忽略)

#進入database目錄,執行runInstaller,選擇好參數進行安裝

#./runInstaller 執行安裝

#有桌面的LINUX系統

 使用oracle用戶登錄桌面,執行./runInstaller進行安裝,選擇安裝數據庫軟件-單個實例進行安裝。

11.dbca新建數據庫

Linux系統新建數據庫,需要啟動圖形界面

#su oracle 切換用戶輸入密碼

#export DISPLAY=172.20.107.151:0.0 #w查看客戶端IP

#xhost +

#dbca    ###勾選enterprise manager

輸入SID、數據庫名、system/sys的密碼,選擇好字符集GBK-Chinese,注意db_block_size塊不可更改,根據操作系統固定為8192,對應8k,最大支持單個數據文件32GB,如超出范圍,需另加一個數據文件,並指定在同一表空間下。

12.數據庫啟動和關閉操作

#su oracle

#lsnrctl start  啟動監聽

#lsnrctl status 查看監聽狀態

#lsnrctl stop 停止監聽

#ps -ef | grep ora_  查看oracle進程

#sqlplus /nolog 無密進入超級用戶  sqlplus / as sysdba

SQL>connect / as sysdba

SQL>select status from v$instance;#查看實例狀態

SQL>select name from v$database; #查看SID

SQL>select name from v$datafile;#查看數據庫空間路徑

SQL>select member from v$logfile;#查看日志路徑

SQL>select * from v$version;#查看版本號

SQL>startup; #開啟實例

SQL>shutdown immediate; #關閉實例

SQL>create  tablespace  BIT datafile   '/usr/app/oracle/oracle/oradata/ORCL/BIT01.dbf' size 100M autoextend on  next 100M maxsize unlimited,'/usr/app/oracle/oracle/oradata/ORCL/BIT02.dbf' size 100M autoextend on  next 100M maxsize unlimited;#創建表空間

SQL>create  user  c##bit  identified   by   bit123  default   tablespace BIT;#創建用戶

SQL>grant   dba,connect,resource to  c##bit; 授予DBA角色

附錄:CDB與PDB一些操作

附錄---CDB與PDB一些操作
#查看PDB狀態
SELECT con_id,dbid,NAME,OPEN_MODE from v$pdbs;

#更改容器為PDB
alter session set container=PDBORCL;
#切換到CDB
alter session set container=CDB$ROOT;

#查看表空間 SELECT t.tablespace_name FROM dba_tablespaces t; 
#創建表空間 create tablespace BIT datafile '/usr/app/oracle/oracle/oradata/ORCL/BIT01.dbf' size 100M autoextend 
on next 100M maxsize unlimited,'/usr/app/oracle/oracle/oradata/ORCL/BIT02.dbf' size 100M autoextend on 
next 100M maxsize unlimited; 
#新建用戶並授權 
create user c##bit identified by bit123 default tablespace BIT; 
GRANT dba,CONNECT,resource TO c##bit; 
#修改sys和system密碼 
alter user sys identified by 1; 
alter user system identified by 1; 
#刪除表空間 
drop tablespace BIT including contents and datafiles ; 
#刪除用戶 
drop user BIT cascade; 
#關閉PDB 
alter pluggable database PDBORCL close; 
#查看所有用戶 
select * from all_users; 
#開啟CDB 
sqlplus / as sysdba 
SQL>startup 
SQL> set linesize 120 
SQL> select instance_name,status from v$instance; 
SQL> select name,cdb from v$database; 
SQL> show con_name 
SQL> SHUTDOWN IMMEDIATE 
#開啟和關閉PDB 
SQL> show con_name S
QL> show pdbs 
SQL> alter pluggable database pdb1 open; 
SQL> alter pluggable database pdb1 close; 
SQL> show pdbs #切換到容器PDB1 
SQL> alter session set container=pdb1; 
SQL> SHOW CON_NAME 
#創建觸發器隨CDB啟動而啟動PDB 
SQL> CREATE OR REPLACE TRIGGER open_pdbs AFTER STARTUP ON DATABASE BEGIN 
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; END open_pdbs; 
SQL> SHUTDOWN IMMEDIATE 
SQL> STARTUP 
SQL> show pdbs

如何使用ORACLE客戶端連接LINUX ORACLE服務器

#下載instantclient basic和sqlplus 64bit包,合並解壓到D盤

#設置環境變量

NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

TNS_ADMIN:D:\instantclient\NETWORK\ADMIN

Path:D:\instantclient  D:\instantclient\NETWORK\ADMIN

#在D:\instantclient\NETWORK\ADMIN新建tnsnames.ora

# tnsnames.ora Network Configuration File: #D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.



BIT68 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.66.68)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )


 

#使用sqldbx或plsql連接

客戶端連接Oracle 12c的時候,報錯誤:

ORA-28040: No matching authentication protocol 

問題原因:

Oracle 12c的參數SQLNET.ALLOWED_LOGON_VERSION默認等於11。當我們使用11g JDBC之前版本的thin驅動連接的時候,就會報錯。

解決方法:

在數據庫服務器上的network/admin/sqlnet.ora文件添加一行SQLNET.ALLOWED_LOGON_VERSION=8,重啟數據庫,重新連接數據庫,可以成功連接,問題解決。

 


免責聲明!

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



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