dba_registry 和 v$option 与 Oracle 特新及组件

. 先看官网对这2个视图的说明

1.1 V$OPTION

This view lists database options and features. Typically, although not always, options must be separately purchased and installed, whereas features come with the product and are enabled based on the product that is running (Standard Edition, Enterprise Edition, or Personal Oracle). If you want to see a list of all installed options for the database, use the DBA_REGISTRY view. See "DBA_REGISTRY".

Column

Datatype

Description

PARAMETER

VARCHAR2(64)

Name of the option (or feature)

VALUE

VARCHAR2(64)

TRUE if the option (or feature) is installed

1.2 DBA_REGISTRY

DBA_REGISTRY displays information about the components loaded into the database.

Related View

USER_REGISTRY displays information about the components loaded into the database that are owned by the current user.

Column

Datatype

NULL

Description

COMP_ID

VARCHAR2(30)

NOT NULL

Component identifier

COMP_NAME

VARCHAR2(255)

Component name

VERSION

VARCHAR2(30)

Component version loaded

STATUS

VARCHAR2(11)

Component status:

· INVALID

· VALID

· LOADING

· LOADED

· UPGRADING

· UPGRADED

· DOWNGRADING

· DOWNGRADED

· REMOVING

· REMOVED

MODIFIED

VARCHAR2(20)

Time when the component was last modified

NAMESPACE

VARCHAR2(30)

NOT NULL

Component namespace

CONTROL

VARCHAR2(30)

NOT NULL

User that created the component entry

SCHEMA

VARCHAR2(30)

NOT NULL

User that contains the objects for the component

PROCEDURE

VARCHAR2(61)

Validation procedure

STARTUP

VARCHAR2(8)

Indicates whether the component requires a startup after the upgrade (REQUIRED) or not

PARENT_ID

VARCHAR2(30)

Parent component identifier

. 说明

通过上面的2个说明,可以看出:

1v$option 视图显示的DB 所有的选项或者特性。 这些特性需要单独的购买和安装。

2dba_registry 视图显示的是已经安装的组件。并且该视图的信息也比v$option 详细。

SQL> select * from v$option;

PARAMETER VALUE

---------------------------------------- ---------------------------------------

Partitioning TRUE

Objects TRUE

Real Application Clusters FALSE

Advanced replication TRUE

Bit-mapped indexes TRUE

Connection multiplexing TRUE

Connection pooling TRUE

Database queuing TRUE

Incremental backup and recovery TRUE

Instead-of triggers TRUE

Parallel backup and recovery TRUE

PARAMETER VALUE

---------------------------------------- ---------------------------------------

Parallel execution TRUE

Parallel load TRUE

Point-in-time tablespace recovery TRUE

Fine-grained access control TRUE

Proxy authentication/authorization TRUE

Change Data Capture TRUE

Plan Stability TRUE

Online Index Build TRUE

Coalesce Index TRUE

Managed Standby TRUE

Materialized view rewrite TRUE

PARAMETER VALUE

---------------------------------------- ---------------------------------------

Materialized view warehouse refresh TRUE

Database resource manager TRUE

Spatial TRUE

Visual Information Retrieval TRUE

Export transportable tablespaces TRUE

Transparent Application Failover TRUE

Fast-Start Fault Recovery TRUE

Sample Scan TRUE

Duplexed backups TRUE

Java TRUE

OLAP Window Functions TRUE

PARAMETER VALUE

---------------------------------------- ---------------------------------------

Block Media Recovery TRUE

Fine-grained Auditing TRUE

Application Role TRUE

Enterprise User Security TRUE

Oracle Data Guard TRUE

Oracle Label Security FALSE

OLAP TRUE

Table compression TRUE

Join index TRUE

Trial Recovery TRUE

Data Mining TRUE

PARAMETER VALUE

---------------------------------------- ---------------------------------------

Online Redefinition TRUE

Streams Capture TRUE

File Mapping TRUE

Block Change Tracking TRUE

Flashback Table TRUE

Flashback Database TRUE

Data Mining Scoring Engine FALSE

Transparent Data Encryption TRUE

Backup Encryption TRUE

Unused Block Compression TRUE

54 rows selected.

SQL> select comp_id,comp_name,version,status from dba_registry;

COMP_ID COMP_NAME VERSION STATUS

---------- ---------------------------------------- --------------- ------------

CATALOG Oracle Database Catalog Views 10.2.0.1.0 VALID

CATPROC Oracle Database Packages and Types 10.2.0.1.0 VALID

OWM Oracle Workspace Manager 10.2.0.1.0 VALID

JAVAVM JServer JAVA Virtual Machine 10.2.0.1.0 VALID

XML Oracle XDK 10.2.0.1.0 VALID

CATJAVA Oracle Database Java Packages 10.2.0.1.0 VALID

EXF Oracle Expression Filter 10.2.0.1.0 VALID

ODM Oracle Data Mining 10.2.0.1.0 VALID

CONTEXT Oracle Text 10.2.0.1.0 VALID

XDB Oracle XML Database 10.2.0.1.0 VALID

RUL Oracle Rules Manager 10.2.0.1.0 VALID

ORDIM Oracle interMedia 10.2.0.1.0 VALID

APS OLAP Analytic Workspace 10.2.0.1.0 VALID

XOQ Oracle OLAP API 10.2.0.1.0 VALID

AMD OLAP Catalog 10.2.0.1.0 VALID

SDO Spatial 10.2.0.1.0 VALID

EM Oracle Enterprise Manager 10.2.0.1.0 VALID

17 rows selected.

-------------------------------------------------------------------------------------------------------

Blog http://blog.youkuaiyun.com/tianlesoftware

Email: dvd.dba@gmail.com

DBA1 群:62697716(); DBA2 群:62697977() DBA3 群:62697850()

DBA 超级群:63306533(); DBA4 群: 83829929 DBA5群: 142216823

DBA6 群:158654907 聊天 群:40132017 聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

pipeline { agent any environment { // 基础配置(无依赖) GIT_CREDENTIALS_ID = '8a4ae488-3594-46b1-b203-46b7b99f2430' GIT_REPO_URL = 'git@192.168.17.17:root/ruoyi-cloud.git' GIT_BRANCH = 'master' MAVEN_CMD = 'mvn clean package -Dmaven.test.skip=true' DOCKER_REGISTRY = 'harbor.test.com' DOCKER_CREDENTIALS_ID = 'docker-registry-credentials' IMAGE_NAME = 'ruoyi' DOCKER_PWD = 'Harbor12345' DOCKER_USER = 'admin' // 初始化默认值,避免空值报错 IMAGE_TAG = 'unknown' // 增:存储手动获取的 Git 提交哈希 GIT_COMMIT_MANUAL = '' // 明确 Dockerfile 路径文件名(使用相对路径) DOCKERFILE_DIR = "${WORKSPACE}/docker/ruoyi/modules/system" DOCKERFILE_NAME = 'dockerfile' // 小写文件名,实际一致 } stages { stage('拉取代码') { steps { echo "开始拉取 Git 分支:${GIT_BRANCH}" git( credentialsId: GIT_CREDENTIALS_ID, url: GIT_REPO_URL, branch: GIT_BRANCH, changelog: false, poll: false ) echo "代码拉取完成,工作目录:${pwd()}" // 手动获取 Git 提交哈希 script { echo "手动获取 Git 提交哈希..." GIT_COMMIT_MANUAL = sh( script: 'git rev-parse HEAD', returnStdout: true ).trim() if (GIT_COMMIT_MANUAL && GIT_COMMIT_MANUAL.length() == 40) { echo "✅ 手动获取 Git 提交哈希成功:${GIT_COMMIT_MANUAL}" IMAGE_TAG = "${BUILD_NUMBER}-${GIT_COMMIT_MANUAL.substring(0,8)}" echo "✅ 生成镜像标签:${IMAGE_TAG}" } else { error("❌ 手动获取 Git 提交哈希失败,获取到的值:${GIT_COMMIT_MANUAL}") } } } post { failure { echo "ERROR:拉代码阶段失败!排查步骤:" echo "1. 验证 SSH 免密:ssh -T git@192.168.17.17(Jenkins 节点执行)" echo "2. 测试仓库克隆:git clone ${GIT_REPO_URL}(节点手动测试)" } success { echo "✅ 拉代码阶段完全成功" echo "Git 提交短哈希:${GIT_COMMIT_MANUAL.substring(0,8)} | 镜像标签:${IMAGE_TAG}" } } } stage('编译打包') { when { expression { currentBuild.currentResult == 'SUCCESS' && IMAGE_TAG != 'unknown' } } steps { echo "开始 Maven 打包(命令:${MAVEN_CMD})" sh "${MAVEN_CMD} -e -U" // 验证 jar 包存在性(使用相对路径) sh """ JAR_PATH="${WORKSPACE}/docker/ruoyi/modules/system/jar/ruoyi-modules-system.jar" if [ -f "\${JAR_PATH}" ]; then echo "✅ jar 包存在:\${JAR_PATH}(大小:\$(du -sh \${JAR_PATH} | awk '{print \$1}'))" else echo "❌ 未找到 jar 包:\${JAR_PATH}" exit 1 fi """ } post { success { echo "✅ 编译打包成功,归档 jar 包" archiveArtifacts( artifacts: '**/jar/*.jar', fingerprint: true, onlyIfSuccessful: true ) } failure { echo "ERROR:打包失败!排查方向:" echo "1. JDK 版本:java -version(需 JDK 8/11)" echo "2. Maven 镜像:检查 ~/.m2/settings.xml 是否配置阿里云" } } } stage('构建Docker镜像') { when { expression { currentBuild.currentResult == 'SUCCESS' && IMAGE_TAG != 'unknown' } } steps { echo "开始构建镜像:${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" // 1. 先验证 Dockerfile 存在性 sh """ DOCKERFILE_FULL_PATH="${DOCKERFILE_DIR}/${DOCKERFILE_NAME}" if [ -f "\${DOCKERFILE_FULL_PATH}" ]; then echo "✅ 找到 Dockerfile:\${DOCKERFILE_FULL_PATH}" else echo "❌ 未找到 Dockerfile:\${DOCKERFILE_FULL_PATH}" exit 1 fi """ // 2. 构建镜像 sh """ # 进入 Dockerfile 所在目录 cd ${DOCKERFILE_DIR} # 用 -f 指定小写的 dockerfile 文件 docker build -t ${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} -f ${DOCKERFILE_NAME} . docker tag ${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest """ // 3. 验证镜像是否构建成功 sh """ if docker images | grep ${IMAGE_NAME} | grep ${IMAGE_TAG}; then echo "✅ 镜像构建成功" else echo "❌ 镜像构建失败" exit 1 fi """ } post { failure { echo "ERROR:镜像构建失败!排查方向:" echo "1. Docker 权限:sudo usermod -aG docker jenkins(授权后重启 Jenkins)" echo "2. Dockerfile 语法:cd ${DOCKERFILE_DIR} && docker build -t test -f ${DOCKERFILE_NAME} .(手动测试)" echo "3. 构建上下文:确保 Dockerfile 中 COPY 的文件在 ${DOCKERFILE_DIR} 目录下" } } } stage('推送Docker镜像到Harbor') { when { expression { currentBuild.currentResult == 'SUCCESS' && IMAGE_TAG != 'unknown' } } steps { echo "推送镜像到Harbor仓库:${DOCKER_REGISTRY}/${IMAGE_NAME}" // 登录Harbor仓库 withCredentials([usernamePassword( credentialsId: DOCKER_CREDENTIALS_ID, passwordVariable: 'DOCKER_PWD', usernameVariable: 'DOCKER_USER' )]) { sh """ # 检查仓库连通性 if ! curl -sSf "${DOCKER_REGISTRY}/v2/" > /dev/null; then echo "❌ 无法连接到Harbor仓库:${DOCKER_REGISTRY}" exit 1 fi # 登录操作 echo "登录Harbor仓库..." docker login -u ${DOCKER_USER} -p ${DOCKER_PWD} ${DOCKER_REGISTRY} || { echo "❌ 登录失败,请检查凭证" exit 1 } """ } // 推送镜像 sh """ echo "开始推送版本镜像: ${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" docker push ${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} || { echo '❌ 版本镜像推送失败' exit 1 } echo "开始推送latest镜像: ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest" docker push ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest || { echo '❌ latest镜像推送失败' exit 1 } """ // 登出仓库 sh "docker logout ${DOCKER_REGISTRY}" } post { success { echo "✅ 镜像推送成功!" echo "版本镜像地址:${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" echo "Latest镜像地址:${DOCKER_REGISTRY}/${IMAGE_NAME}:latest" } failure { echo "ERROR:镜像推送失败!排查方向:" echo "1. 检查Harbor项目是否存在:${DOCKER_REGISTRY}" echo "2. 确认镜像名格式正确:应该包含项目名,如 project/image-name" echo "3. 检查用户是否有该项目的推送权限" echo "4. 非HTTPS配置:在Docker守护进程添加insecure-registries" } } } stage('清理本地资源') { when { expression { currentBuild.currentResult == 'SUCCESS' } } steps { echo "清理本地镜像" sh """ # 强制删除镜像,确保清理成功 docker rmi -f ${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} || true docker rmi -f ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest || true """ echo "✅ 清理完成" } } } post { always { echo "======================================" echo "构建总结:" echo "构建编号:${BUILD_NUMBER}" echo "构建结果:${currentBuild.currentResult}" echo "构建耗时:${currentBuild.durationString}" echo "镜像标签:${IMAGE_TAG}" echo "======================================" } aborted { echo "⚠️ 构建被中止,执行必要的清理工作" sh """ docker rmi -f ${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} || true docker rmi -f ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest || true """ } } } 优化
最新发布
10-01
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值