sqlplus as sysdba 详解
sqlplus机制及相关文件

SqlPlus运行机制及相关文件关联文件有:sqlnet.ora、tnsname.ora、listener.ora,这3个文件的位置都在$ORACLE_HOME\network\admin当运行sqlplus user/password@orcl时sqlplus程序会去sqlnet.ora文件中查找一个NAMES.DEFALUT_DOMAIN的参数,如果有参数,则将参数对应的值()添加到网络服务名后,即orcl后得到一个网络服务名,一般不需要这个参数,直接注释掉#就可以,以免在查找网络服务名中造成麻烦。
然后去tnsname.ora文件中查找对应的网络服务名对应的配置,如果tnsnames.ora是orcl,则不能匹配到,提示错误,如果匹配到,则根据网络服务名找到相应的主机、协议、端口和service_name等信息如果listener进程没有问题,则建立与listener进程的连接,再通过listener进程建立与数据库进程的连接。
几种连接用到的命令形式1.sqlplus / as sysdba 这是典型的操作系统认证,不需要listener进程2.sqlplus sys/oracle 这种连接方式只能连接本机数据库,不需要listener进程3.sqlplus sys/oracle@orcl 这种方式需要listener进程处于可用状态。
最普遍的通过网络连接。
以上连接方式使用sys用户或者其他通过密码文件验证的用户都不需要数据库处于可用状态,操作系统认证也不需要数据库可用,普通用户因为是数据库认证,所以数据库必需处于open状态。
1.sqlnet.ora详解此文件决定如何找到连接中出现的连接字符串,服务器端和客户端都要用的网络概要文件,规定了命名方式,认证方法等,通过Net Manager中的本地-概要文件配置的就是这个文件若以sqlplus sys/oracle@orcl登录,且sqlnet.ora的内容如下SQLNET.AUTHENTICA TION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)则客户端首先去tnsname中查找orcl记录,如果没有找到,则试图将orcl作为一个主机名,通过网络解析的方式得到主机对应的ip地址,然后连接上ip地址对应的GLOBAL_DBNAME=orcl这个实例,参数NAMES.DIRECTORY_PATH用来划分查找连接字符orcl的范围,一般的值只有TNSNAMES,则只在tnsnames.ora文件中查找。
OracleSqlplus命令登录多种方式案例讲解

OracleSqlplus命令登录多种⽅式案例讲解⽬录Oracle Sqlplus命令登录的⼏种⽅式1. sqlplus / as sysdba2. sqlplus “/as sysdba”3. sqlplus username/pwd@host/service_name4. sqlplus /nologOracle Sqlplus命令登录的⼏种⽅式sqlplus 命令语法sqlplus [ [<option>] [{logon | /nolog}] [<start>] ]<option> 为: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]-C <version> 将受影响的命令的兼容性设置为<version> 指定的版本。
该版本具有"x.y[.z]" 格式。
例如, -C 10.2.0-L 只尝试登录⼀次, ⽽不是在出错时再次提⽰。
-M "<options>" 设置输出的⾃动 HTML 标记。
选项的格式为:HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text][ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]-R <level> 设置受限(restricted)模式, 以禁⽤与⽂件系统交互的SQL*Plus 命令。
级别可以是 1, 2 或 3。
最⾼限制级别为 -R 3, 该级别禁⽤与⽂件系统交互的所有⽤户命令。
-S 设置⽆提⽰(slient)模式, 该模式隐藏命令的提⽰和回显的显⽰。
<logon> 为: {<username>[/<password>][@<connect_identifier>] | / }[AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]指定数据库帐户⽤户名, ⼝令和数据库连接的连接标识符。
oracle 查死锁

结果如下(以我的库为例):
saddr sid serial# paddr username status
--------------------------------------------------------------------------------------------------------
其中sid用死锁的sid替换。
exit
ps -ef|grep spid
其中spid是这个进程的进程号,kill掉这个Oracle进程。
------------
(1)查看用户的连接状况
select username,sid,serial# from v$session
------------------------------------------
如下结果:
username sid serial#
----------------------------------------
NETBNEW 513 22974
NETBNEW 514 18183
由此可见,WUZHQ这个用户的session已经被杀死。此时可以安全删除用户。
如:你要删除用户'WUZHQ',可以这样做:
alter system kill session'532,4562'
(3)删除用户
--------------------------------------------
drop user username cascade
2)kill掉这个死锁的进程:
alter system kill session ‘sid,serial#’; (其中sid=l.session_id)
oracle配置文件详解

2. 则查询tnsnames.ora文件,从里边找orcl的记录,并且找到主机名,端口和service_name
3. 如果listener进程没有问题的话,建立与listener进程的连接。
4. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
(SERVICE_NAME = sales)
)
)
注意:如果数据库服务器用MTS,客户端程序需要用database link时最好明确指明客户端用dedicated直连方式,不然会遇到很多跟分布式环境有关的ORACLE BUG。一般情况下数据库服务器用直接的连接会好一些,除非你的实时数据库连接数接近1000。
如果我是这个样子
NAMES.DIRECTORY_PATH= (TNSNAMES)
那么客户端就只会从tnsnames.ora查找orcl的记录,括号中还有其他选项,如LDAP等并不常用。
2. Tnsnames.ora------这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似
TWO_TASK=appdb;export TWO_TASK
来指定默认的目标数据库
#-------------
平时排错可能会用到的
1.lsnrctl status查看服务器端listener进程的状态
LSNRCTL>; help
The following operations are available
sqlplus的登陆方式

一、sqlplus的登陆方式1.C: > sqlplus "/as sysdba" --以操作系统权限认证的orac cle sys管理员登陆操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。
比如我们想要启动数据库就可以用这种方式进入2.C: > sqlplus /nolog --不在cmd或者terminal 当中暴露密码的登陆方式SQL> conn /as sysdba&SQL> conn sys/password as sysdba3.C: > sqlplus scott/tiger --非管理员用户登陆4.C: > sqlplus scott/tiger@orcl --非管理员用户使用tn s别名登陆5.C: > sqlplus sys/password@orcl as sysdba --管理员用户使用tns别名登陆6.C: > sqlplus --不显露密码的登陆方式Enter user-name:sysEnter password:password as sysdba --以sys用户登陆的话必须要加上 as sysdba 子句二、修改用户密码及对用户解锁SQL> conn /as sysdbaConnected.2、//修改用户口令格式 alter user 用户名 identified by 新密码;SQL> alter user system identified by manager;3、解锁被锁定的oracle用户SQL> alter user test account unlock;1. sqlplus / as sysdba操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。
比如我们想要启动数据库就可以用这种方式进入sqlplus,然后通过startup命令来启动。
Oracle用户密码设为不过期的两种方法

Oracle⽤户密码设为不过期的两种⽅法1、在SQL Plus下,以DBA⾝份登陆⽤户名/密码@服务器SID as sysdba⽅法⼀:(注意必须⽤双引号把后⾯的引上)C:/Documents and Settings/ssy>sqlplus sys/system@test as sysdbaSQL*Plus: Release 9.2.0.1.0 - Production on 星期⼀ 3⽉ 17 18:01:41 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production⽅法⼆:C:/Documents and Settings/ssy>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期⼀ 3⽉ 17 17:59:08 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> conn sys/system@test_192.168.80.38 as sysdba 已连接。
SQL> quit2、查看⽤户的proifle是哪个,⼀般是default:sql>SELECT username,PROFILE FROM dba_users;3、查看指定概要⽂件(如default)的密码有效期设置:sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';4、将密码有效期由默认的180天修改成“⽆限制”:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;修改之后不需要重启动数据库,会⽴即⽣效。
sqlplus命令行登录oracle数据库的几种方法

sqlplus命令行登录 oracle数据库的几种方法
1.以操作系统权限认证的oracle sys管理员登陆
C: > sqlplus "/as sysdba"
2.不在cmd或者terminal当中暴露密码的登陆方式
C: > sqlplus /nolog SQL> conn /as sysdba
3.非管理员用户登陆
C: > sqlplus scott/tiger
4.非管理员用户使用tns别名登陆
C: > sqlplus scott/tiger@orcl
5.管理员用户使用tns别名登陆
C: > sqlplus sys/password@orcl as sysdba
6.不显露密码的登陆方式
C: > sqlplus Enter user-name:sys Enter
如果Oracle数据库登录之后不管输入什么SQL语句都提示如下:
SQL> select * from v$version; SP2-0640: Not connected
解决方法:
SQL> conn sys/ as sysdba; Enter password: Connected. SQL>
ORACLE命令实例详解

SQL> grant create synonym to scott;
SQL> create synonym t3
2 for scott.test3;
创建表空间
SQL> create tablespace tbs001
2 datafile 'f:\tbs001.dbf' size 1m;
5 from emp
6 where deptno=20;
创建序列
SQL> create sequence seq1
2 start with 1;
带字符的序列号
SQL> insert into t3(id_card) values('abc'||lpad(sql1.nextval,9,0));
权限传递
即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:
grant alert table on tablename to zhangsan with admin option;//关键字 with admin option
grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似
SQL> alter user hr
2 account unlock;
SQL> alter user hr
2 identified by hr;
实例
SQL> select instance_name,status from v$instance;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sqlplus as sysdba 详解
在命令窗口输入“sqlplus / as sysdba”后回车,即可连接到Oracle
例如
C:\>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二4月17 10:05:34 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到:
Oracle Database 11g Enterprise Edition Release
11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
那么到底此命令到底执行了什么操作,不妨登录后输入“select user from dual;”查看,可看到如下结果:
C:\>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二4月17 10:11:11 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到:
Oracle Database 11g Enterprise Edition Release
11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select user from dual;
USER
------------------------------
SYS
SQL>
很明显我们刚刚是以SYS用户登录的
这就说明此处省略了用户名及密码
我们再以“sqlplus sys/****(sys用户的密码)/ as sysdba”的方式登录,此时不论用户名或密码是否在系统中存在都可正常登录,登录的用户还是“SYS”,命令操作如下:
C:\>sqlplus sss/sss as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二4月
17 10:21:12 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到:
Oracle Database 11g Enterprise Edition Release
11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select user from dual;
USER
------------------------------
SYS
SQL>
命令详解:以sqlplus / as sysdba方式登录时,采用的是操作系统验证的方式,所以用户名/密码输与不输入是一样的。