当前位置:   article > 正文

oracle进阶过程,oracle 进阶

oracle进阶过程,oracle 进阶

准备从零开始学习oracle

我说过2016年坚持每周写一篇技术博客。那么从现在开始。

今天遇到一个弱爆了的问题:

前几天换了一台笔记本,在新笔记本上面安装了oracle 11g R2。使用dbca安装完数据库没有报错,就关电脑睡觉了,今天想着开始学习oracle,实现OCP进阶,结果刚开始就犯了一个低级错误。

我登陆服务器,1

2[root@oracle ~]# su - oracle

[oracle@oracle ~]$

切换到oracle用户之后,启动数据库

[1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18oracle@oracle ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 1月 11 19:58:132016

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  839282688 bytes

Fixed Size                  2217992 bytes

Variable Size             494929912 bytes

Database Buffers          339738624 bytes

Redo Buffers                2396160 bytes

数据库装载完毕。

数据库已经打开。

之后查看1521端口状态1

2[oracle@oracle ~]$ netstat -nat | grep 1521

[oracle@oracle ~]$

奇怪,1521端口没监听。想了半天定位是监听没起来,于是启动监听1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29[oracle@oracle ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 -Production on 11-1月 -2016 20:43:10

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

启动/u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: 请稍候...

TNSLSNR for Linux: Version 11.2.0.1.0 -Production

系统参数文件为/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

写入/u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml的日志信息

监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))

LISTENER 的 STATUS

------------------------

别名                      LISTENER

版本                      TNSLSNRfor Linux: Version 11.2.0.1.0 - Production

启动日期                  11-1月 -201620:43:10

正常运行时间              0 天 0 小时 0 分 20 秒

跟踪级别                  off

安全性                    ON: LocalOS Authentication

SNMP                      OFF

监听程序参数文件          /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

监听程序日志文件         /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml

监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))

监听程序不支持服务

命令执行成功

重新查看端口状态:

1

2

3oracle@oracle ~]$ netstat -nat | grep 1521

tcp       0      0 172.20.0.20:64165           172.20.0.20:1521            TIME_WAIT

tcp       0      0 :::1521                     :::*                        LISTEN

好了,端口启动起来了,由于我是学习oracle,肯定要查看当前数据库有哪些用户:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51SQL> select username fromall_users;

USERNAME

------------------------------

BI

PM

SH

IX

OE

HR

SCOTT

OWBSYS_AUDIT

OWBSYS

APEX_030200

APEX_PUBLIC_USER

USERNAME

------------------------------

FLOWS_FILES

MGMT_VIEW

SYSMAN

SPATIAL_CSW_ADMIN_USR

SPATIAL_WFS_ADMIN_USR

MDDATA

MDSYS

SI_INFORMTN_SCHEMA

ORDPLUGINS

ORDDATA

ORDSYS

USERNAME

------------------------------

OLAPSYS

ANONYMOUS

XDB

CTXSYS

EXFSYS

XS$NULL

WMSYS

APPQOSSYS

DBSNMP

ORACLE_OCM

DIP

USERNAME

------------------------------

OUTLN

SYSTEM

SYS

已选择36行。

于是切换到普通用户,想要学习一些对数据库表的基本增删改查,问题来了

1

2

3

4

5

6

7

8

9

10

11

12

13

14SQL> alter user scott identified by"123456";

用户已更改。

SQL> conn scott/scott

ERROR:

ORA-28000: 帐户已被锁定

警告: 您不再连接到 ORACLE。

SQL> alter user scott account unlock;

SP2-0640: 未连接

SQL> exit

奇怪,为什么一直报这个错呢?我已经解锁并且重置了密码呀,而且后面不管我执行什么样的命令都报SP2-0640: 未连接

数据库重启问题依然存在,怀疑自己的实例是不是创建的有问题,从日志排查吧,看看日志里面有没有报错,奇怪的是,当我切换到ORACLE_HOME目录下想要查看日志时,报错出现了

1

2

3

4

5

6

7

8

9

10

11

12

13

14[oracle@oracle db_1]$ cd network/admin/

[oracle@oracle admin]$ ls

listener.ora  samples shrept.lst

[oracle@oracle admin]$ cd ../

[oracle@oracle network]$ ls

admin doc  install  jlib lib  log  mesg tools  trace

[oracle@oracle network]$ cd trace/

[oracle@oracle trace]$ ls

[oracle@oracle trace]$ cd ../log/

[oracle@oracle log]$ ls

sqlnet.log

[oracle@oracle log]$ less sqlnet.log

Directory does not exist for read/write[/u01/app/oracle/product/11.2.0/db_1/log]

[/u01/app/oracle/product/11.2.0/db_1/log/diag/clients]

问题原因找到了,原来是目录不存在,奇怪,按理说安装数据库的时候这些目录应该自动创建的,先不管了,手动创建这些目录。

1

2

3

4

5

6

7

8

9

10

11

12

13[oracle@oraclelog]$ pwd

/u01/app/oracle/product/11.2.0/db_1/network/log

[oracle@oracle log]$ cd ../log/

[oracle@oracle log]$ ls

sqlnet.log

[oracle@oracle log]$ mkdir diag

[oracle@oracle log]$ ls

diag sqlnet.log

[oracle@oracle log]$ cd diag/

[oracle@oracle diag]$ ls

[oracle@oracle diag]$ mkdir client

[oracle@oracle diag]$ ls

client

重启数据库

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15[oracle@oracle ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 1月 11 20:51:212016

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

连接到:

Oracle Database 11g Enterprise EditionRelease 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Miningand Real Application Testing options

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

为了保险起见,先将数据库启动到mount状态,(实际这里应该是先启动到nomount状态,再启动到mount状态,之后再打开数据库,手抖打错了,将错就错吧)1

2

3

4

5

6

7

8

9

10

11

12SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area  839282688 bytes

Fixed Size                  2217992 bytes

Variable Size             494929912 bytes

Database Buffers          339738624 bytes

Redo Buffers                2396160 bytes

数据库装载完毕。

SQL> alter database open;

数据库已更改。

之前登陆失败,用户已经被锁住,解锁用户并重置密码为tiger1

2

3

4

5

6

7

8

9

10

11

12

13

14

15SQL> alter user scott account unlockidentified by tiger;

用户已更改。

SQL> alter user scott account unlock;

用户已更改。

SQL> conn scott/tiger;

已连接。

查看当前用户:

SQL> show user;

USER 为 "SCOTT"

查看当前用户下有哪些表:1

2

3

4

5

6

7

8

9

10SQL> select TABLE_NAME from user_tables;

TABLE_NAME

------------------------------

SALGRADE

BONUS

EMP

DEPT

SQL>

问题解决。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/896440
推荐阅读
相关标签
  

闽ICP备14008679号