Oracle11g命令行修改时区

检查时区

SQL> SELECT DBTIMEZONE FROM DUAL;

DBTIME
------
+00:00

尝试更改时区

SQL> alter database set time_zone='+8:00';
alter database set time_zone='+8:00'
*
ERROR at line 1:
ORA-30079: cannot alter database timezone when database has TIMESTAMP WITH
LOCAL TIME ZONE columns

查看TIMESTAMP WITH LOCAL TIME ZONE字段的表

SQL> select u.name || '.' || o.name || '.' || c.name TSLTZcolumn from sys.obj$ o, sys.col$ c, sys.user$ u where c.type# = 231 and o.obj# = c.obj# and u.user# = o.owner#;

TSLTZCOLUMN
--------------------------------------------------------------------------------
OE.ORDERS.ORDER_DATE

查看表结构

SQL> desc oe.orders;
 Name					   Null?    Type
 ----------------------------------------- -------- ----------------------------
 ORDER_ID				   NOT NULL NUMBER(12)
 ORDER_DATE				   NOT NULL TIMESTAMP(6) WITH LOCAL TIME
						     ZONE
 ORDER_MODE					    VARCHAR2(8)
 CUSTOMER_ID				   NOT NULL NUMBER(6)
 ORDER_STATUS					    NUMBER(2)
 ORDER_TOTAL					    NUMBER(8,2)
 SALES_REP_ID					    NUMBER(6)
 PROMOTION_ID					    NUMBER(6)

这里发现需要调整ORDER_DATE字段的类型

修改表字段语句(尽可能保留原有字段)

# 新增临时字段
ALTER TABLE OE.ORDERS ADD TMP_COL TIMESTAMP(6);
# 复制原字段内容到临时字段
UPDATE OE.ORDERS SET TMP_COL = ORDER_DATE;
# 删掉原字段
ALTER TABLE OE.ORDERS DROP COLUMN ORDER_DATE;
# 新增新字段并调整类型
ALTER TABLE OE.ORDERS ADD ORDER_DATE TIMESTAMP(6);
# 复制临时字段内容到新字段
UPDATE OE.ORDERS SET ORDER_DATE = TMP_COL;
# 删掉临时字段
ALTER TABLE OE.ORDERS DROP COLUMN TMP_COL;
# 将新字段内容设置为NOT NULL与原字段保持一致
ALTER TABLE OE.ORDERS modify ORDER_DATE TIMESTAMP(6) NOT NULL;

修改时区

SQL> ALTER DATABASE SET TIME_ZONE='+8:00';

Database altered.

SQL> ALTER DATABASE SET TIME_ZONE='Asia/Shanghai';

Database altered.

关闭数据库

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

启动数据库

SQL> startup;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size		    2213776 bytes
Variable Size		  402655344 bytes
Database Buffers	 1191182336 bytes
Redo Buffers		    7360512 bytes
Database mounted.
Database opened.

查看时区

SQL> SELECT DBTIMEZONE FROM DUAL;

DBTIME
------
+08:00

SQL> SELECT DBTIMEZONE FROM DUAL;

DBTIME
------
Asia/Shanghai
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Linux命令行中安装Oracle 11g数据库,可以按照以下步骤进行操作: 1. 下载Oracle 11g安装文件: 访问Oracle官方网站(https://www.oracle.com)并登录您的Oracle账户。 在下载页面中,选择适合您操作系统的版本(如Linux x86-64)和Oracle 11g数据库版本。 点击下载按钮,选择合适的下载选项,如Linux x86-64位的安装文件(zip或tar.gz格式)。 2. 解压安装文件: 打开命令行终端,导航到您下载的Oracle 11g安装文件所在的目录。 使用以下命令解压缩安装文件: ``` unzip <安装文件名.zip> ``` 或 ``` tar -zxvf <安装文件名.tar.gz> ``` 3. 安装依赖软件包: 在命令行终端中,使用以下命令安装Oracle 11g所需的依赖软件包: ``` sudo apt-get install alien binutils gcc glibc-devel libaio-devel libXext libXtst libX11 libXau libxcb libXi ``` 4. 创建安装目录: 使用以下命令创建Oracle数据库的安装目录: ``` sudo mkdir -p /opt/oracle ``` 5. 执行安装程序: 导航到解压缩后的Oracle 11g安装文件目录,并执行安装程序: ``` cd <解压缩目录> sudo ./runInstaller ``` 这将启动Oracle Universal Installer(OUI)界面。 6. OUI界面配置: 在OUI界面中,按照提示进行配置,包括选择安装类型、指定安装路径、设置管理员密码等。 确保选择正确的Oracle 11g版本和安装类型,根据您的需求进行选择。 完成配置后,点击"Install"按钮开始安装。 7. 执行root脚本: 安装完成后,根据OUI的提示,在命令行终端中执行所需的root脚本。例如: ``` sudo /opt/oracle/app/oraInventory/orainstRoot.sh sudo /opt/oracle/app/product/11.2.0/dbhome_1/root.sh ``` 8. 配置环境变量: 打开终端配置文件(如~/.bashrc)并添加以下行来设置Oracle环境变量: ``` export ORACLE_HOME=/opt/oracle/app/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH ``` 9. 重新加载终端配置文件: 使用以下命令使终端加载更新后的配置文件: ``` source ~/.bashrc ``` 10. 完成安装: 在命令行终端中,使用以下命令启动Oracle数据库实例: ``` sqlplus / as sysdba ``` 请注意,在执行上述步骤时,确保您具有足够的权限,并参考Oracle官方文档或向Oracle支持团队寻求帮助,以确保正确并顺利地完成安装过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值