Oracle 23ai FREE 相关学习记录

Oracle 23ai FREE 命令

Oracle 23ai FREE默认只能有一个数据库FREE,Oracle的用户和SqlServe的多个数据库实例相互对应,oracle每个用户管理自己的表,sqlserver使用数据库实例管理自己的表。

SHOW PARAMETER spfile;确定当前使用的参数文件

SHUTDOWN IMMEDIATE;关闭数据库

STARTUP;开启数据库

检查时间戳格式

1
2
SHOW PARAMETER nls_timestamp_format;
SHOW PARAMETER nls_timestamp_tz_format;

SELECT name, value FROM v$spparameter WHERE name LIKE 'nls%';来查询 spfile 中的当前设置(系统级),结果如下:

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
SQL> SELECT name, value FROM v$spparameter WHERE name LIKE 'nls%';

NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
nls_language
SIMPLIFIED CHINESE

nls_territory
CHINA

nls_sort



NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
nls_date_language


nls_date_format
YYYY-MM-DD HH24:MI:SS

nls_currency



NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
nls_numeric_characters


nls_iso_currency


nls_calendar



NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
nls_time_format


nls_timestamp_format
YYYY-MM-DD HH24:MI:SS.FF

nls_time_tz_format



NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
nls_timestamp_tz_format
YYYY-MM-DD HH24:MI:SS.FF TZR

nls_dual_currency


nls_comp



NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
nls_length_semantics


nls_nchar_conv_excp



已选择 17 行。

Oracle参数级别 系统级 数据库级() 会话级

在Oracle数据库中,参数级别指的是不同级别上设置的配置参数,它们控制数据库实例的行为和性能。参数的级别划分为以下几种:

  1. 实例级别(Instance-level Parameters)
    • 影响整个数据库实例的配置参数。这些参数通常在数据库启动时设置,且会影响整个数据库实例的内存分配、连接限制、后台进程等。
    • 例如:db_cache_size, shared_pool_size, sga_target, pga_aggregate_target 等。
    • 修改这些参数通常需要通过 spfile.ora 文件或 ALTER SYSTEM 命令,并且这些修改会在数据库实例启动时生效。
  2. 系统级别(System-level Parameters)
    • 系统级别的参数控制数据库系统的配置,影响数据库的整体操作和行为。这些参数包括实例级别的设置,并且一般通过 ALTER SYSTEM 命令来修改。
    • 例如:processes, undo_tablespace, log_buffer, db_block_size 等。
    • 如果使用 spfile.ora 来管理系统级参数,修改时通常需要通过 ALTER SYSTEM 命令,修改的参数会保存在 spfile.ora 文件中,确保在数据库下次启动时生效。
  3. 会话级别(Session-level Parameters)
    • 只影响当前用户会话的参数。这些参数可以在会话中动态调整,而不影响其他会话。
    • 例如:NLS_LANGUAGE, NLS_DATE_FORMAT, cursor_sharing, optimizer_mode 等。
    • 这些设置通常通过 ALTER SESSION 命令进行调整,仅对当前会话有效。
    • 使用示例:ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
  4. 自动化(Automatic)参数
    • 由Oracle自动管理的参数,主要与内存管理和性能调优相关。例如,Oracle会根据负载自动调整内存分配。
    • 例如:sga_target, pga_aggregate_target 等。
    • 这些参数允许数据库自动优化系统性能,而不需要手动干预。

设置参数的常用命令:

  • 查看当前参数值

    1
    SHOW PARAMETER <parameter_name>;
  • 修改实例级别或系统级别参数

    1
    2
    ALTER SYSTEM SET <parameter_name> = <value> SCOPE=BOTH;
    ALTER SYSTEM SET <parameter_name> = <value> SCOPE=SPFILE;
    • SCOPE=BOTH:表示立即生效并保存在 spfile.ora 中。
    • SCOPE=SPFILE:表示只在下次数据库启动时生效,修改会保存到 spfile.ora 中。
  • 修改会话级别参数

    1
    ALTER SESSION SET <parameter_name> = <value>;

总结:

在Oracle数据库中,参数级别分为 实例级别系统级别会话级别自动化 四个层次。每个层级的参数控制不同范围的行为,DBA可以根据需要进行设置和调整。spfile.ora 文件通常用于系统级别的配置,并确保在数据库重启时生效。

Oracle重启命令

在 Oracle 数据库中,重启数据库的过程分为三个步骤:关闭数据库(SHUTDOWN)、启动数据库到挂载状态(STARTUP MOUNT),然后再打开数据库(ALTER DATABASE OPEN)。以下是详细步骤和常用的命令:

1. 关闭数据库

1
SHUTDOWN IMMEDIATE;
  • IMMEDIATE:立即关闭,正在进行的事务会被回滚。
  • NORMAL:正常关闭,所有用户会话正常结束。
  • TRANSACTIONAL:等待所有当前事务结束后关闭。
  • ABORT:强制关闭,不推荐,因为可能导致数据库不一致。

2. 启动数据库

1
STARTUP;

或者更细致的启动方式:

  • 启动到挂载状态(通常用于备份或其他维护操作):

    1
    STARTUP MOUNT;
  • 启动到打开状态(正常启动):

    1
    ALTER DATABASE OPEN;

一次性启动到完全开放状态:

1
STARTUP;

3. 检查数据库状态

可以通过以下命令查看当前数据库状态:

1
SELECT STATUS FROM V$INSTANCE;

在命令行使用

如果你在操作系统的命令行使用 sqlplus 连接到数据库:

1
sqlplus / as sysdba

然后输入上述 SQL 命令来重启数据库。

请注意,在进行数据库重启之前,确保所有必要的数据都已保存和备份。

Oracle 监听

lsnrctl status查看监听状态

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
LSNRCTL for 64-bit Windows: Version 23.0.0.0.0 - Production on 10-1月 -2025 11:21:45

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=LAPTOP-G1N2IVGA.mshome.net)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 23.0.0.0.0 - Production
启动日期 09-1月 -2025 15:41:23
正常运行时间 0 天 19 小时 40 分 24 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
默认服务 FREE
监听程序参数文件 C:\app\KamenRider\product\23ai\dbhomeFree\network\admin\listener.ora
监听程序日志文件 C:\app\KamenRider\product\23ai\diag\tnslsnr\LAPTOP-G1N2IVGA\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LAPTOP-G1N2IVGA)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
服务摘要..
服务 "5a464c6d0bc84a1c86e714fa64abf912" 包含 1 个实例。
实例 "free", 状态 READY, 包含此服务的 2 个处理程序...
服务 "FREE" 包含 1 个实例。
实例 "free", 状态 READY, 包含此服务的 2 个处理程序...
服务 "FREEXDB" 包含 1 个实例。
实例 "free", 状态 READY, 包含此服务的 1 个处理程序...
服务 "freepdb1" 包含 1 个实例。
实例 "free", 状态 READY, 包含此服务的 2 个处理程序...
命令执行成功

lsnrctl start开启监听

lsnrctl stop停止监听

如果监听无法启动,可以尝试修改listener.ora,将连接名改为127.0.0.1.

Oracle登录

sqlplus sys/wyd048062.. as sysdba

sqlplus C##_WYD/084062

作者

神明大人

发布于

2025-03-09

更新于

2025-03-09

许可协议