菜鸟科技网

linux sybase 命令

连接信息

在执行任何命令之前,您需要准备好以下信息:

linux sybase 命令-图1
(图片来源网络,侵删)
  • DSN (数据源名称)服务器名my_server
  • 用户名sa
  • 密码:对应用户的密码。
  • 端口号:Syase 默认端口是 4100,但可能被修改。
  • 数据库名 (可选,如果未在连接字符串中指定)。

核心连接工具:isql

isql 是 Sybase 提供的命令行交互式 SQL 工具,是所有操作的基础。

基本连接语法

isql -S <服务器名> -U <用户名> -P <密码> -D <数据库名> -p <端口号> -w <输出宽度>

参数说明:

  • -S: Sybase 服务器名称。
  • -U: 登录用户名。
  • -P: 登录密码。注意:在命令行中直接写 -P password 会在 ps 命令中看到明文密码,存在安全风险,更安全的方式是直接运行 isql -S ... -U ...,然后它会提示您输入密码。
  • -D: 默认连接的数据库。
  • -p: 服务器端口号。
  • -w: 设置输出行的宽度,默认为 80,建议设置为 132 或更大,以避免表格错位。
  • -J: 设置字符集,-J iso_1,如果出现乱码,可能需要调整此参数。
  • -b: 出错时返回非零状态码,适合用在脚本中。

示例:

# 安全的连接方式(推荐)
isql -S my_sybase_server -U sa -D master -p 4100 -w 132
# 不安全的连接方式(脚本中应避免)
isql -S my_sybase_server -U sa -P my_secret_password -D master -p 4100 -w 132

连接成功后,您会看到 1> 提示符,在这里可以输入 SQL 命令。

linux sybase 命令-图2
(图片来源网络,侵删)

常用 Sybase T-SQL 命令 (在 isql 中使用)

以下命令需要在 isql1> 提示符下输入,并以 go 结尾来执行。

1 数据库管理

  • 查看所有数据库:

    1> select name from sysdatabases;
    2> go
  • 创建数据库:

    1> create database my_new_db
    2> on primary (name = 'my_new_db_data', filename = '/sybase/data/my_new_db_data.dat')
    3> log on (name = 'my_new_db_log', filename = '/sybase/log/my_new_db_log.log')
    4> size = 10MB;
    5> go

    注意: filename 的路径必须是服务器上存在的、且 Syase 运行用户有权限写入的目录。

    linux sybase 命令-图3
    (图片来源网络,侵删)
  • 删除数据库:

    1> drop database my_old_db;
    2> go
  • 切换当前数据库:

    1> use my_new_db;
    2> go

2 表管理

  • 查看当前数据库下的所有表:

    1> select name from sysobjects where type = 'U';
    2> go
  • 创建表:

    1> create table employees (
    2>     id int not null primary key,
    3>     name varchar(50) not null,
    4>     hire_date datetime default getdate()
    5> );
    6> go
  • 删除表:

    1> drop table employees;
    2> go

3 数据操作

  • 插入数据:

    1> insert into employees (id, name) values (1, 'Alice');
    2> go
  • 查询数据:

    1> select * from employees;
    2> go
  • 更新数据:

    1> update employees set name = 'Bob' where id = 1;
    2> go
  • 删除数据:

    1> delete from employees where id = 1;
    2> go

4 用户和权限管理

  • 创建登录用户:

    1> sp_addlogin 'app_user', 'strong_password';
    2> go
  • 将用户映射到数据库:

    1> use my_new_db;
    2> go
    1> sp_grantdbaccess 'app_user';
    2> go
  • 授予权限:

    1> grant select, insert on employees to app_user;
    2> go
  • 撤销权限:

    1> revoke select on employees from app_user;
    2> go

常用 Linux 系统级管理命令

这些命令在 Linux 终端中直接运行,用于管理 Sybase 服务本身。

1 服务启停

Sybase ASE 在 Linux 上通常作为服务运行,使用 runserver 脚本。

  • 启动 Sybase ASE 服务:

    # 进入 Sybase 安装目录的 ASE-15_0/bin (或类似目录)
    cd /sybase/ASE-15_0/bin
    # 启动服务器
    ./runserver -S my_sybase_server -d /sybase/data/master.dat

    -d 参数指定主设备文件路径。

  • 停止 Sybase ASE 服务:

    # 使用 isql 连接并执行 shutdown 命令(推荐方式)
    isql -S my_sybase_server -U sa -P <password> -p 4100 -w 132
    1> shutdown;
    2> go

    这会优雅地停止数据库,也可以使用 kill 命令强制终止进程,但可能导致数据损坏,不推荐

  • 检查服务状态:

    # 查看进程是否在运行
    ps -ef | grep -i sybase
    # 查看 Sybase 网络端口是否监听
    netstat -tuln | grep 4100

2 备份与恢复

备份和恢复通常通过 isql 执行存储过程来完成。

  • 创建全量备份:

    1> use master;
    2> go
    1> dump database my_new_db to "/sybase/backups/my_new_db_backup.dat";
    2> go
  • 创建事务日志备份:

    1> dump transaction my_new_db to "/sybase/backups/my_new_db_log_backup.dat";
    2> go
  • 恢复数据库:

    1> use master;
    2> go
    1> load database my_new_db from "/sybase/backups/my_new_db_backup.dat";
    2> go
    1> load transaction my_new_db from "/sybase/backups/my_new_db_log_backup.dat";
    2> go
    1> online database my_new_db;
    2> go

    注意: 恢复过程非常严格,必须按照正确的顺序(load database -> load transaction -> online database)执行,并且数据库通常需要处于单用户模式。


高级脚本化操作

对于自动化任务,可以将 SQL 命令写入一个文件,然后让 isql 执行它。

步骤 1: 创建 SQL 脚本文件 (e.g., check_db_size.sql)

use my_new_db;
go
select name, size/512.0 as 'Size (MB)' from sysusages;
go

步骤 2: 执行脚本文件

isql -S my_sybase_server -U sa -P <password> -p 4100 -w 132 -i check_db_size.sql

-i 参数指定输入脚本文件。isql 会将执行结果直接输出到终端。


总结与最佳实践

  1. 使用 isqlisql 是你与 Sybase ASE 交互的核心工具。
  2. 安全第一:避免在命令行中使用 -P 传递密码,优先使用交互式输入。
  3. 熟悉 go:所有 SQL 命令块都以 go
  4. 善用脚本:对于重复性任务,将 SQL 写入文件并用 -i 参数执行,效率更高。
  5. 官方文档:Sybase 的官方文档是最高权威,遇到复杂问题(如备份恢复、高可用配置)时务必查阅。

希望这份详细的命令列表对您有所帮助!

分享:
扫描分享到社交APP
上一篇
下一篇