11gOracleStartup,命令行打开oracle的方法sql
一、打开命令行:窗口键+R键;数据库
二、输入cmd,进入DOS系统,即"Disk Operating System"的缩写>>意思是“磁盘操做系统”服务器
三、检查监听器状态:lsnrctl status网络
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 21-9月 -2015 22:22:26oracle
Copyright (c) 1991, 2010, Oracle. All rights reserved.ide
正在链接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=USER-20150310XO)(PORT=1521)))工具
TNS-12541: TNS: 无监听程序ui
TNS-12560: TNS: 协议适配器错误spa
TNS-00511: 无监听程序操作系统
64-bit Windows Error: 61: Unknown error
正在链接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 61: Unknown error
四、启动监听器 lsnrctl start
五、启动服务: C:\net start OracleServiceOrcl (oracle11g)
C:\Users\Administrator.USER-20150310XO> net start OracleServiceOrcl
OracleServiceORCL 服务正在启动 .....................
OracleServiceORCL 服务已经启动成功。
六、尝试登录本地数据库: sqlplus /nolog
sqlplus,进入sqlplus环境。
Oracle的sqlplus是与oracle进行交互的客户端工具,借助sqlplus能够查看、修改数据库记录。
在sqlplus中,能够运行sqlplus命令与sql语句。类别:客户端工具;做用:与oracle进行交互
/nolog是不登陆到数据库服务器的意思,若是没有/nolog参数,sqlpuls会提示你输入登陆帐号和密码。
七、监听打开后试图链接到数据库 conn sys/newer as sysdba(conn scott/tiger@orcl)
已链接。连接以后用startup打开数据库
八、查询数据 SQL>select * from emp
这里发现一个问题 返回的只有2
后来查询得知通常是刚接触Oracle时才会遇到的问题。
多是使用sql server的习惯,sql server中句末能够不用输入分号就能够执行。
解决方法:而使用Oracle的SQLPlus或者是在命令行下使用时,若是没有在语句的后面加一个分号,就按回车键后,
是不会执行的,而是光标跳到下一行,2表示行号,能够继续输入 语句,直到输入分号后按回车才执行:
因此输入查询语句SQL>select * from emp; 便可。
九、关闭数据库:SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
若是在sqlplus环境中使用shutdown命令关闭了数据库,如今要启动数据库的话,必须先用不登录到数据库服务器的方式进入sqlplus环境,再用startup命令启动数据库。由于数据库没有启动的话,不能登录数据库,也没法验证用户名和密码。
几种链接用到的命令形式
1.sqlplus / as sysdba 这是典型的操做系统认证,不须要listener进程
2.sqlplus sys/oracle 这种链接方式只能链接本机数据库,一样不须要listener进程
3.sqlplus sys/oracle@orcl 这种方式须要listener进程处于可用状态。最广泛的经过网络链接。
以上链接方式使用sys用户或者其余经过密码文件验证的用户都不须要数据库处于可用状态,操做系统认证也不须要数据库可用,普通用户由于是数据库认证,因此数据库必需处于open状态。
平时排错可能会用到的
1.lsnrctl status查看服务器端listener进程的状态。
LSNRCTL> help
The following operations are available
An asterisk (*) denotes a modifier or extended command:
start stop status
services version reload
save_config trace change_password
quit exit set*
show*
LSNRCTL> status
2.tnsping 查看客户端sqlnet.ora和tnsname.ora文件的配置正确与否,及对应的服务器的listener进程的状态。
C:\>tnsping orcl
TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 16-8月 -
2005 09:36:08
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
E:\oracle\product\10.1.0\Db_2\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_
NAME = orcl)))
OK (20 msec)
3.
SQL>show sga 查看instance是否已经启动
SQL> select open_mode from v$database; 查看数据库是打开仍是mount状态。
OPEN_MODE
----------
READ WRITE
#-----------------
使用hostname访问数据库而不是tnsname的例子
使用tnsname访问数据库是默认的方式,可是也带来点问题,那就是客户端都是须要配置tnsnames.ora文件的。若是你的数据库服务器地址发生改变,就须要从新编辑客户端这个文件。经过hostname访问数据库就没有了这个麻烦。
须要修改
服务器端listener.ora
#监听器的配置文件listener.ora
#使用host naming则再也不须要tnsname.ora文件作本地解析
# listener.ora Network Configuration File: d:\oracle\product\10.1.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
# (SID_NAME = PLSExtProc)
(SID_NAME = orcl)
(GLOBAL_DBNAME = boway)
(ORACLE_HOME = d:\oracle\product\10.1.0\db_1)
# (PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = boway)(PORT = 1521))
)
)
客户端sqlnet.ora 若是确认不会使用TNSNAME访问的话,能够去掉TNSNAMES
# sqlnet.ora Network Configuration File: d:\oracle\product\10.1.0\db_1\NETWORK\ADMIN\sqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (HOSTNAME)
Tnsnames.ora文件不须要配置,删除也无所谓。
下面就是网络和操做系统的配置问题了,怎么样可以解析个人主机名的问题了
能够经过下面的方式链接
sqlplus sys/oracle@boway
这样的话,会链接boway这台服务器,而且listener来肯定你所要链接的service_name。
oracle提示ORA-28002,密码7天后过时
解决ORA-28002: 密码7天以后过时办法
问题:打开oracle正常登录以后提示我 ERROR:ORA-28002: the password will expire within 7 days
原来个人oracle是11g的 SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
经过这条sql语句查出,该版本默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”。
而原来10g以前的版本默认的UNLIMITED,即无限制。
因此将密码有效期由默认的180天修改为“无限制”:sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改以后,没有被提示过这条警告的用户就不会再碰到这个问题了。
已经被提示过的用户必需要改一次密码: sql> alter user (scott) identified by tiger;(修改用户密码须要管理员身份登陆 as sysdba)