ORACLE Sysdba权限认证管理
1 概述
在ORACLE中有一种特殊级别权限——sysdba权限,sysdba权限拥有ORACLE系统的最高权限,有打开数据库、关闭数据库、恢复数据库等高级权限,我们在工程安装和日常维护中经常涉及到的sys用户就有sysdba权限。sysdba是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在。以sysdba身份登陆,装载数据库、打开数据库。只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础。
Sysdba用户有两种认证方式:操作系统认证和密码文件认证,本文主要阐述的是sysdba权限不同认证方式的含义和配置说明。
2 Sysdba登陆方式
六种登陆方法(采用操作系统认证):
1. sys/www as sysdba
2. sys / as sysdba
3. sys as sysdba
4. / as sysdba
5. sqlplus /as sysdba
6. sqlplus /nolog
前4种是在SQL*PLUS登陆框的用户名栏目中输入,后2种是DOS环境下直接输入。
3 查看具有sysdba权限的用户
以sys用户登陆oracle,执行select * from V_$PWFILE_USERS;可查询到如下结果:
sql> select * from V_$PWFILE_USERS;
USERNAME SYSDBA SYSOPER
------------------------------ ------ -------
SYS TRUE TRUE
(何为sysoper权限:SYSOPER特权也是oracle数据库的一种特殊权限。当用户具有该特权时,可以启动数据库,关闭数据库,但是不能建立数据库,也不能执行不完全恢复,这也是和SYSDBA的最大区别,另外,也不具有DBA角色的任何权限。建立了Oracle数据库后,默认情况下只有SYS用户具有SYSOPER特权。需要注意的是,如果要以SYSOPER身份登陆,要求OS用户必须具有OSOPER角色(windows平台:ORA_OPER角色),当以SYSOPER身份登陆时,必须带有AS SYSOPER选项。)
4 相关参数含义
(Sysdba权限认证过程主要涉及ORACLE中的相关参数和配置文件说明如下
4.1 SQLNET.AUTHENTICATION_SERVICES
该参数在$ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora目录下, 是ORACLE的网络配置文件,SQLNET.AUTHENTICATION_SERVICES参数可以通常设置为:
■ NONE 采用密码文件认证方式,需要输入用户名称和密码。
■ NTS 采用WINDOWS的安全认证方式(WINDOWS专用);
■ ALL 可以采用密码和操作系统认证方式。
4.2 remote_login_passwordfile
该参数可以
相关文档:
本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......
数学函数
在oracle 中distinct关键字可以显示相同记录只显示一条
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
......
由于以前都是在sqlserver 2005处理,现在客户要求oracle数据库服务器,
最初的代码为:
allRecordSize = (Integer) rs1.getObject(1); //Integer allRecordSize=0;
当执行的时候报:BigDecimal无法转化为Integer类型
为了兼容两者修改后的代码为:
Object o = rs1.getObject(1);
&nbs ......
一 在Oracle中连接数据库
public class Test1 {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
&nbs ......