前言
一个好的技术只能决定你的开始,不能决定你的以后。
技术+项目管理+CMM+心理学+会计+金融。
第一年:做2~4个项目,第二年:编写一些文档(离项目经理不远了),第三年:有一定的管理能力的话就成为经理了,开始进行一些业务上的设计。
1、大型数据库DB2(只限制于IBM的产品),oracle。
2、Oracle 8/8i:i表示的是internet,意味着oracle开始向网络发展,但是这个版本属于过渡版本。
3、Oracle 9i:是现在使用最广泛地版本,是Oracle的升级版,共3CD。
4、Oracle 10g:是一个过渡性的产品,g表示的网格就算,700M。
5、Oracle 11g:是一个完整性的产品,1.8G。
6、安装时,关掉防火墙和网络!
7、全局数据库名我设的为orcl,SID为orcl
8、密码是oracleadmin
9、主要有四个用户:
超级管理员:sys/change_on_install
普通管理员:system/manager
普通用户:scott/tiger(scott是oracle创始人之人,他有一只叫做“tiger”的猫)
大数据用户:sh/sh
10、在安装过程过,一定要选上“创建带样本方案的数据库”,则以后不会出现大数据用户(实验用)。
11、最好将 oracle服务改成手工服务,否则启动电脑速度变慢。
12、有两个重要的服务:
监听服务: OracleOraDb10g_home1TNSListener
如果有程序要操作数据库,或者是一些远程的客户端要连接数据库则必须启动此服务;
数据库的实例服务:OracleServiceORCL
保存数据库的具体信息的服务,每一个数据库都有一个数据库实例(服务)。
命名规则:OracleServiceXXX,XXX是配置的数据库名称(严格来讲是SID名称)。
13、卸载:
a.直接运行卸载程序
b.删除硬盘上的残留文件,如果删除不掉则先进入到安全模式下删除;
c.同时删除注册表中所有与Oracle有关的配置项;
如果没有正常的安装成功,则必须进行卸载,直接用b和c就可以完成卸载。
14、Oracle监听服务经常出现的错误
错误一:注册表使用了优化软件被删除了相关项
对于每一个系统服务实际上都会在注册表中有所保存;
运行-> regedit->进入注册表编辑器。搜索OracleOraDb10g_home1TNSListener,右击->复制项名称-》得到监听注册项“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\OracleOraDb10g_home1TNSListener”
里面有一个“ImagePath”的选项,这个选项有可能会在使用优化软件的时候被自动的删除,如果被删除的话则应该建立一个新的项。名称为“ImagePath”,数值数据为“D:\oracle\product\10.2.0\db_1\BIN\TNSLSNR”,BIN里Oracle的可执行程序,TNSLSNR是监听的启动程序。 TNSLSNR.exe 也可能是恶意软件所伪装,尤其是当它们存在于 c:\windows 或 c:\windows\system32 目录,所以优化器有可能把它优化掉!!!
错误二:网络环境的改变
在Oracle 10g里面,如果网络的环境改变了,有可能原始的网络就无法正常工作,此时就必须手工进行网络配置的修改。网络环境的改变最多就是电脑名称的修改。这个问题11g版本可以自动进行重新配置,但是10g或者以前的版本,只能手工修改。否则监听服务无法正常启动,因为网络环境发生改变了。必须修改网络配置文件:
配置文件路径:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
有两个配置文件:listener.ora和tnsnames.ora(可以用记事本打开),把两个文件里的HOST的值改为修改过的计算机名称,之后再重新启动监听服务。但是以后如果使用程序连接Oracle 10g的话,则以上的配置有可能还是不能正常访问数据库,此时可以进入到第二步操作,进行数据库名称的注册,配置和移动工具-》Net Manager,-》监听程序-》LISTENER-》数据库服务。按照图1.保存。
保存以后则在listener.ora中多出下列:
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = ORCL)
)
在BIN在也有一个监听状态的的检查命令LSNRCTL.EXE
打开后运行如图2
15、对于Oracle数据库操作主要使用命令行方式,而所有的命令都使用sqlplus完成,sqlplus有两种形式:
a:dos风格,sqlplus.exe
b:windows风格,sqlplusw.exe
直接在“运行”中敲入“sqlpus”进入dos,“sqlplusw”进入window。
在sqlplus中会有折行、折页问题,在sqlplus中也有折行、折页问题,但是可以调整,所以sqlplusw用得较多。
“主机字符串”为空时表示找到默认的实例(orcl数据库),如果这里有多个数据库的话,这里就写上数据库的名称。
16、sqlplusw.exe也有折行,和折页的问题
但是可以通过两个格式化命令进行调整:
a.设置每行显示的记录长度:set linesize 300;
但是有折页(有两行字段名),默认打印13行,
b.设置每页显示的记录长度:set pagesize 30;
虽然sqlplusw显示上方便一些,可是对于命令的编辑上却不是很方便。如果正常的操作,命令写错了,则肯定能使用方向键移到错误的位置上进行修改。但是在sqlplusw中,方向键只能控制屏幕的移动。所以在sqlplusw中提供了ed和@指令(在sqlplus中也可以使用),可以进行记事本的调用和执行。
a.使用ed,调用记事本程序。
在命令行输入ed a,则会弹出
选择是, 但是使用ed打开记事本之后,sqlplusw窗口会进入到阻塞状态,无法使用。
b.使用@执行:@a。
但是在winidows中,由于提供了许多的方便的编辑软件,所以一般会在外部编辑程序,例如,在D盘上建立一个demo.txt的文件,里面有sql语句。要读取键盘上的文件,则必须写上完整的路径:@D:\demo.txt。而且如果这个文件的后缀是*.sql,则不用输入文件后缀(demo.sql),输入:@d:\demo或者@d:demo。
我个人的爱好是:在编辑软件中写sql,复制、粘贴就行了。
17、sqlplus中set linesize 300无效(因为dos窗口的宽度不变),set pagesize 30有效(长度可变)。
18、
在一个数据库中,会有许多的用户(现在已知的是四个用户),这每一个用户下都会有多张自己的数据表,所以要想查看所有的数据表,则可以使用如下的命令:
select* from tab;
19、
show user用于显示当前的登录用户。
20、
直接进行用户的登录切换
conn 用户名/密码[as sysdba/sysoper] 例如:conn sys/change_on_install as sysdba;
“[]”,为可选的,sysoper为普通操作者。
但是,一旦使用了sys连接之后,则无法直接查询emp表数据。 对于每张表,都有其属于的用户,所以一张表的完整名称是“用户名.表名称”或者说是“模式名.表名”。所以要想访问其他用户的表,应该加上用户名,如:select*from scott.emp。
21、
但是一旦使用了超级管理员登陆的话 ,可以通过手工的控制数据库实例的打开和关闭,
a.关闭数据库实例命令:shutdown immediate
一旦关闭以后用户无法直接连接到数据库,
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
此时可以在sqlplusw中,先使用“/nolog”登录,之后使用管理员登录,conn sys/change_on_install as sysdba,然后启动数据库实例“startup”。
22、
sqlplusw也可以调用操作系统命令,使用“host”作为前缀。例如:host copy d:\demo.sql d:\hello.txt。
实验要做,但也要想!
那思维的起点是什么?
以下是我的看法、或者有些不合理:
㈠ 针对问题寻找出一种不会出错的方法
如何实现,请参见:如何思考
㈡ 哪些步骤或操作不能做或者慎做?
㈢ 为什么要这么做?
㈣ 为什么不能那样做,那样做会造成哪些影响?
㈤ 什么情况下应该怎么做?
㈥ Oracle为什么要这样设计?
㈦ 横向对比:和MSSQL、DB2比起来,Oracle这样做好在哪里?不好在哪里?
纵向对比:在9i、10g、11g、12c,Oracle在这方面有哪些改进?在向后的版本里,又会有哪些改进?
Oracle真的很难卸载。。。。
1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。2、 开始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer,单击“卸载产品”-“全部展开”,选中除“OraDb11g_home1”外的全部目录,删除。
5、 运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。
6、 运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口(以oracle或OraWeb开头的键)。
7、 运行refedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口。
8、 删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。
9、 删除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs中所有以oracle开头的键。
10、删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。
11、我的电脑-->属性-->高级-->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定。
12、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标。
13、删除所有与Oracle相关的目录(如果删不掉,重启计算机后再删就可以了)包括:
1.C:\Program file\Oracle目录。
2.ORACLE_BASE目录(oracle的安装目录)。
3.C:\WINDOWS\system32\config\systemprofile\Oracle目录。
4.C:\Users\Administrator\Oracle或C:\Documents and Settings\Administrator\Oracle目录。
5.C:\WINDOWS下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。
6.C:\WINDOWS下的WIN.INI文件中若有[ORACLE]的标记段,删除该段。
14、如有必要,删除所有Oracle相关的ODBC的DSN
15、到事件查看器中,删除Oracle相关的日志 说明: 如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。
真的很难卸载。。。