228
228
* 【性能调优】Oracle AWR报告指标全解析: < http://www.askmaclean.com/archives/performance-tuning-oracle-awr.html >
229
229
* Oracle Trace文件生成及查看: http://blog.csdn.net/weiwenhp/article/details/6932835
230
230
* Oracle 10g Audit(审计) --- 记录登录用户在Oracle中的所有操作: < http://blog.csdn.net/ryb7899/article/details/5413720 >
231
+ * 修改oracle实例名(sid)和数据库名(db_name): < http://blog.51cto.com/liujia/539294 >
232
+ * Oracle安装错误ora-00922(缺少或无效选项): < http://blog.sina.com.cn/s/blog_5674f6d401012ekw.html >
233
+ * Oracle中session和processes的设置: < http://www.cnblogs.com/jiangxinnju/p/7900870.html >
231
234
232
235
## oracle疑难问题排查集:
233
236
@@ -259,8 +262,6 @@ windows Server 2008 服务器上安装了Oracle 11g R2,在用Navicat去连接O
259
262
* 打开Navicat,选择工具→选项→其他→OCI,然后设置OCI library为:D: app /administrator/product/instantclient_12_2_x32/oci.dll,设置SQL plus为:D:/app/administrator/product/11.2.0/dbhome_1/BIN/sqlplus.exe。确定。
260
263
* 测试成功。
261
264
262
-
263
-
264
265
## Oracle 11g 默认用户名和密码
265
266
266
267
安装ORACLE时,若没有为下列用户重设密码,则其默认密码如下:
@@ -275,7 +276,6 @@ Dbsnmp/dbsnmp SYSDBA 或 NORMAL 复制管理员
275
276
276
277
登录身份:指登录时的Role指定,oracle11g中分SYSDBA和default两种。在安装Oracle 10g的时候,提示创建数据库,在创建的同时提示你输入口令,若此时你输入了密码,在登录数据库的时候用户名sys 对应的密码就应该是你创建数据库时候输入的口令。而非默认的change_on_install.
277
278
278
-
279
279
## Oracle 11g服务详细介绍及哪些服务是必须开启的?
280
280
281
281
成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:
@@ -292,119 +292,12 @@ Dbsnmp/dbsnmp SYSDBA 或 NORMAL 复制管理员
292
292
293
293
注:ORCL是数据库实例名,默认的数据库是ORCL,你可以创建其他的,即OracleService+数据库名。
294
294
295
-
296
- ## Oracle安装错误ora-00922(缺少或无效选项)
297
-
298
- 安装Oracle 11g R2的过程中,在新建数据库实例时出现了该错误,如果选择"忽略"就会出现ora-28000错误。经网络查询验证,这是属于在前面配置管理员密码的时候,采用了数字开头的密码,Oracle貌似对此不支持,但当时不提示出错,晕倒!据说包含其他非法特殊字符也可能产生此问题。
299
-
300
- ORA-00922: 选项缺失或无效
301
-
302
- 错误原因:一般是语句的语法有问题。比如命名不对,关键字写错等等。对于非标准的命名,一般采用双引号来创建。
303
-
304
- 标识符命名规则:
305
-
306
- * 必须以字母开始。
307
- * 长度不能超过30个单字节字符。
308
- * 只能包括A-Z,a-z,0-9,_ ,$和#。
309
- * 不能在相同用户下建立两个同名的对象。
310
- * 不能使用保留字和关键字
311
-
312
- ORA-28000: 账户锁定
313
-
314
- * 使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;
315
- * 选择myjob,查看users;
316
- * 选择system,右击点击“编辑”;
317
- * 修改密码,把“帐户被锁住”的勾去掉;
318
- * 点击“应用”再点击“关闭”;
319
- * 重新登录就可以通过验证了
320
-
321
-
322
295
## ORACLE_HOME/ORACLE_SID
323
296
324
297
ORACLE_HOME 安装目录
325
298
ORACLE_SID 实例ID
326
299
一台linux机器上安装一个oracle,两个实例,分别对应两个用户。切换到对应用户时 echo $ORACLE_SID会显示各自的实例
327
300
328
- ## oracle 的修改SID
329
-
330
- 1、检查原来的数据库实例名(sid)
331
-
332
- oracle@oracle[/home/oracle]> echo $ORACLE_SID
333
- orcl
334
- oracle@oracle[/home/oracle]> sqlplus / as sysdba
335
- SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:14:49 2009
336
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
337
- Connected to:
338
- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
339
- With the Partitioning, OLAP and Data Mining options
340
- sys@ORCL> select instance from v$thread;
341
- INSTANCE
342
- --------------------------------------------------------------------------------
343
- orcl
344
-
345
- 2、关闭数据库
346
-
347
- 注意不能用shutdown abort,只能是shutdown immediate或shutdown normal
348
-
349
- sys@ORCL> shutdown immediate
350
- Database closed.
351
- Database dismounted.
352
- ORACLE instance shut down.
353
- sys@ORCL> exit
354
- Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
355
- With the Partitioning, OLAP and Data Mining options
356
-
357
- 3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为ybbe
358
-
359
- 4、修改/etc/oratab文件,将sid名由旧的修改为新的,如从orcl修改为ybbe
360
-
361
- 5、进入到$ORACLE_HOME/dbs目录,将所有文件名中包含原来的sid的修改为对应的新sid的。如我对如下文件修改为其后对应的文件
362
-
363
- hc_orcl.dat->hc_ybbe.dat
364
- lkORCL->lkYBBE
365
- orapworcl->orapwybbe
366
- snapcf_orcl.f->snapcf_cnhtm.f
367
- spfileorcl.ora->spfilecnhtm.ora
368
- cd $ORACLE_HOME/dbs
369
- orapwd file=orapwybbe password='ybbe' entries=5 force=y
370
-
371
- 可以用命令进行对上面的文件进行自动生成
372
-
373
- 6、使新修改的ORACLE_SID环境变量生效
374
-
375
- oracle@oracle[/oracle/app/10.1/dbs]> . ~/.bash_profile
376
- oracle@oracle[/oracle/app/10.1/dbs]> echo $ORACLE_SID
377
- cnhtm
378
-
379
- 7、重建口令文件
380
-
381
- 因为口令文件改名后不能在新实例中使用,所以重建
382
-
383
- oracle@oracle[/oracle/app/10.1/dbs]> orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y
384
- oracle@oracle[/oracle/app/10.1/dbs]> ls -lrt orapw*
385
- -rw-r----- 1 oracle oinstall 2048 Dec 20 11:27 orapwybbe
386
-
387
- 8、启动数据库
388
-
389
- oracle@oracle[/oracle/app/10.1/dbs]> sqlplus / as sysdba
390
- SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:29:53 2009
391
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
392
- Connected to an idle instance.
393
- idle> startup
394
- ORACLE instance started.
395
- Total System Global Area 167772160 bytes
396
- Fixed Size 1218292 bytes
397
- Variable Size 62916876 bytes
398
- Database Buffers 96468992 bytes
399
- Redo Buffers 7168000 bytes
400
- Database mounted.
401
- Database opened.
402
-
403
- 9、检查数据库实例名。通过如下语句检查数据库实例名,发现实例名已经由orcl变成ybbe
404
-
405
- select instance from v$thread;
406
- INSTANCE
407
-
408
301
## ESCAPE关键字用法
409
302
410
303
定义:escape关键字经常用于使某些特殊字符,如通配符:'%','_ '转义为它们原来的字符的意义,被定义的转义字符通常使用'\' ,但是也可以使用其他的符号。实例:
@@ -420,53 +313,6 @@ ORACLE_SID 实例ID
420
313
2.ESCAPE 'escape_character' 允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character 是放在通配符前表示此特殊用途的字符。
421
314
422
315
423
- ## Oracle中session和processes的设置
424
-
425
- * PROCESSES: http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams188.htm#sthref560
426
- * SESSIONS: http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams220.htm#sthref647
427
- * TRANSACTIONS: http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams248.htm
428
-
429
- * Oracle 11gR2之前:sessions=(1.1* processes) + 5
430
- * Oracle 11gR2之后:sessions=(1.5* porcesses) + 22
431
-
432
- 当Oracle需要启动新的process而又已经达到processes参数时,就会报错:
433
-
434
- ``` shell
435
- 00020, 00000, " maximum number of processes (%s) exceeded"
436
- // * Cause: All process state objects are in use.
437
- // * Action: Increase the value of the PROCESSES initialization parameter.
438
- ```
439
-
440
- 当数据库连接的并发用户已经达到sessions这个值时,又有新session连进来,就会报错
441
-
442
- ``` shell
443
- 00018, 00000, " maximum number of sessions exceeded"
444
- // * Cause: All session state objects are in use.
445
- // * Action: Increase the value of the SESSIONS initialization parameter.
446
- ```
447
-
448
- 如何使用sqlplus查看、修改processes呢?使用sys,以sysdba权限登录:
449
-
450
- ``` shell
451
- show parameter processes; --显示:processes integer 150
452
- show parameter sessions; --显示:sessions integer 165
453
- select count(*) from v$process ; --显示当前processes数目
454
- select count(*) from v$session ; --显示当前sessions数目
455
- alter system set processes=400 scope = spfile; --显示系统已更改
456
- show parameter processes; --显示:processes integer 150
457
- create pfile from spfile; --显示:文件已创建。
458
-
459
- --重启数据库
460
- shutdown immediate;
461
- startup
462
-
463
- --重启监听
464
- lsnrctl stop/start/status
465
-
466
- show parameter processes; --显示:processes integer 400
467
- show parameter session; --显示:sessions integer 445
468
- ` ` `
469
-
470
316
## 忘记oracle的sys用户密码怎么修改
471
317
472
318
### 忘记除SYS、SYSTEM用户之外的用户的登录密码
@@ -512,7 +358,6 @@ Oracle提供了两种验证方式,一种是OS验证,另一种密码文件验
512
358
* IBM DB2关键特性解析:DB2分区特性: http://tech.it168.com/a2012/0306/1321/000001321022_2.shtml
513
359
* db2建立schema: http://guoyanxi.iteye.com/blog/910755
514
360
515
-
516
361
# Oracle Berkeley DB
517
362
518
363
* Oracle Berkeley DB:http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html
0 commit comments