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,重啟數據庫,重新連接數據庫,可以成功連接,問題解決。
