工具準(zhǔn)備
- nivicat premium
- 下載 navicat 連接Oracle需要的instantclient可帽,下載地址https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html找到與服務(wù)器版本一直的 instantclient Basic Package包,下載完成之后解壓到你習(xí)慣的開發(fā)目錄
一定是對(duì)應(yīng)的19c版本的Basic Package 包很重要扼仲,否則是安裝好數(shù)據(jù)庫遠(yuǎn)程是無法連接的
-
打開nivicat ,找到如下圖位置挣惰,替換自己的目錄
以下所有的操作都是基于本機(jī)win10哆窿,遠(yuǎn)程系統(tǒng)CentOS7.6,安裝DB為Oracel19c
下載預(yù)安裝和oracle
下載oracle19c的地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-linux-5462157.html
下載預(yù)安裝oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm的下載地址:http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
我本人是通過提前下載后社搅,通過FileZilla 將兩個(gè)文件上傳到了在了 root的根目錄
)
開始安裝
- 第一步
yum localinstall -y oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
- 第二步
yum localinstall -y oracle-database-ee-19c-1.0-1.el7.x86_64.rpm
注意這里的名稱有可能會(huì)變化的哦驻债,以你下載的文件全名為主
- 第三步
/etc/init.d/oracledb_ORCLCDB-19c configure
這一步會(huì)很耗時(shí),當(dāng)然服務(wù)器配置好的話不會(huì)太慢形葬,20分鐘左右
- 第四步合呐,設(shè)置環(huán)境變量,否則sqlplus / as sysdba 是不識(shí)別的
#執(zhí)行
vi .bash_profile
#添加一下內(nèi)容
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export ORACLE_SID=ORCLCDB
#保存退出后 {esc -> :wq} 執(zhí)行以下命令笙以,使環(huán)境變量生效
source .bash_profile
- 第五步 啟動(dòng)服務(wù)和監(jiān)聽
su oracle #切換到oracle
sqlplus / as sysdba #打開sql窗口
startup #啟動(dòng)服務(wù)
exit #退出命令窗口
cd $ORACLE_HOME/bin #定位到bin目錄
lsnrctl start #啟動(dòng)監(jiān)聽
防火墻設(shè)置
網(wǎng)上關(guān)閉防火墻的做法實(shí)在是有點(diǎn)不負(fù)責(zé)任淌实,防火墻在實(shí)際生產(chǎn)環(huán)境是必須要開啟的
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=1521/tcp
firewall-cmd --reload
firewall-cmd --permanent --zone=public --list-ports
現(xiàn)在已經(jīng)可以和遠(yuǎn)程數(shù)據(jù)庫連接了。
創(chuàng)建表和表空間
- 創(chuàng)建表空間
create tablespace bettem_ts1 datafile '/opt/oracle/oradata/newdata/BETTEM_TS1.dbf' size 500M autoextend on next 100M maxsize unlimited;
# /opt/oracle/oradata/newdata/BETTEM_TS1 修改為自己的路徑猖腕,如果有權(quán)限問題拆祈,使用 777 授權(quán)即可
- 創(chuàng)建用戶,直接在CDB下創(chuàng)建
create user c##test identified by test_123
- 授權(quán)用戶
grant create session to c##test;
grant create table to c##test;
grant create tablespace to c##test;
grant create view to c##test;
grant unlimited tablespace to c##test;
- 授權(quán)表空間
alter user c##test quota unlimited on bettem_ts1;
此刻就可以連接了
切換CDB
alter session set container=CDB$ROOT;
切換PDB
alter session set container=ORCLPDB;
創(chuàng)建本地用戶 (不需要加c##)
create user test identified by 123456;
猜你會(huì)遇到的問題
- sql命令窗口的中文亂碼問題
# 切換oracle 賬戶
su oracel
# 進(jìn)入sql
sqlplus / as sysdba
#查看數(shù)據(jù)庫編碼
select userenv('language') from dual; // copy 下編碼
# 退出sql 命令行
ctrl+D
# 切換到主用戶
su root
# 編輯配置文件
vi .bash_profile
確定添加
export LANG="zh_CN.UTF-8"
export NLS_LANG=AMERICAN_AMERICA.UTF8 // 替換的數(shù)據(jù)庫編碼字符串
#生效配置
source .bash_profile