1.数据库介绍

1.数据库介绍

什么是数据库?

  数据库是为了实现一定的目的按某种规则组织起来的数据的集合, 简单的说,数据库就是存储数据的库.

  举个例子来说明这个问题:每个人都有很多亲戚和朋友,为了保持与他们的联系,

  我们常常用一个笔记本将他们的姓名、地址、电话等信息都记录下来,

  这样要査谁的电话或地址就很方便了。

  这个“通讯录”就是一个最简单的“数据库”,每个人的姓名、地址、电话等信息就是这个数据库中的“数据”。

  我们可以在笔记本这个“数据库”中添加新朋友的个人信息,也可以由于某个朋友的电话变动而修改他的电话号码这个“数据”。

  不过说到底,我们使用笔记本这个“数据库”还是为了能随时査到某位亲戚或朋友的地址、邮编或电话号码这些“数据”。

数据库是干什么用的?

  存储和管理数据,便于程序开发。

oracle简介:

  Oracle是殷墟(yīn Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词。

  Oracle公司成立与1977年,总部位于美国加州;

  Oracle数据库是Oracle(中文名称叫甲骨文)公司的核心产品,Oracle数据库是一个适合于大中型企业的数据库管理系统。在所有的数据库管理系统中(比如:微软的SQL Server,IBM的DB2等),Oracle的主要用户涉及面非常广,包括: 银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等。

  Oracle数据库的一些版本有:Oracle7、Oracle8i、Oracle9i,Oracle10g到Oracle11g,Oracle12c, 各个版本之间的操作存在一定的差别,但是操作oracle数据库都使用的是标准的SQL语句,因此对于各个版本的差别不大。

2008年1月16日 收购bea,目的是为了得到weblogic(web服务器的框架,免费的对应的tomcat)。

2008年1月16日 sun公司收购了mysql 。

2009年4月20日 oracle收购了sun 。

常见的数据库有哪些?

1.oracle公司的oracle数据库

2.IBM公司的DB2数据库

3.Informix公司的Informix数据库

4.sysbase公司的sysbase数据库

5.Microsoft公司的SQL Server

6.oracle的MySQL数据库(开始属于mysql公司,后来mysql被sun收购,sun又被oracle收购)

7.MongoDB数据库

1.Oracle的体系结构

Oracle服务器:是一个数据管理系统(RDBMS),它提供开放的、全面的、近乎完整的信息管理。由1个数据库和一个(或多个)实例组成。数据库位于硬盘上,实例(可以理解为进程)位于内存中(Redis在内存中)。不可以直接打开数据库直接进行操作(不了解格式),即使了解也不安全,只能通过实例去操作。实例=服务+内存。

数据库服务只有启动起来之后才有实例的说法,启动之后才有进程,进程启动之后相当于启动一组服务,服务要占用内存。服务有读写等。

SGA是系统全局区,在更新的时候数据没有提交前先保存在这里,数据提交之后(箱单与把数据写到磁盘中,不可回滚)

PGA是程序全局区,用来处理客户端的请求,服务端在虚拟机。客户端提交了数据会提到PGA里,然后再把数据存入SGA,如果要提交,会将其写到磁盘上,没有提交会保存在SGA中。

1.1 表空间和数据文件

逻辑概念:表空间是由数据文件组成,位于实例上,在内存中。

物理概念:数据文件,在磁盘上(/home/oracle_11/app/oradata/orcl目录中的.DBF文件);一个表空间包含一个或者多个数据文件。

1.2 段、区、块

段存在于表空间中,段是区的集合,区是数据块的集合,数据块会被映射到磁盘块。

图请看讲义部分。

1.3 DBA

  数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。从时间开销上看:安装占用6%,创建和配置占用12%,装载和存档数据占6%,软件维护占6%,管理数据库系统占55%,可见,管理数据库系统占用了大部分的时间开销。

1.4 如何启动数据库服务

Windows启动oracle数据库服务:

启动服务:services.msc,找到下列两个服务,并启动。

OracleServiceORCL: oracle数据库服务系统

home1TNSListene: 监听服务,用于远程连接的侦听

注意:若把数据库默认设置为自启动,则开机时间会延长。

Linux启动oracle数据库服务步骤(oracle数据库系统安装到linux系统上)

1.执行sqlplus / as sysdba或sqlplus sys/sys as sysdba进入到命令行界面

2.执行startup启动数据库服务

3.执行exit退出sqlplus命令行界面

4.执行lsnrctl start启动监听服务

注意:通过远程客户端连接oracle服务端必须要启动监听服务,否则客户端连接不上。

启动oracle服务和连接oracle数据库
windows下的oracle的启动:
启动OracleServiceORCL
启动home1TNSListener

在CentOS上用户切换命令用su进行实现,命令如下:
su - 用户 或 su 用户
那么两者有什么区别呢?
su-命令是切换到用户并且返回到用户的home目录下
su命令是不改变当前目录状态下切换到用户

如在oracle数据库服务器中root切换到oracle用户,直接输入su oracle,用户切换到oracle用户,但目录状态与root用户一致。

linux下启动oracle数据库:
	使用linux的oracle用户登陆:	
		sqlplus sys/sys as sysdba
		sqlplus / as sysdba	//需要在家目录下使用
		SQL> startup   ---启动数据库服务
		SQL> shutdown immediate   ----关闭数据库服务			
       	   
       	   启动监听服务: 
       	    	lsnrctl start
linux下停止oracle数据库:
           停止监听服务:  
				lsnrctl stop
使用sqlplus登陆oracle数据库:
 	普通用户登陆:  sqlplus scott/tiger@192.168.10.145/orcl    //服务端可以这样写
 	sys用户登陆:  sqlplus sys/sys as sysdba
    解锁用户:alter user scott account unlock;
    加锁用户:alter user scott account lock;
    修改用户密码: password scott
    	alter user scott identified by xxxxx;
    查看当前的语言环境: 
    	select userenv('language') from dual;

LINUX要用Oracle用户登录 sqlplus / as sysdba或sqlplus sys/sys as sysdba

[oracle@oracle ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Nov 26 05:23:23 2023
Version 19.3.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

启动

SQL> startup                 //Oracle命令行界面       
ORA-01081: cannot start already-running ORACLE - shut it down first

退出

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

退出后启动监听和关闭监听

[oracle@oracle ~]$ lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 26-NOV-2023 05:26:54

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/19.3/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /u01/app/oracle/product/19.3/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                26-NOV-2023 05:26:56
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19.3/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
[oracle@oracle ~]$ lsnrctl stop

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 26-NOV-2023 05:29:29

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
The command completed successfully
[oracle@oracle ~]$ 

1.5 如何登陆数据库服务

1.在本机登陆:

  • 普通用户身份登陆

sqlplus ↙ 用户名 ↙ 密码 ↙

sqlplus 用户名/密码,如sqlplus scott/tiger

  • 以管理员身份登陆

sqlplus / as sysdba(此处不用输入密码,在安装的时候已经输入密码)

sqlplus sys/sys as sysdba

2.通过网络使用客户端远程登陆

远程通过网络登陆数据库需要安装oracle客户端软件,并进行配置才能使用,可通过使用net manager进行配置,配置完成之后可以使用连接字符串进行登陆,连接字符串中包含了数据库服务的IP地址和端口,以及实例名。

注意:安装oracle客户端的时候,安装路径中不能出现中文和空格,安装的时候选择管理员模式。

D:\oracle\app\HGUANG\product\11.2.0\client_1\network\admin\tnsnames.ora,下面是经过Net Manager进行配置后得到的一个文件内容:

客户端安装完成之后进行远程登陆之前最好先进行测试:

首先测试网络是否是通的: ping IP,然后tnsping IP 或者 tnsping oracle_orcl。

  • 普通用户登陆

sqlplus 用户名/密码@连接字符串,如sqlplus scott/tiger@oracle_orcl

管理员用户登陆

sqlplus sys/sys@oracle_orcl as sysdba

此外:还可以执行: sqlplus scott/tiger@//IP地址/实例名进行登陆。

使用scott用户或者sys用户登陆完之后,可以使用show user测试一下,如果显示用户名就表明已经登陆成功了,或者是执行select * from tab;进行一次查询,有结果显示就表名已经登陆成功了。

  • 解锁用户:alter user scott account unlock (管理员身份登陆,给scott用户解锁。用户默认锁定)

  • 锁定用户:alter user scott account lock,(必须用管理员用户登陆)

  • 修改用户密码:alter user scott identified by 新密码 (管理员身份登陆,给scott用户修改密码)

  • 查看当前语言环境:select userenv('language') from dual;

1.6 贯穿这门课程的方案

scott用户的emp表,dept表和salgrade表。

posted @ 2023-12-06 08:21  CodeMagicianT  阅读(23)  评论(0编辑  收藏  举报