Oracle管理工具介绍
1. SQL Developer 基础简介
Oracle SQL Developer 是一款免费的集成开发环境(IDE),支持数据库开发和管理任务,适用于 DBA 和开发者。
1.1 SQL Developer 常见用途
运行 SQL 查询和 PL/SQL 脚本。 管理数据库用户和权限。 管理数据库对象(表、视图、索引等)。 监控数据库性能。 数据迁移和备份。 数据导入/导出。
2. SQL Developer 安装和配置
下载并安装 SQL Developer:
下载地址:Oracle SQL Developer 下载页面。 https://www.oracle.com/database/sqldeveloper/technologies/download/ 解压安装包,不需要其他安装步骤(只需确保 JDK 已安装)。 连接到数据库:
打开 SQL Developer。 点击左上角 "连接" > "新建连接"。 填写连接信息: 用户名:需要有 DBA 权限的用户(如 SYS、SYSTEM 等)。 密码。 连接类型:选择 Basic 或 TNS。 主机名、端口、服务名:填入数据库实例相关信息。 测试连接后,点击 "连接"。 配置环境:
调整字体、主题、格式化规则(工具 > 首选项 > 外观/代码编辑器)。
3. SQL Developer 中的 DBA 日常操作
以下说明了如何在 SQL Developer 中完成 DBA 的常见管理任务。默认前提是你已连接到数据库,并具有 DBA 权限。启用DBA窗口如下图
3.1 用户管理
用户管理是 DBA 的常规任务,包括创建用户、分配权限等。 先介绍如何在DBA窗口中加DBA连接,指向具体的QAS DB
3.1.1 创建用户
在左侧 "DBA" 视图中,展开 "Security(安全性)" > "Users(用户)"。 右键点击 "Users" > "Create User(创建用户)"。 填写用户信息: 用户名:新用户名称。 密码:设置用户密码。 默认表空间:为用户分配表空间(如 USERS)。 临时表空间:临时存储使用(如 TEMP)。 点击 "OK" 完成。
CREATE USER my_user IDENTIFIED BY my_password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; GRANT CONNECT, RESOURCE TO my_user;
3.1.2 修改用户
在左侧 "DBA" 视图中,展开 "Security" > "Users"。 右键点击目标用户,选择 "Edit User(编辑用户)"。 你可以调整密码、表空间或锁定用户。 命令方式:
ALTER USER my_user IDENTIFIED BY new_password; ALTER USER my_user ACCOUNT LOCK; -- 锁定账户
3.1.3 分配用户权限
权限包括系统权限和对象权限。
在 "DBA" 视图中右键用户,选择 "Grant(授权)"。 系统权限:如 CREATE TABLE、CREATE SESSION。 对象权限:如表的 CRUD 权限。 脚本方式:
GRANT CREATE SESSION, CREATE TABLE TO my_user; -- 授予系统权限 GRANT SELECT, INSERT ON employees TO my_user; -- 授予对象权限
直接分配ROLE, 图形化操作方式如下:
如无ROLE直接分配权限, 图形化操作方式如下:
指定表空间,操作如下:
3.2 表空间管理
表空间是数据库存储的逻辑单位。
3.2.1 创建表空间
在 "DBA" 视图中,展开 "Storage(存储)" > "Tablespaces(表空间)"。 右键 "Tablespaces" > "Create Tablespace"。 配置: 名称:表空间名称。 数据文件路径(文件存放的位置)。 大小策略:固定大小或自动增长。 点击 "OK"。
命令方式(自动扩展):
CREATE TABLESPACE my_tablespace DATAFILE 'C:\app\oracle\oradata\my_tablespace01.dbf' SIZE 50M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
图形化的操作如下:(非自动扩展)
3.2.2 检查表空间状态
在 DBA 工具中展开 "Tablespaces" 可以查看表空间的使用情况和状态。
在 DBA 工具中展开 "Tablespaces" > "Datafiles",可以查看表空间的使用情况和object。
脚本方式:
SELECT TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 AS SIZE_MB FROM DBA_DATA_FILES;
3.2.3 修改表空间
修改表空间文件的大小: 右键目标表空间,选择 "Edit(编辑)",然后调整文件大小。 命令方式:
ALTER DATABASE DATAFILE 'C:...\my_tablespace01.dbf' RESIZE 100M; 3.3 性能监控 SQL Developer 提供了内置的工具来帮助监gi控数据库性能。
3.3.1 会话管理
在 “工具”中找到“监视会话” 你可以查看活动会话,查询其运行的 SQL 语句,以及终止阻塞会话。 右键会话,选择 "Kill Session(终止会话)"。图形化操作如下:
脚本方式:
SELECT SID, SERIAL#, STATUS, USERNAME, MACHINE FROM V$SESSION; ALTER SYSTEM KILL SESSION 'sid,serial#';
3.3.2 性能报告
在探针 "Performance"->快照下,获取实时数据库性能statspack 报告列表:
使用 报告,ASH->AWR, 上次AWR报告可看最近的STATSPACK的内容。
通过报告,OLAP报告,通过性能系统,可以查看各种情能报告
3.4 数据导入和导出 SQL Developer 提供 GUI 工具简化数据传输。
3.4.1 导出数据
导出表: 右键表名 > "Export(导出)"。 选择格式(如 CSV, XML, SQL Insert)。 使用 Data Pump 工具: 连接到数据库,导航至 "DBA" > 数据库 "Data Pump Export & Import(数据泵导出与导入)"。 命令方式(expdp/impdp):
expdp system/password DIRECTORY=dp_dir DUMPFILE=my_data.dmp SCHEMAS=my_schema impdp system/password DIRECTORY=dp_dir DUMPFILE=my_data.dmp SCHEMAS=my_schema
3.5 备份与恢复
3.5.1 使用 Export/Import
确保有设定DATA PUMP 目录,并且在OS上可以打开, 并且权限有给PUBLIC,命令如下: SELECT DIRECTORY_NAME, DIRECTORY_PATH FROM ALL_DIRECTORIES WHERE DIRECTORY_NAME = 'DATA_PUMP_DIR';
确保用户有权限做导出导入,命令如下: SELECT GRANTEE, PRIVILEGE FROM DBA_TAB_PRIVS WHERE TABLE_NAME = 'DATA_PUMP_DIR';
以下代表全部用户都有导出导入权限 GRANTEE PRIVILEGE
PUBLIC READ PUBLIC WRITE
导出所有数据时,右键 "DBA" > "数据泵" > 导出作业。 标准版本不建议启用压缩,不建议带时间戳,要不IMP,会失败。 将数据保存为 .dmp 文件,支持导入恢复。
导出后会生成相应的日志和在表中记录。
导入所有数据时,右键 "DBA" > "数据泵" > 导入作业。 标准版本不建议启用压缩,不建议带时间戳,要不IMP,会失败。 将数据保存为 .dmp 文件,支持导入恢复。
3.5 DBLINK Setup
在Oracle数据库中,DBLINK(数据库链接)是一种可以用来跨数据库执行查询和操作的工具。作为DBA,使用Oracle SQL Developer创建和管理DBLINK非常简单方便。以下是创建数据库链接的具体指导步骤。
方法一:使用 Oracle SQL Developer 图形界面 SQL Developer 提供了一个直观的 GUI 来创建数据库链接。
打开数据库连接:
启动 SQL Developer 并连接到你的源数据库。 在左侧“Connections”窗口中找到你的数据库连接,右键点击并选择“Connect”。 打开 Database Link 创建窗口:
在 SQL Developer 的工具栏中,点击“数据库名称”旁的 [+] 号展开。 找到 "Database Link" 子目录。 右键点击 "Database Link",选择 "Create Database Link"。 填写 Database Link 信息:
Database Link Name: 填入要创建的链接名称,例如 MY_DBLINK。 Shared/Public(可选): 勾选Public,如果要创建公共链接。 否则,默认是私有DBLINK。 Host/IP: 填写目标数据库的主机地址或IP。 Port Number: 填写目标数据库的监听端口号,默认值是1521。 Service Name / SID: 根据你的目标数据库,填写服务名(Service Name)或 SID。 认证信息:
User Name: 填写目标数据库的用户名。 Password: 填写目标数据库用户的密码。
测试和完成:
点击 GUI 窗口中的 “Test Connection”(测试连接)按钮,确保数据库连接成功。 测试成功后,点击 “OK” 完成链接创建。
方法二:使用 SQL 语句创建 DBLINK 你也可以直接使用 SQL 语句来创建数据库链接。
- 创建私有数据库链接 这是为当前用户创建的DBLINK,其它用户无法访问。
CREATE DATABASE LINK MY_DBLINK CONNECT TO TARGET_USER IDENTIFIED BY TARGET_PASSWORD USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = target_host)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = target_service_name) ) )'; 参数说明: MY_DBLINK: 自定义数据库链接名称。 TARGET_USER: 目标数据库的用户名。 TARGET_PASSWORD: 目标数据库用户的密码。 target_host: 目标数据库的主机地址或IP。 1521: 目标数据库的监听端口。 target_service_name: 目标数据库的服务名,可以通过tnsnames.ora或DBA提供的信息获取。 样例: 假设目标数据库的服务名是 ORCL, 主机名是 192.168.1.100,端口号是 1521,目标用户为 HR,密码为 hrpwd,我们可以使用以下语句:
CREATE DATABASE LINK MY_REMOTE_DB CONNECT TO HR IDENTIFIED BY hrpwd USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = ORCL) ) )'; 2. 创建公共数据库链接 如果需要创建公共的 DBLINK,供所有用户使用,可以在有 DBA 权限的情况下使用以下命令:
CREATE PUBLIC DATABASE LINK MY_PUBLIC_DBLINK CONNECT TO TARGET_USER IDENTIFIED BY TARGET_PASSWORD USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = target_host)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = target_service_name) ) )'; 三、验证 DBLINK 创建好数据库链接后,可以通过以下语句验证是否创建成功并测试链接的可用性:
查找已创建的数据库链接: 查看当前用户可用的数据库链接:
SELECT * FROM USER_DB_LINKS; 查看所有的数据库链接(需要DBA权限):
SELECT * FROM DBA_DB_LINKS; 测试 DBLINK: 使用创建的 DBLINK 登录远程数据库并运行查询:
SELECT * FROM dual@MY_DBLINK; 如果运行成功,则表示链接可用。
四、删除 DBLINK 如果你需要删除一个数据库链接,可以通过以下命令完成:
删除私有数据库链接:
DROP DATABASE LINK MY_DBLINK; 删除公共数据库链接(需要 DBA 权限):
DROP PUBLIC DATABASE LINK MY_PUBLIC_DBLINK;


































