A. 实例和数据库
1.实例:一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。实例用于管理和控制数据库,是和数据库交互的媒介。
2.数据库:基于磁盘的数据文件、控制文件、日志文件、参数文件等组成的物理文件的集合。为实例提供数据。
3.两者关系:数据库可以由多个实例装载和打开,而实例在其整个生存期中最多能装载和打开一个数据库。
B. Oracle服务
oracle安装成功后会有7个服务:
a.OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。(非必须启动)
b.OracleOraDb11g_home1TNSListener:
监听器服务,服务只有在数据库需要远程访问的时候才需要。(非必须启动)。
c.OracleServiceORCL:
数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础,只有该服务启动,Oracle数据库才能正常启动。(必须启动)
d.Oracle ORCL VSS Writer Service
e.OracleJobSchedulerORCL
f. OracleOraDb11g_home1ClrAgent
g.OracleMTSRecoveryService
启动顺序:a–>b–>c
关闭顺序:c–>b–>a
C. sql*plus
1.概念:
sql*plus是oracle自带的工具软件,主要用于执行sql语句,PL/SQL块。
2.使用方式:
打开黑窗口(cmd)–>输入sqlplus
即可
3.常用命令:
1) help–>语法:help[topic]
help:命令本身
topic:具体命令
使用 help index 命令查询 SQL*PLUS 的命令清单
2) desc–>desc[ribe]:查询指定对象的数据结构
用 desc emp 查询表emp的数据结构
3) spool–>查询内容输出到指定文件中
sql>spool on
sql>spool d:\b.sql---->被写入的指定文件
sql>select name from v$database;--->查询内容
sql>spool off
注:spool on至spool off之间所有的内容被写入指定文件中,没有使用spool off或者spool out命令关闭输出,则输出文件中不会添加。
4) show –>显示SQL*Plus系统变量的值或环境变量的值。
用show user 显示当前的用户名
5) edit–>编辑指定的sql脚本或sql缓冲区最近sql语句
例:sql>edit d:\a.sql
6) ave–>save filename:sql缓冲区最近一条语句保存到指定文件中。
7) get–> get filename [list|nolist] :把文件内容放进sql缓冲区
语法:
8) START或@–>执行sql文件
注:备注:执行当前屏幕代码使用 /
4.其他常用命令:
(1) conn[ect]
用法: conn 用户名/密码@网络服务名 [as sysdba/sysoper]
特权用户身份连接时,必须带上 as sysdba 或是 as sysoper
SQL> conn sys/123456 as sysdba;--------特殊用户
已连接。
SQL> conn scott/123456;-----------------普通用户
已连接。
(2)disc[onnect]
断开与当前数据库的连接
(3)passw[ord] 修改用户的密码
如果要想修改其它用户的密码,需要用sys/system登陆.
(4)exit
断开与数据库的连接,同时会退出sql*plus
5.模式
也称作方案(Schema)。是用户所拥有的数据库对象的集合。在Oracle数据库中,对象是以用户来组织的,用户与模式是一一对应的关系,并且两者名称相同。
例如:SCOTT用户拥有的所有对象都属于SCOTT模式,而HR用户拥有的所有对象都属于HR模式。
D. EM管理工具
Enterprise manager console(企业管理器)
是通过web管理管理oracle数据库。一般默认端口是1158的。必须在OracleDBConsoleorcl和oracle服务启动下才行。有sysdba或system权限
访问url地址:
http://ip:1158/em
E. 注意事项
在同一个模式中不能存在同名对象,但是不同模式中的对象名称则可以相同。
用户可以直接访问自己模式对象,但如果要访问其它模式对象,则必须具有该对象的相应访问权限。
查看系统所有用户,必须以sysdba身份登录
- select * from dba_tables where owner=‘SCOTT’;
该查询语句 必须以dba身份登录,同时owner对应值必须大写。