2020-06-07—centos7安装Oracle18C

centos7安装Oracle18C

下载oracle database 18c的RPM安装包 。

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

1、克隆主机

2、修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33
#### 本人文件内容start

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=80a0c141-348b-4551-bd8c-3e83a4b2cbf4
DEVICE=ens33
ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.10.200
GATEWAY=192.168.10.2
DNS1=192.168.10.2

#### end


# 修改说明
DEVICE=eth0 #接口名(设备,网卡)
HWADDR=00:0C:2x:6x:0x:xx #MAC地址
TYPE=Ethernet #网络类型(通常是Ethemet)
UUID=926a57ba-92c6-4231-bacb-f27e5e6a9f44 #随机id
#系统启动的时候网络接口是否有效(yes/no)
ONBOOT=yes
# IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
BOOTPROTO=static
#IP地址
IPADDR=192.168.10.200
#网关
GATEWAY=192.168.10.2
#域名解析器
DNS1=192.168.10.2

3、修改用户名

//查看一下当前主机名的情况,查看全部三种主机名
hostnamectl

//或者,查看全部三种主机名
hostnamectl status

//只查看静态、瞬态或灵活主机名,分别使用--static,--transient或--pretty选项
[root@xh00 ~]# hostnamectl --static

xh00
[root@xh00 ~]# hostnamectl --transient

xh01
[root@xh00 ~]# hostnamectl --pretty


//或者,查看到的是瞬态的(Tansient hostname)
hostname

//或者查看主机名配置文件,查看到的是静态的(Static hostname)
cat /etc/hostname

方法1:临时有效

hostname 主机名 //只能临时修改的主机名,当重启机器后,主机名称又变回来了。

hostname xh01

方法2:永久生效

//永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname xxx

//删除hostname
hostnamectl set-hostname ""
hostnamectl set-hostname "" --static
hostnamectl set-hostname "" --pretty

修改所有三个主机名:静态、瞬态和灵活主机名:

[root@localhost ~]# hostnamectl set-hostname oracle_machine
[root@localhost ~]# hostnamectl --pretty
[root@localhost ~]# hostnamectl --static
xh00
[root@localhost ~]# hostnamectl --transient

4、上传RPM安装包

5、安装Oracle

1.下载预先安装的包:
[root@oracle_machine ~]# curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
------上传下载的Oracle18c安装包
oracle-database-ee-18c-1.0-1.x86_64.rpm
2.安装
[root@oracle_machine ~]# yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
会自动安装依赖的软件包。

3.安装oracle-database-servrer:
[root@oracle_machine ~]# rpm -ivh oracle-database-ee-18c-1.0-1.x86_64.rpm

4.参看配置文件:
[root@oracle_machine ~]# cat /etc/sysconfig/oracledb_ORCLCDB-18c.conf

5.配置:
[root@oracle_machine ~]# /etc/init.d/oracledb_ORCLCDB-18c configure
执行脚本之后将创建一个容器数据库(ORCLCDB)和一个可插拔数据库(ORCLPDB1),并且配置的默认监听端口是1521.

6.进程和端口查看:
#端口查看
[root@oracle_machine ~]# netstat -nultp | grep -E '1521|5500'
[root@oracle_machine ~]# ps -ef | grep -i orcl | grep -v grep

7.切换账号登录系统:
[root@oracle_machine ~]# su - oracle

ERROR:
ORA-12162: TNS:net service name is incorrectly specified
原因:
$ echo $ORACLE_HOME
/opt/oracle/product/18c/dbhome_1
$ echo $ORACLE_SID
$
解决办法:
$ export ORACLE_SID=ORCLCDB
$ ./sqlplus / as sysdba

--版本查询:
SQL> select banner from sys.v_$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SQL> select * from v$version;


8.若需要正常使用还需要配置环境变量(oracle.sh没有就tee):
# cat /etc/profile.d/oracle.sh
# /bin/bash
export ORACLE_HOME=/opt/oracle/product/18c/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=ORCLCDB
# source /etc/profile.d/oracle.sh
$ sqlplus / as sysdba

9.若在虚拟机中安装体验rpm包的oracle:
$ du -sh /opt/
12G /opt/
/opt 目录至少需要12G,此外还需要考虑RPM的oracle安装文件。


--删除oracle实例:
以oracle的账号登录删除实例,删除监听,再以root的账号删除软件。
$ cd $ORACLE_HOME/bin
$ ./dbca
$ cd $ORACLE_HOME/bin
$ ./netca
# yum -y remove oracle-database-ee-18c

6、Oracle操作

Oracle 创建dba用户:

1、切换到Oracle用户

[root@oracle_machine ~]$ su – oracle

2、登录sys用户

[oracle@oracle_machine ~]$ sqlplus / as sysdba

3、创建表空间

查询用户表空间文件的路径

[oracle@oracle_machine ~]$ select name from v$datafile;

4、利用dbca 创建数据库实例

[oracle@oracle_machine ~]$ su – oracle
[oracle@oracle_machine ~]$ echo $DISPLAY

[oracle@oracle_machine ~]$ vi .bash_profile
# 向配置文件中加入环境变量 export DISPLAY=本地IP:0.0
[oracle@oracle_machine ~]$ echo $DISPLAY
192.168.0.100:0.0
[oracle@oracle_machine ~]$ dbca

5、查询数据库实例

select name from v$database;
# 查看数据库实例状态
select INSTANCE_NAME,status from v$instance;
# 关闭实例
shutdown abort;
shutdown immediate;

6、Oracle创建Scheme

[oracle@oracle_machine ~]$ sqlplus / as sysdba
# 先连接实例
SQL> CONNECT SYSTEM@ipdrpmg

# 1、查看Oracle 18c的版本
SQL> select * from v$version;
SQL>select sys_context ('USERENV', 'CON_NAME') from dual;

# 2、我们可以通过ALTER SESSION SET CONTAINER 指定其他容器
SQL>select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

# 3、将Pdb open
SQL> alter pluggable database PDB_IPDRPMG open;

# 4、查看容器
SQL>select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

# 5、切换容器到pdb
SQL> alter session set container = PDB_IPDRPMG;

# 6、查看当前使用容器
SQL>select sys_context ('USERENV', 'CON_NAME') from dual;



-- 查看当前已有的用户
SELECT Username FROM dba_users;

-- 创建临时
CREATE USER IPDRPMG IDENTIFIED BY Pei123456;

-- 授权
GRANT CREATE SESSION TO IPDRPMG;

CREATE TABLESPACE IPDRPMG DATAFILE 'IPDRPMG.dat' SIZE 10M AUTOEXTEND ON;

CREATE TEMPORARY TABLESPACE IPDRPMG TEMPFILE 'IPDRPMG.dat' SIZE 5M AUTOEXTEND ON;

DROP USER IPDRPMG;

-- 开始创建数据库
CREATE USER IPDRPMG IDENTIFIED BY Pei123456 DEFAULT TABLESPACE IPDRPMG TEMPORARY TABLESPACE IPDRPMG;

-- 授权
grant create session to IPDRPMG;

grant create table to IPDRPMG;

grant unlimited tablespace to IPDRPMG;

-- 最后修改一下密码
ALTER USER IPDRPMG IDENTIFIED BY Pei123456;

7、创建用户

SQL>create user IPDRPMG identified by Pei123456;
# 创建表空间:
create tablespace IPDRPMG datafile '/opt/oracle/oradata/IPDRPMG/data.dbf' size 5m;
# tablespacename:表空间的名字
# d:\data.dbf':表空间的存储位置
# xxx表空间的大小,m单位为兆(M)
# 将空间分配给用户:
alter user ipdrpmg default tablespace "IPDRPMG";
# alter user SYSTEM default tablespace IPDRPMG;
# 将名字为tablespacename的表空间分配给username

# 给用户授权:
grant create session,create table,unlimited tablespace to ipdrpmg;
# 授权
grant create session to IPDRPMG;
grant create table to IPDRPMG;
grant unlimited tablespace to IPDRPMG;
SQL>grant dba to IPDRPMG;

8、所有scheme、table查看

# 可以查出所有的schema
SQL> select username from sys.dba_users;
# 可以查出来schema对应的表名
### select table_name from dba_tables where owner='schema名称';
SQL> select table_name from dba_tables where owner='IPDRPMG';

##### 遇到的问题:
SQL> conn ipdrpmg@ipdrpmg
Enter password:
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.

### 解决办法:
conn system/Pei123456;

create user c##ipdrpmg identified by Pei123456;

grant connect to c##ipdrpmg;

conn c##ipdrpmg/Pei123456;

9、Oracle修改实例用户密码

su oracle
sqlplus / as sysdba
conn /as sysdba
show pdbs;
# alter session set container = 实例名称;
alter session set container = topc;
# alter user 用户名 identified by 密码;
alter user dwroot identified by Abc1234567;

7、最后成功创建的步骤

SQL>  create pluggable database IPDRPMG admin user ipdrpmg identified by Abc1234567 role = (resources) file_name_convert=('/opt/oracle/oradata/ORCLCDB/pdbseed', '/opt/oracle/oradata/IPDRPMG')

----用户 ipdrpmg Abc1234567
SQL> alter session set container = ipdrpmg;
SQL> show pdbs;

--关闭 database
SQL> alter pluggable database ipdrpmg close immediate;
--开启 database
SQL> alter pluggable database ipdrpmg open;

SQL> create tablespace IPDRPMG datafile '/opt/oracle/oradata/IPDRPMG/data.dbf' size 5m;
--drop tablespace "IPDRPMG";

SQL> alter user ipdrpmg default tablespace "IPDRPMG;"

SQL> grant create session,create table,unlimited tablespace to ipdrpmg;


--监听路径
/opt/oracle/product/18c/dbhome_1/network/admin

[oracle@oracle_machine admin]$ lsnrctl stop

[oracle@oracle_machine admin]$ lsnrctl start

8、Oracle启动关闭

一、Linux下启动Oracle

  Linux下启动Oracle分为两步:

  1)启动监听;

  2)启动数据库实例;

1.登录服务器,切换到oracle用户,或者以oracle用户登录

[oracle@oracle_machine admin]$ su - oracle
[oracle@oracle_machine admin]$

2.打开监听服务

[oracle@oracle_machine admin]$ lsnrctl start

可以通过lsnrctl status命令查看Oracle监听器运行状况

[oracle@oracle_machine admin]$ lsnrctl status

3.以SYS用户身份登录Oracle

[oracle@oracle_machine admin]$ sqlplus /nolog

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Feb 3 06:37:41 2020
Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle. All rights reserved.

SQL> conn /as sysdba
Connected to an idle instance.

切换用户:

CONN 用户名/密码 [AS SYSDBA],如果是sys用户一定要写上AS SYSDBA

4.通过startup命令启动实例

SQL> startup
ORACLE instance started.

Total System ... ...Database mounted.
Database opened.
SQL>

二、Linux下关闭Oracle

1.关闭数据库实例

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.SQL> quitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options

2.关闭监听器

[oracle@localhost ~]$ lsnrctl stop
发布于

2020-06-07

更新于

2022-03-25

许可协议

评论

:D 一言句子获取中...

加载中,最新评论有1分钟缓存...