数据库服务器、数据库和表的关系
所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如图所示:
oracle管理工具的介绍(1)
sql*plus是oracle自带的工具软件,主要用于执行sql语句,pl\sql块.
如何使用:
1)在开始->程序->oracle oradb_home10g->application development->sql*plus
2)在运行栏中输入: sqlplusw即可
oracle管理工具的介绍(2)
概述:
sqlplus 是 dos下操作oracle的工具,其功能和sql*plus相似.
1)在运行栏中输入 sqlplus
2)找到该可执行文件sqlplus.exe,在oracle主目录\ora10g\bin\sqlplus.exe ,鼠标双击即可
oracle管理工具的介绍(3)
Enterprise manager console(企业管理器)
oracle是通过web管理的 一般默认端口是5500, 也有1158的。
访问url(请一定保证oracle服务启动了):
http://ip:1158(也可能是5500)/em
http://机器名:端口/em
oracle管理工具的介绍(4)
概述:
pl/sql developer 属于第三方软件,主要用于开发,测试,优化 oracle pl/sql 的存储过程比如: 触发器,此软件oracle不带,需要单独安装。
PS:此软件也是最常用的Oracle数据库开发软件,推荐使用此软件进行练习。
sql*plus常用命令
连接命令
(1)conn[ect]
用法: conn 用户名/密码@网络服务名 [as sysdba/sysoper]
当用特权用户身份连接时,必须带上 as sysdba 或是 as sysoper
(2)disc[onnect]
说明:该命令用来断开与当前数据库的连接
(3)passw[ord]
说明:该命令用于修改用户的密码.如果要想修改其它用户的密码,需要用sys/system登陆.
用法:password --这个是改自己的密码
password scott --这个要sys/system权限
PS:修改密码还有一个命令alter user ...这个会在后面的用户管理详细叙述。
(4)show user
说明:显示当前用户名
(5)exit
说明:该命令会断开与数据库的连接,同时会退出sql*plus
交互式命令
(1)&
说明:可以替代变量,而该变量在执行时,需要用户输入。
sql>select * from emp where job='&job'
(2)@或者start
说明:可以执行指定的sql脚本
sql>@ d:\a.sql
sql>start d:\a.sql
(3)edit
说明:该命令可以编辑指定的sql脚本
案例:sql>edit d:\a.sql
(4)spool
说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去.
案例:sql>spool d:\b.sql 并输入 sql>spool off
显示和设置环境变量
(1)linesize
说明:设置显示行的宽度,默认是80个字符
sql>show linesize
sql>set linesize 90
(2)pagesize
说明:设置每页显示的行数目,默认是14,用法和linesize一样。至于其它环境参数的使用也是大同小异
oracle登录认证方式
oracle登录认证方式-windows下
①操作系统认证
如果当前用户属于本地操作系统的ora_dba组(对于Windows操作系统而言),即可通过操作系统认证。
②oracle数据库验证(密码文件验证)
对于普通用户,oracle默认使用数据库验证。
对于特权用户(比如sys用户),oracle默认使用操作系统认证,如果验证不通过,再到数据库验证(密码文件验证)。通过配置sqlnet.ora文件,可以修改oracle登录认证方式
SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系统验证:SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。
oracle登录认证方式-linux下
默认情况下linux下的oracle数据库sqlnet.ora文件没有SQLNET.AUTHENTICATION_SERVICES参数,此时是基于操作系统认证和oracle密码验证共存的,加上SQLNET.AUTHENTICATION_SERVICES参数后,不管SQLNET.AUTHENTICATION_SERVICES设置为NONE或者NTS,都是基于oracle密码验证的。
丢失管理员密码处理办法
恢复办法:把原有密码文件删除,生成一个新的密码文件。
恢复步骤如下:
① 搜索名为 PWD数据库实例名.ora 文件
② 删除该文件,为预防万一,建议大家备份
③ 生成新的密码文件,在dos控制台下输入命令:
orapwd file=原来密码文件的全路径密码文件名.ora password=新密码 entries=10;//entries:允许几个特权用户
密码文件名 一定要和原来的密码文件名一样。
Oracle生成sys用户和system用户的区别:
(1)、sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install
(2)、system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager
(3)、一般讲,对数据库维护,使用system用户登录就行了。
(4)、sys和system这两个用户最大的区别是在于有没有create database的权限。
PS:有一常用的用于学习Oracle的用户是Scott,在Oracle 11g以后,该用户默认是上锁的,可以在建立数据库时解除锁定,或者用alter user scott account unlock解锁。