# ALTER DATABASE LINK
#### 功能描述
修改DATABASE LINK对象。
#### 注意事项
- DATABASE LINK详细说明请见《开发指南》中"特性使用指导 \> DATABASE LINK"章节。
- 当DATABASE LINK连接的数据库为GaussDB库时，目前仅支持修改DATABASE LINK对象的用户名和密码。
 
#### 语法格式
```
ALTER [PUBLIC] DATABASE LINK dblink_name
    [CONNECT TO 'user_name' IDENTIFIED BY 'password'];
```
![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002793708225.png "点击放大")
#### 参数说明
- **dblink** **_name**
  连接名称。
  
- **user** **_name**
  远程被连接数据库用户名。
  
- **password**
  远程被连接数据库用户密码。
  
- **PUBLIC**
  连接类型，未指定PUBLIC时，默认为PRIVATE。
  
 
#### 示例
```
-- 创建一个兼容性为ORA的数据。
gaussdb=#  CREATE DATABASE ora_test_db DBCOMPATIBILITY 'ORA';
CREATE DATABASE
-- 切换数据库。
gaussdb=# \c ora_test_db
-- 创建拥有系统管理员权限的用户。
ora_test_db=# CREATE USER local_user WITH SYSADMIN PASSWORD '********';
CREATE ROLE
ora_test_db=# SET ROLE local_user PASSWORD '********';
SET
-- 创建公共DBLink。
ora_test_db=> CREATE PUBLIC DATABASE LINK public_dblink CONNECT TO 'local_user' IDENTIFIED BY '********' USING (host '***.***.***.***',port '*****',dbname 'remote_db');
CREATE DATABASE LINK
-- 创建普通用户。
ora_test_db=> CREATE USER remote_user PASSWORD '********';
CREATE ROLE
-- 修改DBLink对象信息。
ora_test_db=> ALTER PUBLIC DATABASE LINK public_dblink CONNECT TO 'remote_user' IDENTIFIED BY '********';
ALTER DATABASE LINK
-- 删除公共DBLink。
ora_test_db=> DROP PUBLIC DATABASE LINK public_dblink;
DROP DATABASE LINK
-- 删除用户。
ora_test_db=> RESET ROLE;
RESET
ora_test_db=# DROP USER local_user;
DROP ROLE
ora_test_db=# DROP USER remote_user;
DROP ROLE
-- 切换回初始数据库，并删除测试数据库。请用真实的数据库名替换postgres。
ora_test_db=# \c postgres
gaussdb=# DROP DATABASE ora_test_db;
DROP DATABASE
```
#### 相关链接
[CREATE DATABASE LINK](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0244.html)，[DROP DATABASE LINK](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0295.html)
