2、oracle数据库基本概念
基本概念
一、数据库启动、监听启动、判断数据库是否可以连接的过程、感知实例的存在
虚拟机ip地址:192.168.56.12
这里需要修改一个地方:就是把本地主机Host-Only的ip地址修改为:192.168.56.1或者2,只要不和虚拟机的ip地址一样就行
虚拟机用户名和密码:root : rootroot
数据库的超级用户和密码:sys : oracle
启动数据库时先启动监听
1、启动监听:
[oracle@db11g db_1]$ lsnrctl start
2、启动数据库:
先登录数据库
[oracle@db11g db_1]$ sqlplus / as sysdba启动数据库
SQL> startup;
3、判断数据库是否已经正常启动:
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
4、确认监听和数据库已经建立连接
[oracle@db11g ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-JUN-2015 11:01:17
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 25-JUN-2015 10:53:35
Uptime 0 days 0 hr. 7 min. 42 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /u01/app/oracle/diag/tnslsnr/rac11g/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac11g)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@rac11g ~]$
5、连接测试
数据库正常启动了,监听正常启动了,并且数据库与监听建立了联系,说明数据库正常启动了
登录(连接)数据库:
本机连接:
[oracle@db11g db_1]$ sqlplus sys/oracle as sysdba
网络连接:
[oracle@db11g db_1]$ sqlplus sys/oracle@192.168.56.12:1521/orcl as sysdba
oracle数据库启动之后,会占用掉好大一部分内存
[oracle@db11g ~]$ free
total used free shared buffers cached
Mem: 3922696 1893116 2029580 0 134732 1514412
-/+ buffers/cache: 243972 3678724
Swap: 4095992 0 4095992
到这里,整个数据库的启动和连接测试完成
二、oracle 11g软件及重要目录、感知软件存在
完整的oracle数据库软件装在哪?
1、oracle数据库软件安装的基本目录:/u01/app/oracle
2、oracle数据库软件具体安装在:/u01/app/oracle目录下的product目录
3、oracle数据库的核心软件都在:/u01/app/oracle/product/11.2.0/db_1目录下
4、oracle数据库所有的管理命令都在:/u01/app/oracle/product/11.2.0/db_1/bin目录下,比如:dbca、lsnrctl、netca等命令
5、oracle数据库的参数文件在:/u01/app/oracle/product/11.2.0/db_1/dbs目录下
6、oracle数据库的相关监听的配置文件在:admin目录下
7、oracle数据库的一些sql所在的目录:/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/
[oracle@db11g oracle]$ cd /u01/app/oracle/product/11.2.0/db_1/rdbms/admin/
[oracle@db11g admin]$ ls
a0902000.sql dbmsxmlu.sql prvthdmn.plb
a1001000.sql dbmsxpln.sql prvthdm.plb
a1002000.sql dbmsxrc.sql prvthesh.plb
a1101000.sql dbmsxreg.sql prvthfgr.plb
a1102000.sql dbmsxres.sql prvthfie.plb
addmrpti.sql dbmsxsch.sql prvthfla.plb
addmrpt.sql dbmsxslp.sql prvthfma.plb
addmtmig.sql dbmsxstr.sql prvthfut.plb
agtept.lst dbmsxsu.sql prvthgen.plb
ashrptinoop.sql dbmsxtr.sql prvthhdlr.plb
ashrpti.sql dbmsxuducu.sql prvthiai.plb
ashrptistd.sql dbmsxvr.sql prvthiau.plb
8、oracle数据库的日志文件目录:/u01/app/oracle/diag/rdbms/orcl/orcl/trace
[oracle@db11g ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_SID=orcl
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export ORACLE_BASE ORACLE_HOME PATH
export LOG=/u01/app/oracle/diag/rdbms/orcl/orcl/trace -- 加上这一行日志的目录
[oracle@db11g ~]$ cd $LOG -- 直接就可以进入到日志目录
[oracle@db11g trace]$
9、oracle数据库的审计目录:/u01/app/oracle/admin/orcl/adump
三、oracle数据库各个文件目录、感知数据库的存在
1、参数文件:
参数文件目录:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/db_1/dbs/spfileorcl.ora
2、控制文件:
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /oradata/orcl/control01.ctl,
/oradata/orcl/control02.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
里面有两个控制文件,两个文件的内容是一样的,他们是复用的关系
3、数据文件:
在PLSQL里的SQL窗口
select * from dba_data_files;
4、redo log:
在PLSQL里的SQL窗口
select * from v$logfile;
5、归档日志文件:
在PLSQL里的SQL窗口
select * from v$archived_log;
6、口令(密码)文件:
在$ORACLE_HOME下的dbs目录里面的orapworcl
[oracle@db11g ~]$ cd $ORACLE_HOME
[oracle@db11g db_1]$ cd dbs
[oracle@db11g dbs]$ ls
hc_orcl.dat init.ora lkORCL orapworcl spfileorcl.ora
查看orapworcl文件内容:
[oracle@db11g dbs]$ strings orapworcl
]\[Z
ORACLE Remote Password file
INTERNALAB27B53EDC5FEF41
\=0|
8A8F025737A9097A
7、trace目录:
[oracle@db11g trace]$ pwd
/u01/app/oracle/diag/rdbms/orcl/orcl/trace
四、环境变量$ORACLE_SID
环境变量$ORACLE_SID的名字必须和实例的名字相同,如果不相等就连接不上数据库了
如何判断数据库的名字与相关的信息?
就是在$ORACLE_HOME下的dbs目录里的spfileorcl.ora,与$ORACLE_SID的名字一样就设置对了
[oracle@db11g ~]$ cd $ORACLE_HOME
[oracle@db11g db_1]$ cd dbs
[oracle@db11g dbs]$ ls
hc_orcl.dat init.ora lkORCL orapworcl spfileorcl.ora
[oracle@db11g ~]$ echo $ORACLE_SID
orcl
五、实例:内存、进程
命令:free、 top 查看
[oracle@db11g ~]$ free
total used free shared buffers cached
Mem: 3922696 1918320 2004376 0 136348 1525284
-/+ buffers/cache: 256688 3666008
Swap: 4095992 0 4095992
[oracle@db11g ~]$ top
top - 13:20:14 up 17:34, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 121 total, 1 running, 120 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 2.7%sy, 0.0%ni, 96.8%id, 0.0%wa, 0.2%hi, 0.0%si,
Mem: 3922696k total, 1906864k used, 2015832k free, 136372k buffer
Swap: 4095992k total, 0k used, 4095992k free, 1525292k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1457 oracle -2 0 1787m 16m 14m S 7.6 0.4 102:26.58 oracle
1455 oracle 20 0 1787m 16m 14m S 0.3 0.4 1:22.13 oracle
1461 oracle 20 0 1787m 16m 14m S 0.3 0.4 0:09.28 oracle
1467 oracle 20 0 1792m 39m 33m S 0.3 1.0 3:53.87 oracle
1471 oracle 20 0 1795m 138m 128m S 0.3 3.6 0:12.85 oracle
1487 oracle 20 0 1788m 15m 13m S 0.3 0.4 0:04.21 oracle
1440 oracle 20 0 215m 13m 10m S 0.0 0.4 0:04.56 tnslsnr
1453 oracle 20 0 1789m 29m 27m S 0.0 0.8 0:19.05 oracle
1463 oracle 20 0 1787m 16m 14m S 0.0 0.4 0:11.79 oracle
1465 oracle 20 0 1788m 37m 35m S 0.0 1.0 0:13.04 oracle
1469 oracle 20 0 1787m 502m 500m S 0.0 13.1 0:08.46 oracle
1473 oracle 20 0 1802m 25m 23m S 0.0 0.7 0:11.39 oracle
1475 oracle 20 0 1788m 38m 36m S 0.0 1.0 1:01.90 oracle
1477 oracle 20 0 1794m 102m 98m S 0.0 2.7 0:05.49 oracle
1479 oracle 20 0 1788m 25m 23m S 0.0 0.7 0:02.47 oracle
1481 oracle 20 0 1793m 104m 99m S 0.0 2.7 0:45.80 oracle
1483 oracle 20 0 1789m 50m 47m S 0.0 1.3 1:51.04 oracle
1485 oracle 20 0 1793m 16m 13m S 0.0 0.4 0:04.34 oracle
1499 oracle 20 0 1787m 17m 15m S 0.0 0.5 0:03.35 oracle
1511 oracle 20 0 1792m 82m 77m S 0.0 2.2 0:19.97 oracle
1535 oracle 20 0 1789m 30m 28m S 0.0 0.8 0:03.45 oracle
1537 oracle 20 0 1787m 18m 16m S 0.0 0.5 0:02.39 oracle
1646 oracle 20 0 1787m 16m 14m S 0.0 0.4 0:07.74 oracle
5403 oracle 20 0 105m 1780 1436 S 0.0 0.0 0:00.14 bash
5496 oracle 20 0 1791m 56m 52m S 0.0 1.5 0:00.26 oracle
5502 oracle 20 0 1790m 66m 62m S 0.0 1.7 0:00.79 oracle
5803 oracle 20 0 1788m 19m 17m S 0.0 0.5 0:00.04 oracle
输入:u ---> oracle
退出:q
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版