ORA-12560 TNS 协议适配器错误如何解决
由于老是提示这样的错误
我的解决办法就是
启动oracleserviceXXXX,XXXX就是你的database SID.
启动oraclehome92TNSlistener服务
在这里 我只启动了LiQiang的这个SID服务,但是由于好长时间没有用,或者安装上在 失误,我查看了下HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0在这个下面,有一项:ORACLE_SID里面在设置和我打开的哪个oracleserviceLiQiang 不对应,我就修改了下它的值。修改为LiQiang.呵呵,这样就好了,直接用sqlplus w scott/tiger,直接进去,或者用sqlplusw /nolog进去后用conn sys/sys as sysdba,conn SYSTEM/manager,conn scott/tiger 这三个进去。
现在问题来了:
但是我就有疑问啊,这里的三个帐户密码,都是依附于LiQiang这个SID.???奇怪
oracle 的结构和我用过的informix不一样,在informix中我可以远程登陆到linux服务器上面,输入进入服务器的帐号密码就可以了。然后在linux提示符下输入 dbaccess 数据库名字 就可以直接进入某个数据库了,而在mysql中,在它的数据库操作工具下,哪个工具我忘记了叫什么,但是界面象cmd的界面,好少用,一般用SQLYOG来操作mysql,在sqlyog开始的界面时候就有提示输入连接数据库的帐户密码,直接是root,root,,oracle就有点乱了,思路太乱。
刚刚使用了下toad确实是个好东西,用sys登陆进去的时候显示sys是代表user或者叫schema更准确些,所有的表存在于sys@LiQiang这个路径下,LiQiang代表数据库,sys代表这个表下面的表结构。这个和informix有点类似,比如我的人事的所有表就存在于叫hzds@ontcp2的路径下,当然在我的informix服务器上面有好多数据库,比如ontcp5的,一个数据库下面也有好多schema比如ds,ds1,hzds啊的,所以我得到一个结论:oracle的每个数据库下面都有几个USER,而且每个user都有自己的区别与别人的schema,进入到某个user/schema后就可以查询下面的表了,也可以查询同一个 数据库里面其他user的非隐藏表。
这个结论成立否还有待明天发布一个项目检验下,项目就是哪个企业管理系统。
下面 我罗列下sqlplus的几个命令:
3. 重新运行上一次运行的sql语句
SQL>/ (用run也可以)
4. 将显示的内容输出到指定文件
SQL> SPOOL file_name
在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构
SQL> desc table_name
6). 显示当前的用户名
show user
29.将一个数据库中的一些数据拷贝到另外一个数据库(如将一个表的数据拷贝到另一个数据库)
COPY {FROM database | TO database | FROM database TO database}
{APPEND|CREATE|INSERT|REPLACE} destination_table
[(column, column, column, ...)] USING query
23.在sql*plus中连接到指定的数据库
CONNECT user_name/passwd@db_alias (哦我明白了,scott代表一个数据库,但是sys和SYSTEM代表的是同一个 数据库?)
exit 退出SQL*PLUS
desc 表名显示表的结构
SQL> desc user_views
列名 可空值否 类型
------------------------------- -------- ----
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG
SQL> define a = ’’’20000101 12:01:01’’’ --定义局部变量,如果想用一个类似在各种显示中所包括的回车那样的常量,
--可以用define命令来设置
SQL> select &a from dual;
原值 1: select &a from dual
新值 1: select ’20000101 12:01:01’ from dual
SQL> edit s<回车>
如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件,
在其中输入“select * from tab;”,存盘退出。
SQL> @s<回车>
系统会自动查询当前用户下的所有表、视图、同义词。
@@文件名 在.sql文件中调用令一个.sql文件时使用
save 文件名 将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql
get 文件名 调入存盘的sql文件
start 文件名 运行调入内存的sql文件
spool 文件名 把这之后的各种操作及执行结果“假脱机”即存盘到磁盘文件上,默认文件扩展名为.lst
spool 显示当前的“假脱机”状态
spool off 停止输出
查看用户下所有的表
SQL>select * from user_tables;