00100002_MLDN-魔乐科技-李兴华【Oracle数据库】_Oracle安装与卸载
- 格式:docx
- 大小:524.53 KB
- 文档页数:13
Oracle数据库错误消息导出错误消息l EXP-00000导出终止失败原因:导出时产生Oracle错误。
操作:检查相应的Oracle错误消息。
l EXP-00001数据域被截断-列长度=数字,缓冲区大小=数字,实际大小=数字原因:数据缓冲区中列不适合。
操作:记录错误参数和消息,作为输出内部错误发送到Oracle Support Services (如果一个表不能完全导出,则导出不能继续)。
l EXP-00002写导出文件错误原因:不能导入导出文件,可能由设备错误引起,通常伴随有操作系统引起的设备错误。
操作:采取适当措施恢复该设备。
l EXP-00003未发现段(数字,数字)的存储定义原因:导出不能为簇、索引或者表查找存储定义。
操作:记录伴随的消息并作为导出内部错误报告Oracle Support Services。
l EXP-00004无效用户名或口令原因:指定了无效的用户名或口令。
操作:使用有效的用户名和口令重试。
l EXP-00005 所有的许可的登录尝试失败原因:试图再三以一无效的用户名或口令登录。
操作:关闭并重启实用程序,然后以一有效的用户名和口令重试。
l EXP-00006内部矛盾错误原因:导出的数据结构被破坏了。
操作:记录伴随的消息并作为导出内部错误报告Oracle Support Services。
l EXP-00007字典显示没有string.string列原因:导出没能从数据字典搜集列信息,表可能被删除。
操作:重试导出,如果再次发生这个错误,则作为导出内部错误报告Oracle Support Services。
l EXP-00008遇到ORACLE错误号原因:导出遇见已引用的Oracle错误。
操作:查阅Oracle错误,采取适当的方式。
l EXP-00009没有权限导出字符串表格的字符串原因:试图导出其他用户的表格,只有数据库管理员能导出其他的用户的表格。
操作:要求你的数据库管理员执行导出。
oracle数据库中文乱码问题解决方案oracle数据库中文乱码问题解决方案一、查看数据库服务器端的字符编码SQL>SELECT * FROM NLS_DATABASE_PARAMETERS;我对显示为AL32UTF8显示不正确,将其改为ZHS16GBK中文编码,步骤如下:先停止本数据库服务:SQL>shutdown immediate;数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
这些信息是更改正确字符集后的提示信息,一般应该是英文的)再启动数据库SQL>startup restrict; 此处要注意启动方式要加restrict参数ORACLE 例程已经启动。
Total System Global Area 603979776 bytesFixed Size 1220796 bytesVariable Size 180358980 bytesDatabase Buffers 415236096 bytesRedo Buffers 7163904 bytes数据库装载完毕。
数据库已经打开。
修改字符集SQL> alter session set sql_trace=true;Session altered.SQL> alter system enable restricted session;System altered.SQL> alter system set job_queue_processes=0;System altered.SQL> alter system set aq_tm_processes=0;System altered.SQL> alter database open;Database altered.SQL> alter database character set zhs16gbk;Database altered.重启数据库SQL> shutdown immediate;SQL> startup;ERROR at line 1:ORA-12721: operation cannot execute when other sessions are active若出现上面的错误,使用下面的办法进行修改,使用INTERNAL_USE可以跳过超集的检查:SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;SQL>SHUTDOWN IMMEDIATESQL>STARTUP二、查看和修改客户端字符集客户端NLS_LANG 的设置方法Windows:# 常用中文字符集set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK# 常用unicode字符集set NLS_LANG=american_america.AL32UTF8可以通过修改注册表键值永久设置HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS _LANG Unix:# 常用unicode字符集export NLS_LANG=american_america.AL32UTF8# 常用中文字符集export可以编辑bash_profile 文件进行永久设置vi .bash_profileexport NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"or export NLS_LANG="Simplified Chinese_china".ZHS16GBK # 使bash_profile 设置生效source .bash_profile备注:在终端不能正确显示中文可修改终端—>设定字符编码。
Oracle12c 数据库导入以及数据源设置1.数据库的的导入数据库是Oracle10的备份,直接导入到Oracle12c中。
如上图,把备份的文件foodmart.dmp放到c:\Douuments and Setting\Administrator这个文件夹中,然后进入命令行运行如上的命令。
这个数据库就能导入进oracle12中2.数据源的设置如上图:Server Name:安装oracle12的机器的ip地址Port:Oracle默认的监听端口为1521SID:是oracle的实例的名字。
在SQL-Plus中使用命令:select instance_name from v$instance;查询实例名字。
Default Username:就是oracle的用户名。
和使用导入数据库的时候的用户名相同。
Default Password:对应的密码注意:1.这里在连接数据源之前,应该去安装oracle的机器启动oracle的监听服务,进入cmd命令行,输入命令:lsnrctl start2.安装ABX的时候,系统的jdk为1.7的话,选择jdbc的时候使用ojdbc7.jar,把其他的ojdbc全部都删除。
至此,数据库的导入和数据源的连接就完成了。
附加资料:1.orale 新建账户:create user 用户名 identified by 密码;grant create session to 用户名;grant create table to 用户名;grant create tablespace to 用户名;grant create view to 用户名;grant unlimited tablespace to 用户名;2.相关命令以下DOS下操作如下:DOS下启动监听: lsnrctl start启动对应的数据库服务: net start OracleServiceTIANSHAN连接到对应的数据库: sqlplus ts/ts@tianshan as sysdba 或者 sqlplus "/ as sysdba"修改密码: sql> alter user ts identified by xxxxx;查询对应的数据库名: SQL> select name from v$database查询对应的实例名: SQL> select instance_name from v$instance;查看用户下所有的表: SQL>select * from user_tables;创建用户: SQL> create user tsxy identified by tsxy;分配权限: SQL>grant dba to tsxy;查看有哪些数据库实例: SQL>select instance_name from v$instance; 【查看有哪些实例】查看有哪些用户: SQL> select username from dba_users; 【查看对应的用户】退出: SQL> exit停止服务: net stop OracleServiceTIANSHAN停止监听:lsnrctl stopDOS下面导入导出:导出: exp 用户名/密码@实例名 file=路径 owner=用户导入: imp 用户名/密码@实例名 file=路径 full=y具体请参考如下图:查看字段命令窗口:desc 表名或者sql窗口select * from user_tab_columns where table_name=大写表名重启数据库Shutdown immediate;startup;3.Oracle的特点Oracle一般情况下,只有一个数据库,这个特点和其他的数据库不同。
Oracle的数据类型:加粗字体(ctrl+B)使用ctrl+/可以快速的弹出一个虚拟符号键盘:✏(alt + 9999)如果只想复制表的结构到另一张表,而不复制任何的数据,则可以使用一个永远查询不到结果的查询来执行;Create table empnull as select * from emp where 1=2;为表重命名:在oracle数据库中,所有的数据实际上都是通过数据字典保存的,例如:select * from tab;以上就是一个数据字典,而在oracle数据库中,提供了三种类型的数据字典,最常用的是dbo、user、所以下面查询一个user_tables数据字典;Select * from user_tables;也就是说oracle中的所有数据都是按照文件保存的,那么所有的内容都会在数据字典中注册,既然这样,修改表名称就相当于修改一条数据而已:Rename 旧的表名称 to 新的表名称;如果希望彻底释放掉一张表所占用的全部资源(表空间、索引等等)就可以使用截断表的语法,语法如下:Truncate table 表名称;在oracle10G中,为了防止用户的误删除表的操作,专门提供了回收站的功能,用户所删除的表默认情况下回在一个回收站之中保存,而用户也可以通过回收站进行表的恢复,所以此技术成为闪回(flashback);可以通过如下名称查看回收站中的表:Show RECYCLEBIN;ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME---------------- ------------------------------ ------------ ------------------- MEMBER BIN$r34Nm9OVRxqjy8Jwh1KWJw==$0 TABLE 2012-01-25:10:28:51可以通过如下的命令恢复别删除的表:FLASHBACK TABLE 表名称 TO BEFORE DROP;例如恢复上面的member表:Flashback table member TO before drop;当然呢,也可以直接删除掉回收站中的而一些数据表,语法如下:Purage table 表名称;比如删除回收站中的member表:Purge table member;SQL> purge table member;表已清除。
第一次1、Oracle安装及基本命令1.1、Orace简介Oracleso一个生产中间件和数据库的较大生产商。
其发展依靠了IBM公司。
创始人是Larry Ellison。
1.2、Oracle的安装1) Oracle的主要版本Oracle 8;Oracle 8i;i,指的是InternetOracle 9i;相比Oracle8i比较类似Oracle 10g;g,表示网格技术所谓网格技术,拿百度搜索为例,现在我们需要搜索一款叫做“EditPlus”的文本编辑器软件,当我们在百度搜索框中输入“EditPlus”进行搜索时,会得到百度为我们搜索到的大量关于它的链接,此时,我们考虑一个问题,如果在我所处的网络环境周边的某个地方的服务器就提供这款软件的下载(也就是说提供一个下载链接供我们下载),那么,我们就没必要去访问一个远在地球对面的某个角落的服务器去下载这款软件。
如此一来就可以节省大量的网络资源。
使用网格技术就能解决这种问题。
我们将整个网络划分为若干个网格,也就是说每一个使用网络的用户,均存在于某一个网格,当我们需要搜索指定资源时,首先在我们所处的网格中查找是否存在指定资源,没有的话就扩大搜索范围,到更大的网格中进行查找,直到查找到为止。
2)安装Oracle的准备工作关闭防火墙,以免影响数据库的正常安装。
3)安装Oralce的注意事项为了后期的开发和学习,我们将所有数据库默认账户的口令设置为统一口令的,方便管理和使用。
在点击“安装”后,数据库相关参数设置完成,其安装工作正式开始,在完成安装时,不要急着去点击“确定”按钮,这时候,我们需要进行一个非常重要的操作——账户解锁。
因为在Oracle 中默认有一个叫做scott的账户,该账户中默认有4张表,并且存有相应的数据,所以,为了方便我们学习Oracle数据库,我们可以充分利用scott这个内置账户。
但是奇怪的是,在安装Oracle数据库的时候,scott默认是锁住的,所以在使用该账户之前,我们就需要对其进行解锁操作。
解决Oracle19c数据库报错:ORA-28000账号被锁定问题:使⽤DBeaver连接Oracle19c数据库时,报错:ORA-28000 账号被锁定。
错误原因
经排查发现,Oracle19c数据库中设置了密码最⼤错误次数为10次,超过10次后导致账号被锁定。
解决⽅法
1. 查看⽤户使⽤的概要⽂件名,⼀般为DEFAULT
select username,profile from dba_users;
2. 查看概要⽂件中设置的密码错误后限制的登录次数
select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
3. 将10次(默认)改为不受限制,改动后⽴即⽣效
alter profile default limit failed_login_attempts unlimited;
4. 检查已经被锁定的⽤户
select username,account_status from dba_users;
账号的状态⼤致被分为:OPEN(正常),LOCKED(通过SQL语句进⾏的锁定),LOCKED(TIMED)(超过最⼤错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等。
5. 解锁被锁定的账户
alter user c##zhra6 account unlock;
此时使⽤该账号可以正常连接数据库了!。
O r a c l e常见错误及解决方案问题1:Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initialization or shutdown in progress 错误提示,应用系统无法连接Oracle服务。
解决方法如下:⑴进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID;⑵运行sqlplus "/as sysdba"SQL>shutdown immediate停止服务SQL>startup启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号SQL>shutdown immediate再次停止服务SQL>startup mountSQL> recover datafile 2恢复出错的数据文件SQL>shutdown immediate再次停止服务SQL>startup启动服务,此次正常。
⑶进入PL/SQL Developer检查,没有再提示错误。
问题2:Oracle密码忘记了怎么办?解决方法有很多种,这里讲述以下三种:⑴打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”。
注意:新密码最好以字母开头,否则可能出现错误Ora-00988。
有了这个方法后,只要自己对oracle 服务器有管理员权限,Oracle密码忘记了也不用着急,可以随意修改密码。
⑵在命令行执行如下命令:sqlplus "/@服务名as sysdba"然后在sqlplus中运行以上命令即可修改密码:alter user sys identified by 新密码;alter user system identified by 新密码;⑶运行到C盘根目录输入:SET ORACLE_SID = 你的SID名称输入:sqlplus/nolog输入:connect/as sysdba输入:alert user sys identified by sys输入:alert user system identified by system完成以上5步,则密码更改完成,密码是Oracle数据库的初始密码。
Oracle数据库监听配置与报错解决方法作者:范美卉张俊萌来源:《电脑知识与技术》2023年第24期关键词:监听日志;Oracle数据库;监听器中图分类号:TP311 文献标识码:A文章编号:1009-3044(2023)24-0073-030 引言想要使用Oracle数据库,首先需要用户与数据库建立连接,而怎么在两者之间建立连接,Oracle使用了一个叫网络服务的概念,从而客户端或者中间层的应用服务器与数据库服务器能建立连接,并能在两者之间传递数据。
在客户端,网络服务作为后台运行的进程,在数据库服务器端,网络服务则通过一个叫“监听器”的组件接收来自客户端的连接请求。
监听器(LIS⁃TENER)是位于服务器端的、独立运行的一个后台进程,运行在服务器端,但独立于数据库服务器单独运行,在数据库没有启动的时候,监听器也能独立运行。
1 Oracle 数据库监听配置Oracle监听负责监听客户端传入的连接请求,同时也负责调整服务器的连接负荷。
客户端试图连接数据库服务器时,监听器将接收到客户端的请求并将其传递给服务器进行处理。
一旦客户端与服务器建立连接,它们之后将直接进行通信,而不再需要监听器的介入,监听器将保持空闲状态。
dbca建库后一般会有默认配置好的监听,默认服务端口是1521,通常一个库一个监听就足够,但如果需要处理大量并发请求数,就可能需要配置多个监听,非默认监听的端口号设置成大于1024,不同监听之间服务名和端口号不能一样[1]。
配置监听器有两种方法。
1.1 通过图形界面工具Net Manager如图1所示,选中图中的Oracle Net配置下的本地树形目录中的监听程序项,再点击左侧绿色的“+”按钮添加监听程序,点击监听程序目录,新加的监听器名称默认为LISTENER。
选中该名称,窗口右侧栏的下拉选项中含有四个选项:一般参数、监听位置、数据库服务、其他服务,选中“监听位置”,点击添加地址按钮。
在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口[2]。
ora-00119和ora-00132问题的解决⽅法oracle11g安装后,本地⽆法登录!前提:服务全部打开,监听也配置好了!win7 64位 oracle 11g简单的sql命令:先登录到sqlplus:sqlplus/nolog;登录数据库:connsystem/managerassysdba;然后启动数据库:startup;发现ora-00119【ora-00119 invalid specification for system parameter】ora-00132【syntax error or unresolved network name 'LISTENER_ORCL'】:现在看来,完全可以理解就是00119就是oracle没有启动!现在来个更简单的:【解决办法】⽅法①:这种⽅式每次电脑重启以后,都需要⽤sysdba的⾝份启动数据库;优点:能够加深基本的sql密令的印象;缺点:⿇烦;1.找到⼀个⽂件夹:pfile;虽然每个⼈安装oracle的路径不⼀样,但是在安装的⽬录下⼀定会找到这个⽂件夹!⽐如我的⽂件夹:D:\app\jamb008\admin\orcl\pfile这个⽂件下有个⽂件:init.ora.1132014143422 他其实就是pfile,⽤来启动oracle的⽂件!2.⽤写字板的⽅式打开它,找到local_listener,然后将它的值换掉(原始值叫LISTENER_ORCL),换成你tnsnames.ora中的ADDRESS_LIST:然后回到cmd中,执⾏:startuppfile='D:\app\jamb008\admin\orcl\pfile\init.ora.1132014143422'再次⽤plsql登录:system manager成功了【解决办法】⽅法②:(⽹上说什么复制pfile到spfile等等,弱爆了)仍然⽤这种“弱爆的办法”。
1、课程名称
Oracle安装与卸载
2、参考图书
《Oracle开发实战经典》
3、视频下载
/s/1o6yVybw
4、笔记内容
Oracle数据库如果要想安装请准备出5G空间,同时也要清楚一些常见的Oracle版本:
·Oracle 8、Oracle 8i:其中“i”表示的是internet,表示Oracle开始向网络发展,1CD;
·Oracle 9i:是Oracle 8i的稳定版,也是现在见到最多的版本、3CD;
·Oracle 10g:表示Oracle开始基于网格计算推出的数据库,1CD;
·Oracle 11g:是Oracle 10g稳定版,现在也算是最主流推广的版本,2G左右;
·Oracle 12C:“C”表示的是云计算的概念,是现在的最新版本。
在本次讲课之中采用的是Oracle 11g版本,而不是Oracle 12C版,因为12C在进行初期学习的时候非常的麻烦。
而且最方便的是,oracle数据库可以直接从网上下载,使
用的时候是免费的,即使你在项目之中没有花钱购买Oracle也不会算你使用盗版,但是千万别出错,一出错,没人管你。
在进行Oracle安装之前,必须注意一点:请将你本机的病毒防火墙关闭,同时将那个什么垃圾的360也关了。
对于Oracle而言,本身的软件提供的只是一个平台,而在这个平台之上才会进行数据库的管理,那么此时选择的是“创建和配置数据库”就表示在软件安装完成之后会自动的进入到一个新的数据库的创建和配置过程。
在进行Oracle安装的时候会询问用户安装的类型,默认的单机数据库选择的是“单实例数据库”,而对于RAC属于Oracle之中比较高级的数据库管理话题,有兴趣的话可以继续再花费2W块钱自己学习。
选择“高级安装”可以进入到一些数据库的基础配置界面。
本数据库之中所使用的语言提供有两种“简体中文”、“英语”。
本次选择安装的版本为“企业版”。
本次将Oracle数据库安装在了“D:\app\Teacher”
由于在一开始选择了“创建数据库”,所以此时会询问用户要创建的数据库名称,将名称修改为“mldn”,同时可以发现有一个Oracle服务标识符(SID)跟数据库名称完全一样,其中SID为日后程序开发之中使用的服务编号,如果没有此编号,那么程序将无法进行数据库的连接,一般SID都和数据库名称保持一致。
在日后的实际开发之中,所使用的编码一定是“UTF-8”编码,在进行Oracle安装的时候一定要选择好此编码,否则日后就可能出现程序的乱码问题。
同时在“示例方案”上选择“创建具有示例方案的数据库”,这样就会出现相应的测试数据,供学习使用,如果没有选中,则没有相应数据出现。
在Oracle之中有两个主要的管理员用户:SYS(超级管理员)、SYSTEM(普通管理员),此时就需要配置这些管理员帐号的密码,但是现在为了方便起见,将所有的管理员密码都统一配置为“oracleadmin”。
(但是在新版本的数据库之中,这样的密码是不符合要求的)。
随后进入到安装前的系统检查,如果此时有错误了,请选择“忽略”。
随后开始进入到Oracle的安装程序界面。
当安装完成之后(实际上,此时mldn数据库也已经配置完成了),但是数据库配置完成之后必须进行一些用户名和密码的设置。
首先进入到“口令管理”界面,进行以下四个用户名和密码的修改:·超级管理员:sys / change_on_install,实际工作之中不能使这个密码;
·普通管理员:system / manager,实际工作之中不能使这个密码;
·普通用户:scott / tiger,需要解锁,此用户是一个非常经典的用户;
·大数据用户(示例方案数据库):sh / sh,需要解锁。
此时选择“确定”才表示安装已经完成。
在Oracle安装完成之后会回到Oracle安装的主界面,选择“关闭”。
当Oracle安装完成之后会自动的在windows服务里面进行Oracle相关的服务注册,
有如下的几个:
但是这些服务默认情况下大部分都是采用了“自动”启动的方式,如果你电脑快的话,电脑启动时没有影响,但是建议都将其修改为手工方式,在需要的时候再进行启动。
而对于开发者而言,如果要使用Oracle进行开发,只需要两个:
·Oracle监听服务(OracleOraDb11g_home1TNSListener):当需要通过程序连接数据库进行开发的时候,此服务必须打开,如果是在学习oracle的时候,并且是在本机使用的时候可以不启动此服务;
·Oracle实例服务(OracleService MLDN):在一个oracle软件平台下可以创建多个数据库,每创建一个数据库,都会自动的建立一个数据库的服务,命名“OracleService SID”(SID一般和数据库相同)
PS:虽然此时已经成功的安装完成数据库了,但是对于数据库而言还有一个卸载操作。
·情况一:正常安装的情况下进行数据库卸载:
|- 停止掉所有的oracle数据库服务;
|- 启动oracle的卸载程序;
|- 卸载完成之后有可能数据库会出现一些残留的系统文件和注册表文件,但是这些文件在正常运行操作系统的时候是无法被删除的,所以必须重新启动电脑,进入到安全模式(开机F8);
|- 清理掉所有的oracle残留文件,同时运行“regedit.exe”进入到注册表之中,手工搜索所有与oracle有关的项,并且进行删除;
·情况二:安装半截OVER了。
|- 此时卸载程序已经无法被使用了,那么只能够直接进行文件的删除;
|- 重新启动电脑,进入到安全模式(开机F8);
|- 清理掉所有的oracle残留文件,同时运行“regedit.exe”进入到注册表之中,手工搜索所有与oracle有关的项,并且进行删除;
还有一招最终极的卸载Oracle系统方式:重新做一个操作系统。